使用说明(Markdown 格式)
项目简介
Agent Bridge 提供将 LangChain 智能代理与 MCP(Model Context Protocol)服务器对接的能力。仓库中包含一个可运行的示例 MCP 服务器(Mock),用于演示 MCP 的请求/响应流程,以及用于连接、管理 MCP 服务器的后端服务和工具权限系统的实现。核心目标是为 LLM 客户端提供结构化的资源、工具调用和 Prompt 渲染等上下文服务。
主要功能点
- 可运行的 MCP 服务器示例(Mock):实现了基本的 MCP 协议流程(初始化、工具列表、工具调用等),通过 JSON-RPC 风格的消息进行通信,支持 SSE 实时推送。
- 工具和命令执行:提供示例工具清单(如简单计算、阶乘等),可通过工具调用接口执行并返回结果。
- 安全与认证(示例实现):包括 guest 登录、JWT 令牌生成等基础认证流程,演示如何在服务端与前端之间进行权限控制。
- 与 LangChain 的集成桥接:后端服务可通过 MCP 服务器向 LangChain 代理、工具与知识源进行交互,具备工具权限、会话管理等能力。
- 服务器与客户端的分离:服务器端实现 MCP 服务端逻辑,客户端实现对 MCP 服务器的发现与使用,便于扩展。
安装与运行
- 安装运行环境示例(请按仓库的实际依赖和运行方式执行):
- Python 环境
- 依赖包(如 FastAPI、Uvicorn、httpx 等)
- 运行示例 MCP 服务器(Mock):
- 直接运行文件:backend/mock_mcp_server.py
- 服务器将监听端口(示例中为 8000,默认在脚本中配置)
- 运行后端桥接和客户端交互的示例:
- 后端服务(若使用)通常通过 FastAPI 提供 API,与 MCP 服务器交互,进行工具注册、权限管理等。
服务器配置(MCP 客户端配置格式,JSON 配置示例,非代码)
注意:MCP 客户端不需要开发实现,只需要提供服务器连接信息。以下示例用于说明配置字段及含义,请按实际客户端所需字段提供。不要以代码块形式展示,直接使用JSON格式的字段即可。
{ "server_name": "AgentBridge Mock Local", "command": "python", "args": ["backend/mock_mcp_server.py"], "host": "http://localhost", "port": 8000, "description": "本地演示用的 MCP 服务端 mocked 实现,提供初始化、工具列表与工具调用等能力。", "protocols": ["JSON-RPC over SSE"], "auth": { "type": "guest_or_token", "token_endpoint": "http://localhost:8001/auth/login" } }
注释说明:
- server_name:服务器的名称,尽量与 MCP 服务端的实际标识保持一致,便于在 UI 中区分。
- command/args:用于启动服务器的命令及参数。Mock 示例的启动方式可能是执行 python backend/mock_mcp_server.py;根据实际部署调整。
- host/port:服务器的访问地址与端口。
- description:对 MCP 服务器的简要描述。
- protocols:支持的传输协议或通信模式(此处为 JSON-RPC + SSE 的组合示例)。
- auth:示例认证方式,实际可根据需要实现更严格的鉴权。
基本使用方法
- 启动 MCP 服务器:按照配置启动服务器实例,例如运行 Python 脚本启动本地 MCP Mock 服务器。
- 使用 MCP 客户端:在客户端中配置上述 JSON 配置,连接到 MCP 服务器;发送请求(如 initialize、tools/list、tools/call)以获取工具、执行工具并接收结果。
- 观察与调试:服务器通过 SSE 推送事件或 JSON-RPC 响应,开发者可在客户端实现相应的处理逻辑,例如展示工具列表、执行结果和错误信息。
运行与测试示例(概览)
- 启动 Mock MCP 服务器后,客户端可向 /sse 建立 SSE 长连接,接收初始化信息与工具列表,并通过 /messages 发送 JSON-RPC 请求进行工具调用。
- 服务器返回的 JSON-RPC 响应包含标准字段,例如 id、result 等,客户端据此解析并展示结果。
备注
- 该仓库同时包含一个完整的后端桥接实现,用于注册、管理 MCP 服务器、工具权限和会话等。Mock 服务器仅用于演示 MCP 协议的工作流,实际生产环境可以替换为真实的 MCP 服务端。
- MCP 客户端与服务器之间的具体实现细节、字段命名和扩展请参考实际应用的 MCP 规范版本及服务器实现。
信息
分类
AI与计算