使用说明
MCP服务器演示-学习项目
一个全面的学习项目,展示如何构建 模型上下文协议(MCP)服务器 随着 谷歌ADK集成 使用最佳实践。
🎯 学习目标
这个项目教你:
-
MCP服务器架构
- 如何构建MCP服务器
- 工具定义和处理程序
- 资源管理
- 错误处理模式
-
最佳实践
- TypeScript用于类型安全
- 关注点分离
- 输入验证和安全
- 错误处理
- 可扩展架构
-
谷歌ADK集成
- Google Actions的集成点
- 分析和记录
- 履行处理程序(占位符)
📁 项目结构
mcp-server-demo/
├── src/
│ ├── index.ts # Main server entry point
│ ├── tools/
│ │ ├── base-tool.ts # Base tool interface
│ │ ├── calculator.ts # Calculator tool example
│ │ ├── file-operations.ts # File operations tool
│ │ └── system-info.ts # System information tool
│ └── integrations/
│ └── google-adk.ts # Google ADK integration
├── package.json
├── tsconfig.json
└── README.md
🚀 入门指南
先决条件
- Node.js 18+
- npm或纱线
安装
# Install dependencies
npm install
# Build the project
npm run build
# Run in development mode (with auto-reload)
npm run dev
# Run the built server
npm start
🛠️ 可用工具
1.计算器工具
执行基本的数学运算。
例子:
{
"name": "calculator",
"arguments": {
"operation": "add",
"a": 10,
"b": 5
}
}
2.文件操作工具
读取、写入、列出和获取有关文件的信息。
例子:
{
"name": "file_operations",
"arguments": {
"operation": "read",
"path": "README.md"
}
}
3.系统信息工具
获取系统信息(平台、内存、CPU等)。
例子:
{
"name": "system_info",
"arguments": {
"detail": "full"
}
}
🔌 谷歌ADK集成
该项目包括一个谷歌ADK集成模块,该模块演示了:
- 分析日志:跟踪工具使用情况
- 履行处理人员:处理Google Assistant请求(占位符)
- 使用统计:深入了解工具使用情况
启用Google ADK
设置环境变量:
export GOOGLE_ADK_ENABLED=true
全面整合的下一步
-
设置谷歌行动项目
- 在Google Cloud Console中创建项目
- 启用操作API
- 设置OAuth凭据
-
实现Webhook服务器
- 使用Express.js或类似工具
- 处理履行请求
- 连接到MCP服务器工具
-
部署
- 部署到谷歌云功能或云运行
- 在操作控制台中配置webhook URL
📚 最佳实践演示
1. 类型安全
- 完整的TypeScript实现
- 已启用严格类型检查
- 所有工具的接口定义
2. 安全
- 路径验证(防止目录遍历)
- 输入净化
- 错误消息清理
3. 错误处理
- 全面的试抓块
- 有意义的错误消息
- 优雅降级
4. 代码组织
- 关注点分离
- 模块化工具架构
- 清晰的抽象层
5. 可扩展性
- 易于添加新工具(扩展
BaseTool) - 插件式架构
- 配置驱动行为
🧪 测试您的MCP服务器
使用克劳德桌面
- 添加到Claude桌面配置:
{
"mcpServers": {
"demo": {
"command": "node",
"args": ["/path/to/mcp-server-demo/dist/index.js"]
}
}
}
- 重新启动克劳德桌面
- 这些工具应该在Claude中可用
使用MCP客户端
您还可以使用MCP客户端库进行测试或创建简单的测试脚本。
🎓 学习路径
初级任务
- ✅ 了解项目结构
- ✅ 运行服务器和测试工具
- ✅ 通读代码注释
- ✅ 修改计算器工具以添加新操作
中级任务
- 添加新工具(例如。,
weather使用API的工具) - 实现资源缓存
- 添加工具使用率限制
- 为工具创建单元测试
高级任务
- 实施完整的Google ADK webhook服务器
- 添加身份验证/授权
- 实施工具链
- 添加流媒体响应
- 创建远程MCP服务器(HTTP传输)
📖 资源
🤝 贡献
这是一个学习项目!请随意:
- 添加更多示例工具
- 改进错误处理
- 添加测试
- 加强文件编制
📝 许可证
麻省理工学院
快乐学习! 🚀
