使用说明
学习MCP(模型上下文协议)
一个用于从头开始学习MCP的动手、逐模块的存储库。
MCP是一个开放协议,规范了人工智能应用程序如何连接到外部工具、数据源和服务。可以把它想象成“USB-C for AI”——一个适用于任何地方的标准接口。
先决条件
- Node.js 20+ (使用ES模块)
- TypeScript (包含在开发依赖项中)
- 基本熟悉TypeScript和async/await
设置
npm install
模块
| # | 模块 | 你将学到什么 |
|---|---|---|
| 1 | MCP基础 | 架构、原语、传输、hello world服务器 |
| 2 | 构建MCP工具 | Zod模式、输入验证、计算器服务器 |
| 3 | MCP资源 | 静态/动态资源、URI、文件服务器 |
| 4 | MCP提示 | 提示模板、动态参数 |
| 5 | REST API包装器 | 封装API、身份验证、缓存、错误处理 |
| 6 | 测试MCP服务器 | 单元测试、集成测试、MCP检查员 |
| 7 | 高级模式 | HTTP传输、日志记录、速率限制、分页 |
| 8 | 分发和部署 | npm发布、注册表、Claude Desktop配置 |
| 9 | 代理技能 | 使用MCP工具构建代理技能 |
运行模块
每个模块都有一个服务器和(通常)一个客户端,您可以运行:
# Run module 1 server + client
npm run mod1:client
# Run module 2 server + client
npm run mod2:client
# Run tests
npm test
MCP的工作原理(快速概述)
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ AI Host │────▶│ MCP Client │────▶│ MCP Server │
│ (Claude, │ │ (in host) │ │ (your code) │
│ Cursor) │ │ │ │ │
└─────────────┘ └─────────────┘ └─────────────┘
│ │
JSON-RPC 2.0 Tools, Resources,
over stdio/HTTP Prompts
主机 =人工智能应用程序(克劳德桌面、光标等) 客户 =生活在主机内部,讲MCP协议 服务器 =暴露功能的代码
服务器提供三种功能:
- 工具 -AI可以调用的函数(如API端点)
- 资源 --AI可以读取的数据(如文件或数据库记录)
- 提示 --可重复使用的提示模板
