锅炉板MCP
此存储库遵循教程 这里
- 从零到英雄 - 此存储库 - 开发工具 - FastMCP - MCP检查员 - 邮递员 - MCP服务器 - 有状态VS无状态 - 运输选项 - 运行服务器 - MCP客户端 - 运行客户端
从零到英雄
有很多资源可以教你MCP。 我发现这通常是一个概述,因此太简单了。
不管怎样,当你开始学习这个新东西时,它们都很棒。
因此,我向您推荐这一系列YouTube视频供您观看。
- MCP在26分钟内(模型上下文协议):https://www.youtube.com/watch?v=kOhLoixrJXo
- 你需要马上学习MCP!!(模型上下文协议):https://www.youtube.com/watch?v=GuTcle5edjk
他们从概述/一般用途到开发(某种氛围编码级别)谈论MCP。
现在,当涉及到实际开发MCP服务器时,您需要自己阅读文档。 唯一适合这样做的地方是这里:https://modelcontextprotocol.io
此存储库
此存储库是开发MCP服务器的样板/模板。 它提供
- 学习MCP的资源/步骤
- 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
