使用说明
MCP服务器
[!提示] 使用以下命令部署此项目 基于GUI的流程,导航到 控制台
- A. 模型上下文协议(MCP) 用于AI代理和LLM的服务器。
- 在中无服务器运行 AWS Lambda 随着 Lambda URL 以及响应流 启用。只为您收到的请求付费。
- 使用 可流式HTTP传输 为了与任何MCP客户端兼容。
- 此项目包括一个预配置的 stacktape.yml配置. 配置的基础设施在 堆栈描述部分
先决条件
Install on Windows (Powershell)
iwr https://installs.stacktape.com/windows.ps1 -useb | iex
Install on Linux
curl -L https://installs.stacktape.com/linux.sh | sh
Install on MacOS
curl -L https://installs.stacktape.com/macos.sh | sh
Install on MacOS ARM (Apple silicon)
curl -L https://installs.stacktape.com/macos-arm.sh | sh
1.生成您的项目
要初始化项目,请使用
stacktape init --starterId mcp-server
2.部署您的堆栈
部署大约需要5-15分钟。后续部署将大大加快。
Deploy from local machine
从本地计算机部署将从您的系统构建和部署应用程序。这意味着您还需要:
- Docker。要在您的系统上安装Docker,您可以按照以下步骤操作 本指南.-已安装Node.js。
要执行部署,请使用以下命令:
stacktape deploy --projectName <<project-name>> --stage <<stage>> --region <<region>>
stage 是环境的任意名称(例如 暂存, 生产 或 德夫约翰)
region 是AWS区域,您的堆栈将部署到该区域。下面列出了所有可用区域。
projectName 是您项目的名称。您可以在控制台中创建它,也可以使用CLI以交互方式创建它。
| 区域名称和位置 | 代码 |
|---|---|
| 欧洲(爱尔兰) | 东西1 |
| 欧洲(伦敦) | 东西2 |
| 欧洲(法兰克福) | 欧洲中心-1 |
| 欧洲(米兰) | 东南1 |
| 欧洲(巴黎) | 东西3 |
| 欧洲(斯德哥尔摩) | |
| 美国东部(俄亥俄州) | 美国东部-2 |
| 美国东部(北弗吉尼亚州) | 美国东部-1 |
| 美国西部(北加州) | 美国西部-1 |
| 美国西部(俄勒冈州) | 美国西部-2 |
| 加拿大(中部) | ca-Central-1 |
| 非洲(开普敦) | |
| 亚太地区(香港) | ap-east-1 |
| 亚太地区(孟买) | ap-south-1 |
| 亚太地区(大阪本地) | ap-northeast-3 |
| 亚太(首尔) | 亚太东北2 |
| 亚太地区(新加坡) | ap-southeast-1 |
| 亚太地区(悉尼) | ap-southeast-2 |
| 亚太地区(东京) | ap-northeast-1 |
| 中国(北京) | cn-north-1 |
| 中国(宁夏) | 西北1号 |
| 中东(巴林) | 中东-1 |
| 南美洲(圣保罗) | 东部-1 |
Deploy using AWS CodeBuild pipeline
使用AWS CodeBuild进行部署将在内部构建和部署您的应用程序 AWS CodeBuild管道。要执行部署,请使用
stacktape codebuild:deploy --stage <<stage>> --region <<region>> --projectName <<project-name>>
stage 是环境的任意名称(例如 暂存, 生产 或 德夫约翰)
region 是AWS区域,您的堆栈将部署到该区域。下面列出了所有可用区域。
projectName 是您项目的名称。您可以在控制台中创建它,也可以使用CLI以交互方式创建它。
| 区域名称和位置 | 代码 |
|---|---|
| 欧洲(爱尔兰) | 东西1 |
| 欧洲(伦敦) | 东西2 |
| 欧洲(法兰克福) | 欧洲中心-1 |
| 欧洲(米兰) | 东南1 |
| 欧洲(巴黎) | 东西3 |
| 欧洲(斯德哥尔摩) | |
| 美国东部(俄亥俄州) | 美国东部-2 |
| 美国东部(北弗吉尼亚州) | 美国东部-1 |
| 美国西部(北加州) | 美国西部-1 |
| 美国西部(俄勒冈州) | 美国西部-2 |
| 加拿大(中部) | ca-Central-1 |
| 非洲(开普敦) | |
| 亚太地区(香港) | ap-east-1 |
| 亚太地区(孟买) | ap-south-1 |
| 亚太地区(大阪本地) | ap-northeast-3 |
| 亚太(首尔) | 亚太东北2 |
| 亚太地区(新加坡) | ap-southeast-1 |
| 亚太地区(悉尼) | ap-southeast-2 |
| 亚太地区(东京) | ap-northeast-1 |
| 中国(北京) | cn-north-1 |
| 中国(宁夏) | 西北1号 |
| 中东(巴林) | 中东-1 |
| 南美洲(圣保罗) | 东部-1 |
Deploy using Github actions CI/CD pipeline
- 如果您没有,请在以下位置创建一个新的存储库https://github.com/new
- 创建Github存储库机密:https://docs.stacktape.com/user-guides/ci-cd/#2-创建github存储库机密
- 替换
<<stage>>和<<region>>在.github/works/deploy.yml文件中。 git init --initial-branch=maingit add .git commit -m "setup stacktape project"git remote add origin git@github.com:<<namespace-name>>/<<repo-name>>.gitgit push -u origin main- 要监视部署进度,请导航到您的github项目并选择Actions选项卡
stage 是环境的任意名称(例如 暂存, 生产 或 德夫约翰)
region 是AWS区域,您的堆栈将部署到该区域。下面列出了所有可用区域。
projectName 是您项目的名称。您可以在控制台中创建它,也可以使用CLI以交互方式创建它。
| 区域名称和位置 | 代码 |
|---|---|
| 欧洲(爱尔兰) | 东西1 |
| 欧洲(伦敦) | 东西2 |
| 欧洲(法兰克福) | 欧洲中心-1 |
| 欧洲(米兰) | 东南1 |
| 欧洲(巴黎) | 东西3 |
| 欧洲(斯德哥尔摩) | |
| 美国东部(俄亥俄州) | 美国东部-2 |
| 美国东部(北弗吉尼亚州) | 美国东部-1 |
| 美国西部(北加州) | 美国西部-1 |
| 美国西部(俄勒冈州) | 美国西部-2 |
| 加拿大(中部) | ca-Central-1 |
| 非洲(开普敦) | |
| 亚太地区(香港) | ap-east-1 |
| 亚太地区(孟买) | ap-south-1 |
| 亚太地区(大阪本地) | ap-northeast-3 |
| 亚太(首尔) | 亚太东北2 |
| 亚太地区(新加坡) | ap-southeast-1 |
| 亚太地区(悉尼) | ap-southeast-2 |
| 亚太地区(东京) | ap-northeast-1 |
| 中国(北京) | cn-north-1 |
| 中国(宁夏) | 西北1号 |
| 中东(巴林) | 中东-1 |
| 南美洲(圣保罗) | 东部-1 |
Deploy using Gitlab CI pipeline
- 如果您没有,请在以下位置创建一个新的存储库https://gitlab.com/projects/new
- 创建Gitlab存储库机密:https://docs.stacktape.com/user-guides/ci-cd/#2-创建gitlab存储库机密
- 替换
<<stage>>和<<region>>在.gitlab-ci.yml文件中。 git init --initial-branch=maingit add .git commit -m "setup stacktape project"git remote add origin git@gitlab.com:<<namespace-name>>/<<repo-name>>.gitgit push -u origin mainTo monitor the deployment progress, navigate to your gitlab project and select CI/CD->jobs
stage 是环境的任意名称(例如 暂存, 生产 或 德夫约翰)
region 是AWS区域,您的堆栈将部署到该区域。下面列出了所有可用区域。
projectName 是您项目的名称。您可以在控制台中创建它,也可以使用CLI以交互方式创建它。
| 区域名称和位置 | 代码 |
|---|---|
| 欧洲(爱尔兰) | 东西1 |
| 欧洲(伦敦) | 东西2 |
| 欧洲(法兰克福) | 欧洲中心-1 |
| 欧洲(米兰) | 东南1 |
| 欧洲(巴黎) | 东西3 |
| 欧洲(斯德哥尔摩) | |
| 美国东部(俄亥俄州) | 美国东部-2 |
| 美国东部(北弗吉尼亚州) | 美国东部-1 |
| 美国西部(北加州) | 美国西部-1 |
| 美国西部(俄勒冈州) | 美国西部-2 |
| 加拿大(中部) | ca-Central-1 |
| 非洲(开普敦) | |
| 亚太地区(香港) | ap-east-1 |
| 亚太地区(孟买) | ap-south-1 |
| 亚太地区(大阪本地) | ap-northeast-3 |
| 亚太(首尔) | 亚太东北2 |
| 亚太地区(新加坡) | ap-southeast-1 |
| 亚太地区(悉尼) | ap-southeast-2 |
| 亚太地区(东京) | ap-northeast-1 |
| 中国(北京) | cn-north-1 |
| 中国(宁夏) | 西北1号 |
| 中东(巴林) | 中东-1 |
| 南美洲(圣保罗) | 东部-1 |
3.测试您的应用程序
成功部署后,有关堆栈的一些信息将打印到终端(网址 已部署服务的链接 日志, 指标等等)。
-
这 MCP服务器URL 部署后打印到终端。通过指向以下位置连接任何兼容MCP的客户端 URL与
/mcp路径附加。 -
克劳德桌面版 --添加到
claude_desktop_config.json:
{
"mcpServers": {
"my-mcp-server": {
"type": "streamableHttp",
"url": "<MCP_SERVER_URL>/mcp"
}
}
}
-
光标 --使用URL添加到MCP设置
<MCP_SERVER_URL>/mcp. -
卷曲快速测试:
curl -X POST <MCP_SERVER_URL>/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}}}'
4.在开发模式下运行应用程序
要在开发模式下运行函数(在AWS上远程运行),您可以使用
dev命令例如,开发和调试lambda函数 mcpServer,您可以使用
stacktape dev --region <<your-region>> --stage <<stage>> --resourceName mcpServer
该命令将:
- 快速重新构建和重新部署新的功能代码
- 注意功能日志并将其漂亮地打印到终端
当您执行以下任一操作时,该功能将被重建和重新部署:
- 类型
rs + enter到终端 - 使用
--watch选项和其中一个源代码文件发生更改
5.热插拔部署
-
Stacktape部署使用 AWS云形成 引擎盖下。它 带来了很多保证和便利,但对于某些用例来说可能很慢。
-
为了加快部署速度,您可以使用
--hotSwap避免使用Cloudformation的标志。 -
热交换部署仅适用于源代码更改(用于lambda函数、容器和批处理作业)以及将内容上传到bucket。
-
如果更新部署不可热插拔,Stacktape将自动回退到使用Cloudformation部署。
stacktape deploy --hotSwap --stage <<stage>> --region <<region>> --projectName <<project-name>>
6.删除您的堆栈
- 如果你不想再使用你的堆栈,你可以删除它。
- Stacktape将自动删除与堆栈关联的每个基础设施资源和部署工件。
stacktape delete --stage <<stage>> --region <<region>>
堆栈描述
Stacktape使用了一个简单的 stacktape.yml 描述基础设施资源、打包、部署的配置文件
管道和项目的其他方面。
您可以将项目部署到多个环境(阶段)-
例子 production, staging 或 dev-john堆栈是项目的运行实例。它由您的应用程序组成
代码(如果有的话)和运行它所需的基础设施资源。
此项目的配置如下所述。
1.资源
- 每个资源都必须有一个任意的字母数字名称(A-z0-9)。
- Stacktape资源由多个底层AWS或第三方资源组成。
1.1 MCP服务器功能
MCP服务器在Lambda函数中运行 Lambda URL 这已经 响应流 启用这允许服务器实时将服务器发送事件(SSE)流式传输回MCP客户端,这对 可流式HTTP传输。
- 记忆 设置为1024 MB以用于响应工具执行。
- 超时 设置为60秒,以适应更长时间的运行工具调用。
- 跨域资源共享 完全开放,便于客户端集成。
mcpServer:
type: function
properties:
packaging:
type: stacktape-lambda-buildpack
properties:
entryfilePath: ./src/index.ts
memory: 1024
timeout: 60
url:
enabled: true
responseStreamEnabled: true
cors:
allowedOrigins:
- "*"
allowedMethods:
- "*"
allowedHeaders:
- "*"
1.2 CDN(可选)
您可以附上 内容分发网络 在用于缓存的Lambda URL前面,自定义
域和边缘TLS终止。向添加CDN资源 stacktape.yml 并将其原点指向Lambda URL。
1.3注册MCP工具
启动器包括演示MCP协议的示例工具:
- 获取当前时间 --返回当前UTC时间戳。
- 计算 --计算数学表达式。
- 服务器信息 --公开服务器元数据的MCP资源。
在中添加您自己的工具、资源和提示 src/index.ts 使用 server.registerTool() /
server.registerResource() / server.registerPrompt() API