使用说明

项目简介

本项目包含一个使用Node.js编写的简易MCP服务器和一个使用Langchain及Ollama构建的客户端示例。MCP服务器旨在演示如何基于Model Context Protocol (MCP) 协议提供上下文服务,包括注册和执行工具、管理资源和定义Prompt模板。客户端则展示了如何通过Langchain与MCP服务器交互,利用服务器提供的工具增强语言模型的能力。

主要功能点

  • MCP服务器:
    • 基于 '@modelcontextprotocol/sdk/server' 实现,提供基本的MCP服务器功能。
    • 注册并提供示例工具 (如 'add') 和资源 ('greeting')。
    • 支持 SSE (Server-Sent Events) 传输协议。
    • 包含示例 Prompt 模板 ('review-code')。
  • Langchain 客户端:
    • 集成 Langchain 和 Ollama,通过 MCP 客户端与 MCP 服务器通信。
    • 可以发现和调用 MCP 服务器注册的工具。
    • 提供交互式聊天界面,用户可以通过自然语言与 LLM 交互,并利用 MCP 工具完成任务。

安装步骤

  1. 克隆仓库到本地:
    git clone https://github.com/shashwat001/mcptools-langchain-integration.git
    cd mcptools-langchain-integration
  2. 安装依赖:
    npm install

服务器配置

MCP客户端需要配置MCP服务器的连接信息才能正常工作。以下是客户端所需的MCP服务器配置信息,通常在客户端的配置文件(如本例中的 'src/llm.ts' )中设置。

{
  "serverUrl": "http://localhost:7000/sse",
  "clientInfo": {
    "name": "ollama-client",
    "version": "1.0.0"
  }
}

配置项说明:

  • 'serverUrl': MCP服务器的SSE端点URL,客户端通过此URL与服务器建立连接。请确保与MCP服务器实际运行地址一致。
  • 'clientInfo': 客户端自身的信息,包括 'name' (客户端名称) 和 'version' (客户端版本),用于服务器识别客户端身份。

注意: 仓库中的 'src/server.js' 默认配置 HTTP 服务端口为 '3001',但客户端配置文件 'src/llm.ts' 和 'README.md' 中指示 MCP 服务器地址为 'http://localhost:7000'。请确保MCP服务器实际运行端口与客户端配置的 'serverUrl' 一致。如果使用仓库提供的 'src/server.js' 作为MCP服务器,可能需要修改 'src/server.js' 中的端口配置或客户端 'src/llm.ts' 中的 'serverUrl' 配置,以确保两者匹配。

基本使用方法

  1. 启动 Ollama 服务器: 确保 Ollama 服务器在 'http://localhost:11434' 运行。
  2. 启动 MCP 服务器: 在项目根目录下,运行以下命令启动 MCP 服务器 (默认端口为 3001,如需修改请调整 'src/server.js' ):
    node src/server.js
    或者,如果希望MCP服务器运行在客户端默认配置的7000端口,请修改 'src/server.js' 中 'PORT' 变量的值为 '7000' 后再运行。
  3. 运行 Langchain 客户端: 在项目根目录下,运行以下命令启动 Langchain 客户端:
    node src/index.js
  4. 开始聊天: 客户端启动后,您可以在命令行界面与 LLM 进行交互。客户端会将用户输入发送给 Ollama 模型,并利用 MCP 服务器提供的工具来增强回答能力。

信息

分类

AI与计算