项目简介

'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 调用一个独立的模拟银行服务后端获取数据。

安装步骤

  1. 克隆仓库: 首先,使用 Git 克隆整个 'agenticai' 仓库到本地。
    git clone https://github.com/pravinchandankhede/agenticai.git
  2. 安装 .NET SDK: 确保您的机器上安装了 .NET SDK(项目可能使用 .NET 6 或更高版本,根据项目文件确定)。
  3. 构建并运行银行服务后端: 这是 MCP 服务器依赖的模拟银行服务。
    • 导航到 'src/model-context-protocol-demo/BankingService' 目录。
    • 运行构建命令: 'dotnet build'
    • 运行服务: 'dotnet run'
    • 此服务默认运行在 'https://localhost:7001' 或 'http://localhost:5000',MCPServer 通过 'https://localhost:7001/api/Banking/balance' 访问。
  4. 构建并运行 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 客户端中使用正确的文件路径或配置对象即可。

基本使用方法

  1. 按照上述步骤先后启动银行服务后端和 MCP 服务器。
  2. 构建并运行 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 客户端如何发现并调用服务器暴露的工具。

信息

分类

商业系统