使用说明
项目简介
本项目包含一个使用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 工具完成任务。
安装步骤
- 克隆仓库到本地:
git clone https://github.com/shashwat001/mcptools-langchain-integration.git cd mcptools-langchain-integration - 安装依赖:
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' 配置,以确保两者匹配。
基本使用方法
- 启动 Ollama 服务器: 确保 Ollama 服务器在 'http://localhost:11434' 运行。
- 启动 MCP 服务器: 在项目根目录下,运行以下命令启动 MCP 服务器 (默认端口为 3001,如需修改请调整 'src/server.js' ):
或者,如果希望MCP服务器运行在客户端默认配置的7000端口,请修改 'src/server.js' 中 'PORT' 变量的值为 '7000' 后再运行。node src/server.js - 运行 Langchain 客户端: 在项目根目录下,运行以下命令启动 Langchain 客户端:
node src/index.js - 开始聊天: 客户端启动后,您可以在命令行界面与 LLM 进行交互。客户端会将用户输入发送给 Ollama 模型,并利用 MCP 服务器提供的工具来增强回答能力。
信息
分类
AI与计算