MCP服务器部署模板

一个用于快速创建和部署自定义MCP服务器的模板,支持通过AI聊天创建工具、添加预构建开源MCP服务器以及多实例部署。

  • by ijayklein
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ijayklein/mcp-template

使用说明

MCP工具部署模板

用于快速创建和部署自己的MCP服务器的模板。它允许您:

  1. 只需与AI IDE聊天,即可快速创建完全自定义的MCP服务器。
  2. 从MCP市场将预构建的开源MCP服务器添加到您的项目中。
  3. 使用共享工具在单独的目录中创建多个MCP实例。

只需点击几下,此模板即可在铁路上一次性部署所有这些工具!

🚀 分步指南

先决条件

  • Python 3.12+
  • Git

步骤0:复制模板

通过单击页面右上角的“使用此模板”按钮复制此GitHub模板。

步骤1:创建虚拟环境

在游标、Windsur或VS代码中:

  1. 打开命令选项板:
    • 在Mac上: Cmd + Shift + P
    • 在Windows上: Ctrl + Shift + P
  2. 键入并选择: Python:选择解释器
  3. 点击: +创建虚拟环境
  4. 选择: Venv 的 作为环境类型

在终端:

python -m venv venv
source venv/bin/activate

第二步:创建你的工具

2.1只需与AI聊天即可创建自定义工具

提示您的AI IDE在聊天中为您创建工具。 确保包括 ./.cursor/rules/workflow.mdc 在上下文中。(默认情况下仅包含在游标中)。

例如:

Please create a tool that fetches the transcripts from a YouTube video. @workflow.mdc

回答澄清问题,并不断迭代,直到工具创建并按预期工作。

确保将任何请求的env变量添加到 ./.env 文件。

2.2添加预构建的开源Stdio MCP服务器

将其他预构建的开源Stdio MCP服务器添加到 mcp.json 文件,类似于Cursor和其他客户端。

{
  "mcpServers": {
    "notionapi": {
      "command": "npx",
      "args": [
        "-y",
        "@notionhq/notion-mcp-server"
      ],
      "env": {
        "OPENAPI_MCP_HEADERS": "{\"Authorization\":\"Bearer ntn_****\",\"Notion-Version\":\"2022-06-28\"}"
      }
    }
    # ... add more servers here
}

仅 Stdio 此方法支持服务器。此回购将自动将它们转换为SSE 超级通道.

您可以使用npx和uv来运行这些服务器。

2.3测试MCP服务器(可选)

运行以下命令以测试MCP服务器,并确保所有服务器都在运行。

python server/start_mcp.py

对于使用子目录端点进行测试:

python server/start_mcp.py --split-subdirs

您无法将本地服务器连接到Agencii,但可以通过将SSE URL添加到Cursor的“MCP服务器”选项卡来测试它们。

此步骤不是必需的。只要你的工具没有问题。

步骤3:多端点MCP服务器

此模板支持将多个工具目录作为单独的端点从单个Python服务器提供服务。

目录结构

按照惯例,我们建议对mcp实例目录使用“_mcp”后缀,但可以使用任何目录名:

tools/
├── SharedTool1.py         # Shared across all MCP instances
├── SharedTool2.py         # Shared across all MCP instances
├── marketing_mcp/         # Marketing MCP instance
│   ├── MarketingTool1.py
│   └── MarketingTool2.py
└── analytics_mcp/         # Analytics MCP instance
    ├── AnalyticsTool1.py
    └── AnalyticsTool2.py

运行特定MCP实例

要运行特定的MCP实例,请使用 MCP_TOOLS_DIR 环境变量:

# Run the marketing MCP instance
MCP_TOOLS_DIR="./tools/marketing_mcp" MCP_INSTANCE_NAME="marketing-mcp" python server/start_mcp.py

# Run the analytics MCP instance
MCP_TOOLS_DIR="./tools/analytics_mcp" MCP_INSTANCE_NAME="analytics-mcp" python server/start_mcp.py

这将加载指定目录中的所有工具以及父工具目录中的全部工具。

服务器模式

单目录模式(默认):

python server/start_mcp.py

根端点只提供给定目录中的工具 /sse.

组合目录模式(默认):

python server/start_mcp.py --include-subdir

父目录、子目录和mcp配置文件中的所有工具都将部署在根端点 /sse.

多端点模式:

python server/start_mcp.py --split-subdirs

每个子目录都有自己的端点:

  • 根工具: /sse
  • 营销工具: /marketing_mcp/sse
  • 分析工具: /analytics_mcp/sse
  • MCP配置工具: /example-mcp-server/sse

配置选项

  • MCP_TOOLS_DIR:工具目录的路径(默认:“./tools”)
  • MCP_HOST:将服务器绑定到的主机(默认值:“0.0.0.0”)
  • MCP_PORT:运行服务器的端口(默认值:8080)
  • MCP_INSTANCE_NAME:日志记录的实例名称(默认:“mcp-server”)
  • MCP_CONFIG_PATH:stdio mcp服务器的mcp配置文件路径(可选)
  • MCP_INCLUDE_SUBDIRS:在根端点中包含所有子目录工具(默认值:false)
  • MCP_SPLIT_SUBDIRS:为子目录创建单独的端点(默认值:false)

重要提示: 当 MCP_INCLUDE_SUBDIRS=true,子目录中的所有工具都加载到根目录中 /sse 端点位于基础工具旁边。这将创建一个包含所有工具的单一端点。

这些也可以设置为命令行参数(配置路径除外):

python server/start_mcp.py --tools-dir ./tools/marketing --port 8001 --name marketing-mcp

步骤4:部署到生产环境

  1. 访问 railway.com.
  2. 创建一个新项目,然后从GitHub中选择Deploy。
  3. 连接并选择您在步骤1中创建的GitHub存储库。
  4. 设置所需的环境变量(请参阅.env.example文件)。如果你打算更改应用程序的端口,请确保相应地调整Dockerfile。
  5. 单击部署。

要部署多个MCP实例,请在Railway中创建多个服务,每个服务都有不同的环境变量。

如果出现问题,您可以通过单击最新部署,然后单击“日志”选项卡来检查铁路日志。

此模板将使您的服务器保持低温,因此您在不使用它们时无需支付任何费用!

步骤5:复制铁路部署URL

  1. 前往“设置”>“网络”
  2. 点击“生成域名”
  3. 复制生成的URL。

在单端点模式(默认)下:

  • 仅限根工具: https://<railway-domain>/sse

在单端点模式下 MCP_INCLUDE_SUBDIRS=true:

  • 所有工具(根目录+子目录): https://<railway-domain>/sse

在多端点模式下(带 MCP_SPLIT_SUBDIRS=true):

  • 根工具: https://<railway-domain>/sse
  • 子目录工具: https://<railway-domain>/<subdir-name>/sse

来自的其他MCP服务器 mcp.json 文件可在以下位置访问:

https://<railway-domain>/notionapi/sse
https://<railway-domain>/example-mcp-server/sse

步骤6:将MCP服务器连接到Agencii

  1. 导航至 Agencii工具页面.
  2. 点击“新建工具”
  3. 选择“MCP”
  4. 输入MCP服务器的URL
  5. 点击“同步工具”
  6. 点击“保存”
  7. 将您的工具添加到代理。

我们建议再次复制此模板,并对每个新项目/客户重复此过程。


快乐建筑! 🚀