使用LLM 构建MCP服务端和客户端
提供给LLM的文档:
- MCP的介绍
https://modelcontextprotocol.info/llms-full.txt
- MCP的SDK 文档
包括README 和相关文档
-
Python ReadME: https://github.com/modelcontextprotocol/python-sdk/blob/main/README.md
-
TypeScript: https://github.com/modelcontextprotocol/typescript-sdk/blob/main/README.md
MCP 服务描述
- 服务器将暴露哪些资源
- 它将提供什么工具
- 它应该提供什么提示
- 它需要与哪些外部系统交互
例如:
构建一个 MCP 服务器,它:
- 连接到我公司的 PostgreSQL 数据库
- 将表结构作为资源暴露
- 提供运行只读 SQL 查询的工具
- 包含常见数据分析任务的提示
如何与LLM协作
- 从核心功能开始,逐步迭代到更多的功能
- 可以借助LLM解释不理解的代码
- 根据需求修改或改进
- 让LLM进行测试服务器并处理边缘情况
LLM可是实现所有关键的MCP功能,包括:
- 资源管理和暴露
- 工具定义和实现
- 提示模板和处理程序
- 错误处理和日志记录
- 连接和传输设置
最佳实践
- 将复杂的服务器分解成更小的部分
- 在继续之前彻底测试每个组件
- 注意安全性——验证输入并适当处理权限
- 编写良好的文档以便以后的维护
- 严格遵循MCP协议规范
LLM产生后的操作
- 仔细检查生成的代码
- 使用 MCP Inspector 工具测试服务器
- 连接到其他的MCP客户端
- 迭代改进