使用说明
FastMCP演示-TypeScript MCP服务器
一个使用TypeScript理解模型上下文协议(MCP)的演示项目。此项目使用工具、资源和提示实现了一个基本的MCP服务器。
什么是MCP?
模型上下文协议(MCP)是一种标准化协议,使AI助手能够安全地访问外部数据源和工具。它为AI模型提供了一种方法:
- 工具:执行功能和操作
- 资源:访问数据和信息
- 提示词:使用预定义的提示模板
项目结构
fast-mcp/
├── src/
│ └── index.ts # Main MCP server implementation
├── dist/ # Compiled JavaScript (generated)
├── package.json # Project dependencies
├── tsconfig.json # TypeScript configuration
└── README.md # This file
特性
此演示服务器包括:
工具
- 你好:欢迎用户的简单问候工具
- 计算:执行基本算术运算(加、减、乘、除)
资源
- demo://example:一个简单的文本资源
- demo://config:JSON格式的服务器配置
提示词
- greet_user:为用户生成问候消息
- 解释-mcp:解释什么是MCP
设置
-
安装依赖项:
npm install -
构建项目:
npm run build -
运行服务器:
npm start或者使用自动重新加载的开发模式:
npm run dev
MCP的工作原理
服务器初始化
服务器创建时具有工具、资源和提示功能:
const server = new Server(
{ name: "fast-mcp-demo", version: "0.1.0" },
{
capabilities: {
tools: {},
resources: {},
prompts: {},
},
}
);
运输
此服务器使用 标准 (标准输入/输出)传输,这意味着它通过stdin/stdout进行通信。这是MCP服务器最常见的传输方式。
请求处理程序
每个功能都需要请求处理程序:
ListToolsRequestSchema-列出可用工具CallToolRequestSchema-执行工具ListResourcesRequestSchema-列出可用资源ReadResourceRequestSchema-读取资源ListPromptsRequestSchema-列出可用提示GetPromptRequestSchema-获取带有参数的提示
使用MCP客户端进行测试
要测试此服务器,您需要一个MCP客户端。热门选项包括:
- 克劳德桌面 -将服务器添加到MCP配置中
- MCP检查员 -MCP服务器的调试工具
- 自定义MCP客户端 -使用MCP SDK构建自己的
示例配置(克劳德桌面)
添加到您的Claude Desktop MCP设置中:
{
"mcpServers": {
"fast-mcp-demo": {
"command": "node",
"args": ["/path/to/fast-mcp/dist/index.js"]
}
}
}
学习路径
该项目是逐步构建的,以了解MCP概念:
- ✅ 初始设置 -TypeScript配置和依赖关系
- ✅ 基本服务器 -带有hello工具的简单服务器
- ✅ 资源 -增加了资源读取功能
- ✅ 提示词 -添加提示模板
- ✅ 高级工具 -添加了具有错误处理功能的计算工具
关键概念
工具
工具是AI可以调用的功能。他们有:
- 名称和描述
- 输入模式(JSON模式)
- 返回结果的执行逻辑
资源
资源是可以读取的数据源。他们有:
- URI标识符
- 名称和描述
- MIME类型
- 可检索的内容
提示词
提示是可用于指导AI交互的模板消息。他们有:
- 名称和描述
- 可选参数
- 消息模板
后续步骤
要扩展此演示,请考虑:
- 添加文件系统资源
- 实施身份验证
- 添加更复杂的工具(API调用、数据库查询)
- 使用不同的传输方式(SSE、HTTP)
- 添加日志记录和错误处理中间件
- 实现资源缓存
资源
- MCP规范
- MCP TypeScript SDK
- FastMCP(Python) -Python等价物
许可证
麻省理工学院