项目简介

robodog MCP 服务器是 Model Context Protocol (MCP) 协议的后端实现,旨在为大语言模型 (LLM) 客户端提供标准化的上下文信息和功能。它核心功能包括:托管和管理文件资源,提供数据访问能力;注册和执行各种AI工具(如文本生成、图片生成、Web搜索和自动化);以及定义和渲染 Prompt 模板,以支持可定制的LLM交互模式。robodog MCP 服务器通过 JSON-RPC 协议与客户端通信,支持多种传输协议(如TCP/HTTP/SSL),为LLM应用提供安全、可扩展的上下文服务框架。

主要功能点

  • 文件资源管理: 提供文件和目录的列表、读取、创建、更新、删除、重命名、复制、搜索和校验和计算等操作,方便LLM访问本地文件系统作为上下文。
  • AI工具集成:
    • ASK: 允许LLM直接调用配置的AI模型进行文本生成、问答等操作。
    • TODO: 自动化管理和执行项目中的 'todo.md' 文件中定义的任务,支持文件包含、输出和状态更新。
    • INCLUDE: 根据指定模式或文件路径,将本地文件内容作为上下文信息引入到对话中。
    • CURL: 用于获取网页内容或执行JavaScript,实现LLM的Web抓取能力。
    • PLAY: 支持AI驱动的Playwright测试和Web自动化,允许LLM控制浏览器执行复杂任务。
  • LLM模型管理: 支持配置和切换多种LLM提供商和模型(如OpenAI, Anthropic, Google),管理API密钥和模型参数(如温度、最大tokens)。
  • 状态管理: 提供stash和pop功能,用于保存和恢复会话状态及知识。
  • Prompt模板渲染: 内部使用PromptBuilder构建任务Prompt,支持自定义LLM交互模式。
  • 安全通信: 支持基于Bearer Token的认证,可选支持SSL/TLS加密传输。

安装步骤

robodog MCP 服务器作为 'robodogcli' 包的一部分,可以通过 'pip' 进行安装。

  1. Python环境: 确保您已安装Python 3.8或更高版本。
  2. 安装'robodogcli':
    pip install robodogcli
  3. 安装依赖 (可选但推荐): 为了使用所有功能(如Playwright, Langchain),请安装以下依赖:
    pip install --upgrade requests tiktoken PyYAML openai playwright pydantic langchain colorlog

服务器配置

MCP客户端需要以下信息来连接 robodog MCP 服务器。

{
  "mcpServer": {
    "name": "robodog_mcp_server",
    "command": "python -m robodogcli.cli",
    "args": [
      "--host", "127.0.0.1",
      "--port", 2500,
      "--token", "YOUR_SECRET_TOKEN",
      "--folders", "/path/to/your/project1", "/path/to/your/project2", // 服务器提供访问权限的根目录列表
      "--config", "config.yaml",                                     // robodog的LLM配置文件路径
      // "--cert", "/path/to/your/cert.pem",                         // 可选: SSL证书文件路径
      // "--key", "/path/to/your/key.pem",                           // 可选: SSL私钥文件路径
      "--log-level", "INFO",                                         // 可选: 设置日志级别 (DEBUG, INFO, WARNING, ERROR, CRITICAL)
      "--backupFolder", "/path/to/backup",                           // 可选: 备份文件夹路径
      "--excludeDirs", "node_modules,dist"                           // 可选: 排除目录列表 (逗号分隔)
    ],
    "description": "启动robodog MCP服务器,提供文件管理和AI工具服务"
  }
}
  • 'command': 启动服务器的Python模块命令。
  • '--host': 服务器监听的IP地址。
  • '--port': 服务器监听的端口。
  • '--token': 客户端连接时使用的认证令牌,请替换为您的安全令牌。
  • '--folders': 服务器将提供访问权限的根目录列表,客户端只能访问这些目录下的文件。
  • '--config': robodog的LLM配置文件的路径 (例如: 'config.yaml')。这个文件包含了AI提供商、模型等信息。
  • '--cert', '--key': 如果需要启用SSL/TLS加密,请提供PEM格式的证书和私钥文件路径。

基本使用方法

  1. 准备配置文件: 在您选择的目录下创建 'config.yaml' 文件,配置您的AI提供商和API密钥。例如:
    configs:
      providers:
        - provider: openAI
          baseUrl: "https://api.openai.com/v1"
          apiKey: "<your_openai_api_key>"
      mcpServer:
        baseUrl: "http://localhost:2500" # 这是客户端默认配置,服务器启动时会使用其启动参数
        apiKey: "testtoken"
      models:
        - provider: openAI
          model: gpt-4o-mini
          stream: true
          specialist: nlp
          about: "Best for performance."
  2. 启动robodog MCP 服务器: 在命令行中,使用上文“服务器配置”中提供的命令启动服务器。请确保 '--folders' 指向您希望服务器可以访问的实际项目目录。
    python -m robodogcli.cli --host 127.0.0.1 --port 2500 --token YOUR_SECRET_TOKEN --folders "C:\my_projects" --config config.yaml
    服务器成功启动后,将会在指定地址和端口监听请求。
  3. MCP 客户端连接: 您的MCP客户端(例如robodog客户端本身或任何兼容MCP的LLM应用)可以使用上述配置信息连接到该服务器,并开始发送JSON-RPC请求来访问文件、调用工具或获取Prompt。例如,从robodog客户端中可以执行 '/mcp LIST_FILES' 来列出 '--folders' 指定目录下的文件。

信息

分类

AI与计算