项目简介
'agenticai' 仓库是一个包含多种 AI 相关 demo 的集合,其中 'src/model-context-protocol-demo/MCPServer' 部分提供了一个基于 Model Context Protocol (MCP) 的银行服务示例服务器实现。该服务器通过 MCP 协议向 LLM 客户端暴露银行相关的操作作为工具。
主要功能点
- 工具暴露: 将模拟的银行服务功能(如获取账户余额)注册并作为 MCP 工具暴露。
- MCP 协议支持: 实现 MCP JSON-RPC 协议,处理来自 LLM 客户端的工具列表和工具调用请求。
- 多种传输支持: 配置支持 HTTP (SSE) 和 Stdio 两种 MCP 传输协议。
- 后端服务集成: 通过 HTTP 调用一个独立的模拟银行服务后端获取数据。
安装步骤
- 克隆仓库: 首先,使用 Git 克隆整个 'agenticai' 仓库到本地。
git clone https://github.com/pravinchandankhede/agenticai.git - 安装 .NET SDK: 确保您的机器上安装了 .NET SDK(项目可能使用 .NET 6 或更高版本,根据项目文件确定)。
- 构建并运行银行服务后端: 这是 MCP 服务器依赖的模拟银行服务。
- 导航到 'src/model-context-protocol-demo/BankingService' 目录。
- 运行构建命令: 'dotnet build'
- 运行服务: 'dotnet run'
- 此服务默认运行在 'https://localhost:7001' 或 'http://localhost:5000',MCPServer 通过 'https://localhost:7001/api/Banking/balance' 访问。
- 构建并运行 MCP 服务器:
- 导航到 'src/model-context-protocol-demo/MCPServer' 目录。
- 运行构建命令: 'dotnet build'
- 运行服务器: 'dotnet run'
- 服务器将启动并监听配置的 MCP 传输端口(例如,HTTP 端口和 Stdio)。
服务器配置
MCP 客户端需要通过配置连接到 MCP 服务器。以下是可能的 MCP 服务器配置示例,具体取决于您使用的传输协议:
Stdio 传输配置 (JSON 格式)
{ "name": "BankingMCPServer", "command": "dotnet", "args": ["run", "--project", "src/model-context-protocol-demo/MCPServer"] }
- 'name': 服务器的标识名称,客户端用来引用该服务器。
- 'command': 启动 MCP 服务器进程的命令(这里是 'dotnet')。
- 'args': 传递给命令的参数,指定运行 MCP 服务器项目。请根据您的实际文件路径调整 '"src/model-context-protocol-demo/MCPServer"'。
HTTP (SSE) 传输配置 (JSON 格式)
{ "name": "BankingMCPServer", "command": "dotnet", "args": ["run", "--project", "src/model-context-protocol-demo/MCPServer"], "endpoint": "http://localhost:5000/sse" }
- 'name', 'command', 'args': 同 Stdio 配置。
- 'endpoint': MCP 服务器监听的 HTTP (SSE) 端点 URL。客户端将连接到此 URL 进行通信。请根据服务器实际启动的地址和 MCP 路由 ('app.MapMcp()') 确定的端点进行调整。
请注意:MCP 客户端通常通过加载此类 JSON 配置文件来了解如何启动和连接到 MCP 服务器。您不需要手动修改这些配置文件的内容,只需在 MCP 客户端中使用正确的文件路径或配置对象即可。
基本使用方法
- 按照上述步骤先后启动银行服务后端和 MCP 服务器。
- 构建并运行 MCP 客户端示例(位于 'src/model-context-protocol-demo/MCPClient')。
- 导航到 'src/model-context-protocol-demo/MCPClient' 目录。
- 运行构建命令: 'dotnet build'
- 运行客户端: 'dotnet run'
- 客户端将读取其配置(默认指向 'http://localhost:5000/sse',需要确保服务器监听此地址),连接到 MCP 服务器,列出可用的工具(如 'GetBalances', 'GetBalance'),并尝试调用 'GetBalances' 工具,然后打印结果。
通过观察客户端和服务器的控制台输出,您可以看到 MCP 客户端如何发现并调用服务器暴露的工具。
信息
分类
商业系统