• Documentation
  • Pricing
© 2026 Serverless, Inc. All rights reserved.

Framework

  • Overview
  • Documentation
  • Plugins360
  • Pricing

Learn

  • Blog
  • GuidesUpdated
  • Examples240
  • Courses

Resources

  • Support
  • Security
  • Trust Center
  • Status

Community

  • Slack
  • GitHub47k
  • Forum
  • Meetups

Company

  • About
  • Careers
  • Contact
  • Partners

Legal

  • Terms of Service
  • Privacy Policy
  • Trademark
  • DMCA
Serverless Framework Logo

Serverless Framework

Intro
SetupUpgrading To V4ConceptsTutorialAWS CredentialsLicense Keys
DeployingPackagingBuildingTestingServicesFunctions
OverviewHTTP (API Gateway v2)REST (API Gateway v1)ActiveMQApplication Load BalancerAlexa SkillAlexa Smart HomeCloudWatch EventCloudWatch LogCloudFrontCognito User PoolEventBridge EventIoTIoT Fleet ProvisioningKafkaKinesis & DynamoDBMSKRabbitMQS3ScheduleSNSSQSWebsocket
LayersManaged InstancesAlertsVersion PruningDomainsIAM Function PermissionsParameters
OverviewSelf-reference serverless.ymlServerless CoreEnvironment VariablesCLI OptionsExternal YAML/JSON FilesJavascript propertiesGitDoppler
OverviewS3 ObjectsSSM Parameter Store & Secrets ManagerCloudFormation Stack Outputs
OverviewVaultTerraform State Output
ResourcesComposing ServicesDeployment BucketStatePython support
OverviewRuntimeGatewayMemoryBrowserCode InterpreterDev Mode
API Gateway Proxy
OverviewGeneral ConfigurationAuthenticationAPI KeysData SourcesResolversPipeline FunctionsCachingDelta SyncCustom DomainWAFCLI Commands
Deploying SAM/CFN TemplatesWorkflow Tips
OverviewCreating PluginsCLI OutputCustom CommandsCustom VariablesExtending the Configuration schemaExtending and overriding configuration
OverviewDashboardAxiom
Overviewdeploydeploy functiondeploy listdevdiffinfoinvokeinvoke localloginlogin awslogin aws ssologsmetricspackageplugin installplugin uninstallprintprunereconcileremoverollbackrollback functionsupportusage
Overview
OverviewMetricsTracesTroubleshoot
OverviewNode.jsPython
OutputsProviders
OverviewBranch DeploymentsPreview DeploymentsCustom ScriptsTestingPrivate PackagesNotificationsMono ReposDeploy in your own CI/CDBest PracticesTroubleshootingFAQ
OverviewSetupToolsAWS Integration
Serverless.yml Reference
Examples and TutorialsConfiguration Validation
  1. MCP Server
  2. Setup

Setting Up the MCP Server

This guide provides instructions for setting up and running the Serverless MCP Server.

Basic Setup

Connecting a Host Application

The method for connecting a host application to the MCP Server depends on the specific host application you're using. Here are some common examples:

Cursor

Cursor supports the Model Context Protocol (MCP). You can connect using either stdio or SSE transport:

Option 1: Stdio Transport
  1. Open Cursor Settings > MCP

  2. Click "Add new global MCP server" and configure the Serverless MCP Server:

    {
      "mcpServers": {
        "serverless": {
          "command": "serverless",
          "args": ["mcp"]
        }
      }
    }
    
  3. Save the configuration and restart Cursor if needed

Option 2: SSE Transport
  1. Start the MCP server with SSE transport manually:

    serverless mcp --transport sse
    
  2. Open Cursor Settings > MCP

  3. Click "Add new global MCP server" and configure the Serverless MCP Server:

    {
      "mcpServers": {
        "serverless": {
          "url": "http://localhost:3001/sse"
        }
      }
    }
    

For more details, see the Cursor MCP documentation

Windsurf

Windsurf has built-in support for the Model Context Protocol. You can connect using either stdio or SSE transport:

Option 1: Stdio Transport
  1. Open Windsurf Settings > General

  2. Scroll to the Cascade section and click "Add Server"

  3. Click "Add custom server +" and configure the Serverless MCP Server:

    {
      "mcpServers": {
        "serverless": {
          "command": "serverless",
          "args": ["mcp"]
        }
      }
    }
    
  4. Save the configuration and restart Windsurf if needed

Option 2: SSE Transport
  1. Start the MCP server with SSE transport manually:

    serverless mcp --transport sse
    
  2. Open Windsurf Settings > General

  3. Scroll to the Cascade section and click "Add Server"

  4. Click "Add custom server +" and configure the Serverless MCP Server:

    {
      "mcpServers": {
        "serverless": {
          "url": "http://localhost:3001/sse"
        }
      }
    }
    
  5. Save the configuration and restart Windsurf if needed

For more details, see the Windsurf MCP documentation

Custom Integration

If you're building a custom integration, you can connect to the MCP Server using:

  • For HTTP/SSE transport: Connect to http://localhost:3001 (or your custom port)
  • For stdio transport: Use standard input/output streams for communication

Programmatic Integration

You can use the MCP Server with any MCP client, including the official MCP client library. Here's an example of how to connect to the server programmatically:

const { createClient } = require('@mcp/client')

// Create a client that connects to the server
const client = createClient({
  url: 'http://localhost:3001',
})

// Call the list-resources tool
client
  .callTool('list-resources', {
    serviceName: 'my-service',
    serviceType: 'serverless-framework',
  })
  .then((result) => {
    console.log('Resources:', result)
  })
  .catch((error) => {
    console.error('Error:', error)
  })

This approach allows you to integrate the MCP Server with your own applications and workflows.

Next Steps

Now that you have set up the MCP Server, you can start using it with your AI assistant. Check out the following resources:

  • Available Tools - Learn about the tools available in the MCP Server
  • AWS Integration - Configure AWS credentials for the MCP Server
Edit this page
Prev OverviewNextTools

Contents

  • Setting Up the MCP Server
  • Basic Setup
  • Connecting a Host Application
  • Cursor
  • Option 1: Stdio Transport
  • Option 2: SSE Transport
  • Windsurf
  • Option 1: Stdio Transport
  • Option 2: SSE Transport
  • Custom Integration
  • Programmatic Integration
  • Next Steps

Related

GuidesPluginsExamplesSlack CommunitySupport