使用说明
项目简介
本项目是一个 Model Context Protocol (MCP) 架构的演示,展示了如何使用 MCP 构建服务器,为大型语言模型 (LLM) 提供外部工具和数据访问能力。仓库中包含了两个独立的 MCP 服务器示例:一个简单的计算器服务和一个天气信息服务。同时,项目还提供了一个 LLM Host App,它充当 MCP 客户端,集成了 OpenAI API,可以与这两个 MCP 服务器进行交互。
主要功能点
- 资源 (Resources) 管理: 计算器服务器和天气服务器都提供了文档和历史记录等资源,客户端可以读取这些资源获取上下文信息。
- 工具 (Tools) 注册与调用: 计算器服务器提供加减乘除等数学运算工具,天气服务器提供天气查询工具,LLM 可以调用这些工具执行外部功能。
- Prompt 模板 (Prompts) 定义: 服务器预定义了 Prompt 模板,例如计算器服务器的 "calculate" Prompt 和天气服务器的 "getWeatherReport" Prompt,支持客户端使用预定义的交互模式。
- 多服务器架构: 演示了如何构建和集成多个 MCP 服务器,LLM Host App 可以同时连接和使用多个服务器提供的功能。
- 标准 MCP 协议: 服务器和客户端之间通过 JSON-RPC 协议进行通信,符合 MCP 标准。
安装步骤
- 克隆仓库
git clone https://github.com/truffle-ai/mcp-demo.git cd mcp-demo - 安装依赖
npm install - 配置 OpenAI API Key
- 复制 '.env.example' 文件并重命名为 '.env'。
- 打开 '.env' 文件,将 'OPENAI_API_KEY=your_api_key_here' 替换为您的 OpenAI API Key。
服务器配置
MCP 客户端(例如 'llm-host-app.js')需要配置以下服务器信息才能连接到 MCP 服务器。配置信息通常包括服务器名称、启动命令及其参数。
-
计算器服务器配置:
{ "server name": "calculator-server", // 服务器名称,用于客户端识别 "command": "node", // 启动服务器的命令,这里使用 Node.js 运行时 "args": ["server.js"] // 启动命令的参数,指定运行 server.js 文件 } -
天气服务器配置:
{ "server name": "weather-server", // 服务器名称,用于客户端识别 "command": "node", // 启动服务器的命令,这里使用 Node.js 运行时 "args": ["weather-server.js"] // 启动命令的参数,指定运行 weather-server.js 文件 }
基本使用方法
-
启动 Multi-Server LLM Host App
运行以下命令启动集成了计算器和天气服务器的 LLM 聊天应用:
npm start这个命令会自动启动计算器服务器和天气服务器,并运行 'llm-host-app.js' 客户端程序。
-
与 LLM 聊天
在终端中,您将看到一个聊天界面。您可以输入自然语言问题,例如:
- 'What is 123 + 456?' (使用计算器工具)
- 'What's the weather in New York?' (使用天气工具)
- 'Show me calculator documentation' (获取计算器文档资源)
LLM Host App 会解析您的query,并根据需要调用相应的 MCP 服务器工具或 Prompt。
-
退出聊天
在聊天界面中输入 'exit' 并回车即可退出应用。
信息
分类
AI与计算