DIY MCP
用于构建MCP服务器和客户端的模型上下文协议(MCP)的简单从头开始实现 标准输入输出这个例子使用了一个简单的中国茶集,包括描述、起源等。
对于生产应用程序,请查看官方 MCP SDK.
项目结构
mcp/
├── server/ # MCP server for Chinese tea information
│ └── src/
│ ├── index.ts
│ ├── stdio.ts
│ └── teas.json
└── client/ # MCP client CLI with Claude as LLM
└── src/
├── index.ts
└── llm.tsMCP服务器
这个实现的核心是一个轻量级的MCP服务器。它提供以下资源和工具:
- 资源:
- tea://teas:所有可用茶的列表 - tea://teas/{slug}:特定茶的详细信息
- 工具:
- getTeasByType:购买特定类型的所有茶 - getTeasByRegion:从特定省份或地区购买所有茶
设置
cd server
npm install
npm run build跑步
您可以使用以下命令测试MCP服务器 MCP检查员,一个用于测试和调试MCP服务器的交互式工具。
cd server
npm run inspectorMCP客户端
您可以通过像Claude Desktop这样的MCP客户端与MCP服务器交互,或者,您也可以使用附带的DIY MCP客户端。通过添加Anthropic API密钥,您可以让Claude根据提示智能地确定要使用哪些工具。
客户端提供三种交互模式:
- 问LLM:让Claude与MCP服务器交互
- 获取资源:直接访问MCP服务器资源
- 使用某种工具:直接调用MCP服务器工具
设置
cd client
npm install若要使用Claude,请首先复制示例环境文件,然后将具有可用信用的Anthropic API密钥添加到 ANTHROPIC_API_KEY 变量:
cp .env.example .env跑步
客户端将自动启动MCP服务器,因此请确保您首先构建了它。
cd server
npm run buildcd client
npm start用法
运行后,您可以通过MCP客户端CLI与MCP服务器交互。试着问法学硕士一些关于中国茶的问题:
- “你知道什么茶?”
- “哪些茶来自福建?”
- “你最喜欢的绿茶是什么?”
