项目简介
本项目 'MCP_server-javascript' 是一个简单的 Model Context Protocol (MCP) 服务器实现,使用 JavaScript 开发。它演示了如何使用 '@modelcontextprotocol/sdk' 库构建 MCP 服务器,并提供了天气查询工具和 Prompt 模板作为示例。
主要功能点
- 工具 (Tools): 提供 'getWeatherDatabyCityName' 工具,可以根据城市名称返回简单的天气信息。
- Prompt 模板 (Prompts): 提供 'tell-temperature' Prompt 模板,可以根据城市名称生成询问天气的 Prompt,用于与 LLM 交互。
- 标准 MCP 协议: 实现了基本的 MCP 服务器框架,可以处理来自 MCP 客户端的请求。
- Stdio 传输: 使用 Stdio (标准输入输出) 作为默认的传输协议。
安装步骤
- 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm (Node.js 包管理器)。
- 克隆仓库: 从 GitHub 克隆该仓库到本地:
git clone https://github.com/TanmayChaurasia24/MCP_server-javascript.git cd MCP_server-javascript - 安装依赖: 在仓库根目录下运行以下命令安装项目依赖:
npm install npm install @modelcontextprotocol/sdk # 显式安装SDK,虽然package.json中可能已包含
服务器配置
MCP 客户端需要配置连接到此 MCP 服务器的信息。以下是一个 JSON 格式的配置示例,你需要将其配置到你的 MCP 客户端中。
{ "serverName": "WeatherTeller", // 服务器名称,可以自定义 "command": "node", // 启动服务器的命令,这里使用 node.js 运行 index.js "args": ["index.js"] // 启动命令的参数,这里指定运行 index.js 文件 }
配置说明:
- 'serverName': 服务器的名称,这个名称会在 MCP 客户端中显示,可以自定义。
- 'command': 启动服务器程序的可执行命令。由于本项目是 JavaScript 项目,并且 'index.js' 是入口文件,所以使用 'node' 命令来执行。
- 'args': 传递给启动命令的参数。这里 'index.js' 是要运行的 JavaScript 文件。
注意: MCP 客户端会使用 Stdio 协议通过标准输入输出与该服务器进行通信。请确保你的 MCP 客户端支持 Stdio 协议,并正确配置上述服务器信息。
基本使用方法
-
启动 MCP 服务器: 在仓库根目录下,打开终端并运行以下命令启动 MCP 服务器:
node index.js服务器启动后,会监听标准输入,等待 MCP 客户端的连接和请求。
-
配置并启动 MCP 客户端: 根据你的 MCP 客户端的使用说明,配置上面提供的服务器配置信息,并启动 MCP 客户端。
-
使用工具和 Prompt: 在 MCP 客户端中,你可以:
- 调用 'getWeatherDatabyCityName' 工具: 传入城市名称作为参数,例如 'city: "london"',服务器会返回简单的天气描述。
- 获取 'tell-temperature' Prompt: 客户端可以请求获取 'tell-temperature' Prompt 模板,并根据需要传入参数(例如城市名称),然后使用该 Prompt 与 LLM 进行交互,以获取指定城市的天气信息。
示例工具调用 (假设 MCP 客户端支持直接调用 Tool):
客户端发送请求调用 'getWeatherDatabyCityName' 工具,并传入参数 'city: "kanpur"'。服务器会执行 'findWeather("kanpur")' 函数,并返回结果 '"The weather in kanpur is sunny"'。
示例 Prompt 使用 (假设 MCP 客户端支持 Prompt 功能):
客户端请求获取 'tell-temperature' Prompt,并传入参数 'city: "delhi"'。服务器会返回 Prompt 模板,客户端可以使用该模板与 LLM 交互,期望 LLM 能够根据 Prompt 内容回答德里的天气温度。
信息
分类
网页与API