MCP服务器开发模板

提供MCP服务器开发的样板模板和开发环境设置,支持快速构建MCP服务器。

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

使用说明

锅炉板MCP

此存储库遵循教程 这里

从零到英雄

有很多资源可以教你MCP。 我发现这通常是一个概述,因此太简单了。

不管怎样,当你开始学习这个新东西时,它们都很棒。

因此,我向您推荐这一系列YouTube视频供您观看。

  1. MCP在26分钟内(模型上下文协议):https://www.youtube.com/watch?v=kOhLoixrJXo
  2. 你需要马上学习MCP!!(模型上下文协议):https://www.youtube.com/watch?v=GuTcle5edjk

他们从概述/一般用途到开发(某种氛围编码级别)谈论MCP。

现在,当涉及到实际开发MCP服务器时,您需要自己阅读文档。 唯一适合这样做的地方是这里:https://modelcontextprotocol.io

此存储库

此存储库是开发MCP服务器的样板/模板。 它提供

  1. 学习MCP的资源/步骤
  2. MCP服务器开发的开发容器/环境设置

开发工具

FastMCP

链接

MCP 这是一个协议。 FastMCP 是一个帮助您快速构建MCP服务器的框架,这似乎不是 MCP SDK 并建立在以下理念之上 FastAPI.

如果你知道 FastAPI, FastMCP 与它非常相似。

MCP检查员

链接

MCP检查器类似于MCP协议的邮递员。 它通过 npx. 此存储库创建 task. 你可以产卵 MCP Inspector 使用 cmd+换档+P 发现, Tasks: Run Task,然后选择 RUN MCP Inspector.

然后你可以导航到http://localhost:6274到达 MCP Inspect UI。

您还不能做任何事情,您必须先运行MCP服务器。

邮递员

是的,Postman也支持MCP。 该功能在登录后被锁定。 您必须先登录。

在撰写本文之际,邮递员似乎与 MCP Inspector.

MCP服务器

链接

首先,学习MCP服务器的术语。

  • 资源:通过资源公开数据(想想这些类似GET端点的东西;它们用于将信息加载到LLM的上下文中)
  • 工具:通过工具提供功能(有点像POST端点;它们用于执行代码或产生副作用)
  • 提示:通过Prompts(LLM交互的可重用模板)定义交互模式

有状态VS无状态

链接

在决定选择MCP服务器在生产环境中的运行方式之前,您应该做出的一个主要决定是 Horizontal Scaling. 您应该阅读手册,但简而言之,FastMCP是一个状态完整的框架。 但是,如果你想把它放在负载均衡器后面,它就不会起作用。(即使启用了粘性会话,因为LLM不使用cookie) 因此,强制您选择无状态设计。

您将失去两个MCP功能

运输选项

MCP server 有三种运输方式。 (1) 工作室 (2) 流式HTTP (3) SSE(已弃用)

此样板使用(2)Stream HTTP,因为我们打算将其作为生产就绪模板。

运行服务器

服务器将通过以下方式提供服务 uvicorn. 您可以使用vscode任务 RUN MCP Server 这将在0.0.0.0:8000生成uvicorn服务器。

然后,您可以将URL放入 MCP Inspector 作为 http://localhost:8080/mcp. 确保选择 Transportation Type 作为 Streamable HTTP 和 Connection Type 作为 Direct.

MCP客户端

链接

就像服务器的情况一样,客户端可以通过几种方式使用服务器。

# In-memory server (ideal for testing)
server = FastMCP("TestServer")
client = Client(server)

# HTTP server
client = Client("https://example.com/mcp")

# Local Python script
client = Client("my_mcp_server.py")

在这个存储库中,我们将只关注使用客户端连接HTTP MCP服务器。

运行客户端

客户端只是一个普通的python文件。 要运行它,只需使用 uv run python src/client/client.py