MCP桥接服务

Voxta MCP桥接服务是一个连接Voxta与MCP服务器的中间件,通过MCP协议使Voxta能够利用外部工具和资源。

  • by vega-holdings
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 vega-holdings/voxta-mcp

使用说明

Voxta MCP网桥提供商

支持与模型上下文协议(MCP)服务器通信的Voxta提供程序,允许Voxta通过MCP协议利用外部工具和资源。

先决条件

  • .NET 8.0 SDK
  • Python 3.10或更高版本
  • Git

安装说明

视窗

  1. 克隆存储库:

    git clone https://github.com/voxta/voxta-mcp.git
    cd voxta-mcp
    
  2. 创建Python虚拟环境:

    python -m venv venv
    .\venv\Scripts\activate
    pip install mcp-agent
    
  3. 构建并运行项目:

    dotnet build
    dotnet run
    

Linux

  1. 克隆存储库:

    git clone https://github.com/voxta/voxta-mcp.git
    cd voxta-mcp
    
  2. 创建Python虚拟环境:

    python3 -m venv venv
    source venv/bin/activate
    pip install mcp-agent
    
  3. 构建并运行项目:

    dotnet build
    dotnet run
    

运行提供者

  1. 确保您的MCP服务器正在运行,并且可以在配置的地址访问。

  2. 配置 appsettings.json 使用您的设置:

    {
      "MCPBridge": {
        "PythonExePath": "venv/bin/python",  // Path to Python in virtual environment
        "MCPClientScriptPath": "mcp_client.py",  // Path to the MCP client script
        "MCPServerAddress": "localhost:50051"  // Your MCP server address
      }
    }
    
  3. 运行提供程序:

    dotnet run
    
  4. 供应商将:

    • 启动Python MCP客户端进程
    • 连接到您的MCP服务器
    • 在Voxta注册
    • 开始处理操作请求
  5. 监控控制台输出:

    • 连接状态
    • 动作触发器
    • 错误消息
    • MCP工具响应

故障排除

常见问题和解决方案:

  1. “未配置MCPClientScriptPath”

    • 确保 appsettings.json 存在并具有正确的路径 mcp_client.py
  2. Python进程启动失败

    • 验证Python虚拟环境是否已激活
    • 检查 PythonExePath 在配置中
    • 确保 mcp-agent 已安装在虚拟环境中
  3. 无法连接到MCP服务器

    • 验证服务器是否正在运行
    • 检查 MCPServerAddress 配置
    • 确保没有防火墙阻止连接

配置

提供程序是通过配置的 appsettings.json:

{
  "MCPBridge": {
    "PythonExePath": "venv/bin/python",  // On Windows: "venv\\Scripts\\python.exe"
    "MCPClientScriptPath": "mcp_client.py",  // Required: Path to the Python MCP client script
    "MCPServerAddress": "localhost:50051"  // Address of your MCP server
  },
  "Serilog": {
    "Using": ["Serilog.Sinks.Console"],
    "WriteTo": [
      {
        "Name": "Console",
        "Args": {
          "outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:l}{NewLine}{Exception}",
          "theme": "Serilog.Sinks.SystemConsole.Themes.SystemConsoleTheme::Literate, Serilog.Sinks.Console"
        }
      }
    ],
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft": "Warning",
        "System.Net.Http.HttpClient": "Warning",
        "Voxta": "Information",
        "Voxta.MCPBridgeProvider": "Debug"
      }
    }
  }
}

所需配置

  • MCPBridge:MCPClientScriptPath:处理与MCP服务器通信的Python MCP客户端脚本的路径。
  • MCPBridge:MCPServerAddress:MCP服务器的地址(例如,本地服务器的“localhost:50051”)。

可选配置

  • MCPBridge:PythonExePath:Python可执行文件的路径。默认为“python”(或Linux上的“python3”)。

连接到MCP服务器

  1. 启动MCP服务器(例如,家庭助理MCP服务器)并记下其地址(通常 localhost:50051).

  2. 更新 MCPServerAddress 在……里面 appsettings.json 以匹配您的MCP服务器的地址。

  3. 启动时,提供商将自动连接到MCP服务器,并使其工具可供Voxta使用。

用法

  1. 提供商将自动向Voxta注册可用的MCP工具。

  2. 当Voxta触发操作时,提供者将:

    • 将Voxta操作转换为MCP工具调用
    • 通过Python客户端将请求发送到MCP服务器
    • 接收响应并将其发送回Voxta

发展

  • C#代码处理Voxta集成和流程管理
  • Python脚本(mcp_client.py)处理MCP协议通信
  • 这两个组件都通过stdin/stdout使用JSON消息进行通信

许可证

[此处为许可证信息]