我的MCP天气服务器
此项目是一个使用以下组件构建的MCP(模型上下文协议)服务器的示例 @modelcontextprotocol/sdk 对于TypeScript。它演示了如何展示一个简单的工具,为几个预定义的城市提供虚拟天气信息。
此服务器旨在用作符合MCP的客户端的后端,例如可以利用此服务器公开的工具的LLM驱动的代理。
特性
- 符合MCP标准: 实现模型上下文协议。
- 可流式HTTP传输: 使用推荐的
StreamableHTTPServerTransport为了沟通。 - 工具暴露: 暴露a
get_city_weather工具。
- 输入: city (字符串,例如“巴黎”、“伦敦”、“东京”)和可选 unit (枚举:“公制”或“英制”,默认为“公制”)。 - 输出: 返回虚拟天气信息,包括温度、描述和湿度。 - 结构化输出: 提供 structuredContent 匹配已定义的 outputSchema 以便客户端进行可靠的解析。
- 基本会话管理: 演示简单的内存会话处理
StreamableHTTPServerTransport.
先决条件
- Node.js(建议使用v18或更高版本,根据MCP SDK)
- npm(或yarn/pnpm)
设置
- 克隆存储库(或创建项目文件):
# If you have it in a git repo:
# git clone
# cd my-mcp-weather-server
# Otherwise, ensure you have the project directory with src/server.ts, package.json, tsconfig.json- 安装依赖项:
npm install运行服务器
为了发展
此命令使用 ts-node 直接运行TypeScript源代码 nodemon 在文件更改时自动重新启动服务器。
npm run build
npm start