使用说明

项目简介

本项目是一个 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 标准。

安装步骤

  1. 克隆仓库
    git clone https://github.com/truffle-ai/mcp-demo.git
    cd mcp-demo
  2. 安装依赖
    npm install
  3. 配置 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 文件
    }

基本使用方法

  1. 启动 Multi-Server LLM Host App

    运行以下命令启动集成了计算器和天气服务器的 LLM 聊天应用:

    npm start

    这个命令会自动启动计算器服务器和天气服务器,并运行 'llm-host-app.js' 客户端程序。

  2. 与 LLM 聊天

    在终端中,您将看到一个聊天界面。您可以输入自然语言问题,例如:

    • 'What is 123 + 456?' (使用计算器工具)
    • 'What's the weather in New York?' (使用天气工具)
    • 'Show me calculator documentation' (获取计算器文档资源)

    LLM Host App 会解析您的query,并根据需要调用相应的 MCP 服务器工具或 Prompt。

  3. 退出聊天

    在聊天界面中输入 'exit' 并回车即可退出应用。

信息

分类

AI与计算