Runa 自我进化 MCP 服务器

使用说明内容(Markdown格式)

  • 项目简介

    • 本项目实现了一个基于 MCP 的服务器端组件,能够托管、注册并执行工具,提供对本地资源的访问能力,并支持动态生成、保存和部署新的工具脚本,以实现自我扩展能力。
    • 核心能力包括:自动发现集成脚本、远程或本地工具注册、执行工具、读取本地文件、列目录、从 GitHub 搜索和下载仓库等。
  • 主要功能点

    • 自动发现与诊断工具脚本:扫描 integrations 目录下的 .py 文件,诊断启动时的错误。
    • 工具注册与暴露:通过 MCP 协议向客户端暴露若干工具,如 list_integration_files、search_github_python_libraries、clone_github_repository、list_directory、read_local_file、read_server_code、generate_server_code、save_and_deploy_tool 等。
    • 本地资源与代码浏览:提供 list_directory、read_local_file、read_server_code 等工具,方便查看和理解现有工具及代码。
    • 动态代码生成与部署:generate_server_code 生成可执行的模板服务器代码,save_and_deploy_tool 将生成的代码保存到 integrations 目录以便后续加载。
    • 自动依赖安装:生成的服务器模板具备自动安装依赖的能力,必要时在运行时自动安装缺失依赖。
    • 自我修复与自愈:在发现工具启动失败时,返回错误信息供客户端分析并触发修复流程。
    • 多传输与 JSON-RPC:基于 stdio 传输进行通信,符合 MCP 的请求/响应模式,工具调用遵循原生 JSON 形式。
  • 安装步骤

    • 克隆并安装依赖:
      • git clone https://github.com/machachu56/runa.git
      • cd runa
      • 安装依赖:根据仓库提供的要求执行,如 pip install -r requirements.txt(如存在)
    • 启动 MCP 服务器(示例;请在具备 Python 环境的终端中执行):
      • 直接运行 integrations/autoupgrade.py
      • 该脚本会以 RunaMCP 为服务器名启动,并通过标准输入/输出 (stdio) 与 MCP 客户端通信
    • MCP 客户端配置(重要说明:MCP 客户端需要知道服务器启动命令和参数,才能通过 JSON-RPC 连接)
      • 服务器名称:RunaMCP
      • 启动命令(command):python3
      • 启动参数(args):[ "integrations/autoupgrade.py" ]
      • 其余连接参数由客户端按 MCP 客户端实现的要求管理
  • 服务器配置(JSON 说明,供 MCP 客户端理解并配置,非代码块展示) { "server_name": "RunaMCP", "command": "python3", "args": ["integrations/autoupgrade.py"], "description": "MCP 服务器,用于自我进化的工具管理、代码读取/生成与集成仓库操作。通过 stdio 与 MCP 客户端进行 JSON-RPC 通信。" }

  • 基本使用方法

    • 启动服务器后,MCP 客户端在其工作循环中会以 JSON-RPC 的形式请求工具列表、执行工具、读取本地文件等操作。
    • 客户端可以通过工具描述(type: function 和 parameters)了解可用工具及其参数格式,调用工具时返回文本结果。
    • 如需新增工具,可通过 generate_server_code 生成模板服务器代码,随后使用 save_and_deploy_tool 保存到 integrations 目录,客户端在下次刷新时即可识别新工具。
    • 如需查看某个服务器脚本的内容,使用 read_server_code,并在返回内容中了解实现细节。
  • 备注

    • 该实现以自我进化为目标,所有新工具的安装与部署都尽可能在运行时完成,强调在隔离环境中操作以降低风险。
    • 使用时请确保环境隔离,避免自动安装对系统造成影响。

关键词 自我进化工具, 动态工具生成, GitHub 集成, 本地脚本管理, AI 辅助开发

分类ID 6

服务器信息