MCP本地: aws_docs e 地形改造
此项目在本地启动两个 MCP 服务器,并允许在 ChatGPT 中使用它们(通过 吸烟)或其他MCP客户端(Claude,Copilot等)。 服务 :
aws_docsterraform
ChatGPT需要一个公共隧道(ChatGPT无法访问localhost)。我们将使用 吸烟对于其他本地MCP客户,您可以使用localhost并评论ngrok服务docker-compose如果你喜欢。
先决条件
- Docker/Docker编写
- 在ngrok免费帐户获得一个 authtoken (在档案中设定)
.env). - 不要提交您的令牌。
上传服务
docker compose up -d检测公共 URL( ngrok v3)
选项 A — ngrok CLI(推荐)
列出活动的代理端点 :
docker exec -it ngrok ngrok api endpoints list选项 B - Dashboard
访问 : https://dashboard.ngrok.com/endpoints
(可选) 本地代理 API
如果您暴露了本地 API(端口 4040),则可以查询:
curl http://localhost:4040/api/tunnels答案示例(主要字段):
{
"tunnels": [
{
"name": "aws_docs_http",
"public_url": "https://4bb9e46862ef.ngrok-free.app",
"config": { "addr": "http://aws_docs:8000" }
},
{
"name": "terraform_mcp",
"public_url": "https://3c8de3f94a95.ngrok-free.app",
"config": { "addr": "http://terraform_mcp:8080" }
}
]
}测试公共端点
测试 URL ngrok-free.app 毛发 curl添加以下标题以避免浏览器警告:
curl -H "ngrok-skip-browser-warning: 1" https://SEU-SUBDOMINIO.ngrok-free.app/health -v使用-H(大写) 和 没有-h根据服务,健康路径可能会有所不同;使用您的服务的任何有效路线。
配置无ChatGPT(MCP连接器)
地形改造
- URL(ChatGPT):
https://3c8de3f94a95.ngrok-free.app/mcp - URL(其他本地 MCP 客户端):
http://localhost:8080/mcp
aws_docs
- URL(ChatGPT):
https://4bb9e46862ef.ngrok-free.app/sse - URL(其他本地 MCP 客户端):
http://localhost:8000/sse
Testando Chat com作为工具:
登录聊天并启用这两个工具,然后在下面输入提示符:
use as ferramentas aws_docs e terraform para criar um maquina ec2 com bastion hostterraform生成的结果: recursos_criados_em_terraform.png
注释
- 变量
.env包括NGROK_AUTHTOKEN和固定端点的可选域。 - 如果您使用免费计划,请骑 只有一个代理人 ngrok 每个令牌,并从上传多个端点 单一 特工。
GitPilot (GitHub Copilot) — MCP 配置
O副驾驶(VS代码)支持MCP端口 工作室, HTTP流 e 上海证券交易所 (传承)。要使用我们的ngrok暴露的服务器,请创建一个文件 mcp.json 不 escopo do工作区 (.vscode/mcp.json)你不 用户范围 (~/.mcp.json). (Visual Studio Code)
将文件放在哪里
- 工作区: 尖叫
.vscode/mcp.json项目内部(有助于与团队共享)。 (Visual Studio Code) - 用户( 全局): 打开命令 “MCP:打开用户配置” 药膏
mcp.json没有seu perfil。 (Visual Studio Code)
文件结构
哦 mcp.json 有部分 "servers" (必填)和 "inputs" (可选,保密)。通过 HTTP/SSE 使用远程服务器 "type": "http" 或 "type": "sse" 右乘 "url" 做终点。 (Visual Studio Code)
示例(使用您的 ngrok 公共端点)
替换您当前的 ngrok 域 。aws_docs美国 上海证券交易所 (超级网关)/sse),terraform美国 超文本传输协议 默认在/mcp.
{
"servers": {
"aws-docs": {
"type": "sse",
"url": "https://SEU-SUBDOMINIO-AWSDOCS.ngrok-free.app/sse"
},
"terraform-mcp": {
"type": "http",
"url": "https://SEU-SUBDOMINIO-TERRAFORM.ngrok-free.app/mcp"
}
}
}提示:你也可以把 头 (例如: auth) 在 HTTP/SSE 服务器上 "headers"e 输入 在运行时请求 API 密钥(不对文件加密)。 (Visual Studio Code)本地示例( 不含食物)
如果您正在本地运行(Copilot访问) localhost)可以直接指出:
{
"servers": {
"aws-docs-local": {
"type": "sse",
"url": "http://localhost:8000/sse"
},
"terraform-mcp-local": {
"type": "http",
"url": "http://localhost:8080/mcp"
}
}
}如何在 VS Code 中添加/管理
- 使用 命令面板 →
MCP: Add Server创建/编辑mcp.json自动;或手动编辑.vscode/mcp.json/~/.mcp.json. (Visual Studio Code) - O VS代码 超文本传输协议 并且 SSE备用 适用时。如果你想强制,设置
"type"明确如上所述。 (Visual Studio Code)
参考文献:
- https://github.com/modelcontextprotocol/servers?tab=readme-ov文件
- https://github.com/hashicorp/terraform-mcp-server
- https://github.com/awslabs/mcp
- https://ngrok.com/docs/getting-started/
- https://ngrok.com/docs/guides/device-gateway/linux/
- https://ngrok.com/docs/using-ngrok-with/docker/
- https://ngrok.com/docs/guides/ssh-rdp/
- https://aws.amazon.com/pt/blogs/aws-brasil/apresentando-o-aws-serverless-mcp-server-desenvolvimento-baseado-em-ia-para-aplicativos-modernos/
- https://gallery.ecr.aws/awslabs-mcp/awslabs/core-mcp-server
-
