使用说明
MCP(模型上下文协议)多项目库
该存储库包含多个相互连接的项目,这些项目共同实现了一个具有web界面和天气信息MCP服务器的模型上下文协议(MCP)客户端-服务器系统。
项目结构
-
mcp客户端打字脚本
MCP协议的TypeScript客户端实现。- 通过stdio传输连接到MCP服务器脚本(JavaScript或Python)。
- 使用OpenAI的聊天补全功能和集成的MCP工具来处理查询。
- 提供MCPClient类来管理连接、查询处理和工具调用。
- 可以独立运行,也可以被其他项目用作库。
-
mcp网站
MCP客户端的web客户端和后端接口。- 后端使用Express和TypeScript构建。
- 为用户提供一个简单的前端界面,用于输入查询和接收响应。
- 连接到MCP客户端(从
mcp-client-typescript)并将用户查询转发给它。 - 提供REST API终结点
/query用于通过POST请求处理查询。 - 前端包括一个用于查询输入的文本区域,并显示后端的响应。
-
天气2
提供天气相关工具的MCP服务器实现。- 使用MCP SDK服务器组件使用TypeScript构建。
- 提供两个主要工具:
get-alerts:从美国国家气象局(NWS)API获取美国各州的天气警报。get-forecast:从NWS API获取给定纬度和经度的天气预报。
- 通过stdio传输连接并监听MCP客户端请求。
它是如何协同工作的
- 这 天气2 该项目作为MCP服务器运行,公开与天气相关的工具。
- 这 mcp客户端打字脚本 该项目充当MCP客户端,连接到MCP服务器(例如weather2),并使用MCP工具增强的OpenAI聊天完成来处理查询。
- 这 mcp网站 该项目提供了一个连接到MCP客户端的web界面和后端,允许用户通过web浏览器发送查询并接收响应。
设置和使用
先决条件
- Node.js(建议使用v18+)
- npm或纱线
- TypeScript全局安装或通过项目devDependencies安装
运行气象MCP服务器
- 导航到
weather2目录:cd weather2 - 安装依赖项:
npm install - 构建项目:
npm run build - 运行服务器(这将在stdio上启动MCP服务器):
node build/index.js
运行MCP客户端
- 导航到
mcp-client-typescript目录:cd ../mcp-client-typescript - 安装依赖项:
npm install - 构建项目:
npm run build - 运行客户端,提供MCP服务器脚本的路径(例如weather2 build-index.js):
npm start
运行MCP Web界面
- 导航到
mcp-web目录:cd ../mcp-web - 安装依赖项:
npm install - 启动web服务器:
npm start - 打开浏览器并转到:
http://localhost:3000 - 使用web界面键入查询并从连接到MCP服务器的MCP客户端接收响应。
环境变量
OPENAI_API_KEY(必填)mcp-client-typescript):用于聊天完成的OpenAI API密钥。MCP_SERVER_SCRIPT(可选mcp-web):要连接的MCP服务器脚本的路径(默认为占位符路径)。
使用的技术
- TypeScript
- Node.js
- Express(用于web后端)
- OpenAI SDK
- 模型上下文协议SDK
- 美国国家气象局API(适用于weather2服务器)
- Zod(用于weather2中的输入验证)
许可证
该项目根据ISC许可证获得许可。
联系
如有疑问或需要支持,请在此存储库中打开问题。