短答来构建一个MCP服务器:安装一个官方的MCP SDK,用打出输入来宣布工具,可选地曝光资源和提示,运行服务器于stdio或HTTP之上,然后连接一个像克洛德这样的MCP客户端并测试.
一个最小的 Python 服务器大约是十行;工作是选择什么来曝光和验证每一个输入.
这是建筑。
对于MCP是什么,它的三个原始的,以及它与API的区别,从什么是"模型背景协议"开始——本页假设了这一点,直接转到代码.
先决条件 要让服务器在本地运行, 您不需要什么 : 具有官方 SDK 语言 。
Python和TypeScript最成熟;其他语言也执行同样的协议.
本指南使用Python SDK(人们所寻找的次要路径),并附有TypeScript SDK等同位置的注释.
Python 3.10或更新型和UV(被推荐)或用于管理环境.
一个MCP客户端可以测试对抗——克洛德桌面,或者使用SDK进行飞船的MCP检查员.
您不需要云证书来构建或运行服务器本身 。
在概念上,服务器会暴露出三件事——工具(可调用的模型函数),资源(可读数据)和提示(可重复使用的模板).
以下步骤按此顺序添加.
精确的 SDK 签名会进化,所以将片段作为当前形状,并在发运前检查活文件.
这与哪一个谱面修正相反。
这里的代码以MCP修订为目标——修订 spec的版本页面仍然是作为当前协议版本的名称.
修订本已经出版,并大量修改了电线格式。
一个针对今天保持符合的服务器;下面列出服务器作者的新修改内容,这样你就可以现在构建并计划移动.
第1步:脚手架服务器 创建项目,安装SDK,并写入运行的最小服务器.
与: 然后用服务器对象和一个入口创建.
是高级 Python API : 您给服务器取名并运行在传输上 。
这已经存在了——它只是没有暴露出来。
在TypeScript SDK中,等同物正在创建出一个并连接到一个传输;结构相同,只有语法不同.
步骤2:定义工具 A工具是模型可以决定调用的一个函数.
在 Python SDK 中,您会装饰一个普通的打字功能:类型提示会变成输入的 JSON schema ,而多克字符串会变成模型读取的描述来决定何时称呼它.
真正的工具包裹一些有用的东西——一个数据库查询,一个内部API,一个文件操作.
处理器只是一个功能,所以这就是你所谓的现有服务,并返回模型可以使用的结果: 这里有两件事很重要, 两种建筑设计: 计划是模型所填写的契约, 所以保持参数名称和描述的精确; 函数运行时, 无论程序有什么特权, 所以范围是最小的。
我们回到第五步。
第3步:增加资源并提示工具采取行动;资源揭示模型能读取的数据,提示是可再用模板.
并不是每个服务器都需要全部三个——添加您的使用大小写所要求的内容.
资源由URI处理。
它可以是静态的,也可以是包含客户端所填入的参数的模板: 提示是一个参数化的模板,服务器发布如此常见的工作流程一次被编写,而不是在每个客户端中重写: 这种区分是刻意的:客户端可能会浮出资源并提示用户(拉入上下文或从菜单中取出),同时让模型自动地引用工具.
把它们分开是服务器在客户端中可以预测的。
第4步:运行并连接它 有两种实际使用的传输: stdio——服务器作为本地子进程运行,客户端发射.
这是桌面客户端和本地开发的默认:.
可流取的HTTP——服务器作为网络服务运行,远程客户端连接,用于主机或共享服务器:.
这是运输版的重修版