Rossum MCP Server 与 Agent

使用说明

  • 项目简介

    • 该仓库实现了一个以 MCP(Model Context Protocol,模型上下文协议)为核心的后端服务框架,聚合对资源、工具、以及提示模板的管理与执行能力,并提供与 Rossum API 的集成,面向向大型语言模型(LLM)客户端提供结构化、可扩展的上下文信息与功能接口。
  • 主要功能点

    • 资源管理:上传、读取、更新、删除及关联资源(如队列、工作区、模式等)的能力。
    • 工具管理与执行:注册、发现、加载并执行与队列、模式、钩子、引擎等相关的工具,支持按需动态加载。
    • 提示模板与工作流:定义、获取和渲染 Prompt 模板,便于实现可定制的 LLM 交互模式。
    • MCP 服务器架构:通过 JSON-RPC 风格的请求/响应,与客户端对话,支持会话管理、能力声明以及多传输协议(如 Stdio、SSE、WebSocket)。
    • Rossum API 集成:在后端通过 Rossum API 客户端实现文档、注释、引擎及工作流等操作的对接。
  • 安装步骤

    • 本仓库包含四个独立的 Python 包,建议按需安装:
      • rossum-mcp
      • rossum-agent
      • rossum-agent-client
      • rossum-deploy
    • 常用开发与测试流程(在本地开发时):
      • 安装全部扩展包:pip install -e .[all](或按照各自包的 README 进行安装)
      • 设置必要的环境变量:
        • ROSSUM_API_BASE_URL: Rossum API 的基准地址,例如 https://api.elis.rossum.ai/v1
        • ROSSUM_API_TOKEN: API 访问令牌
        • ROSSUM_MCP_MODE: 读取/写入模式,默认 read-write
      • 启动 MCP 服务器(示例命令)
        • python -m rossum_mcp.server
      • 启动 Agent UI(若需要可视化管理,详见各包 README)
    • 运行测试(开发阶段可选)
      • 直接执行 pytest,或按照项目中的 regression_tests 进行回归测试。
  • 服务器配置(JSON,供 MCP 客户端使用的启动配置示例)

    • 该配置用于 MCP 客户端在连接服务器时的初始参数设定。注意以下字段按实际环境替换: { "server_name": "rossum-mcp-server", "command": "python", "args": ["rossum_mcp/server.py"], "environment": { "ROSSUM_API_BASE_URL": "https://api.elis.rossum.ai/v1", "ROSSUM_API_TOKEN": "your-token", "ROSSUM_MCP_MODE": "read-write" } }
    • 说明:
      • server_name:服务器名称,便于标识。
      • command/args:启动服务器的命令及参数,客户端通过此信息启动并连接服务器。
      • environment:启动时注入的环境变量,包含对 Rossum API 的访问配置及 MCP 模式设定。请确保 TOKEN 与 Base URL 与实际环境一致。
    • 注:MCP 客户端仅需这个配置信息来启动并连接服务器,不需要额外的代码。
  • 基本使用方法

    • 启动与连接
      • 启动后端服务器,确保环境变量正确配置(特别是 Rossum API 相关凭证和基地址)。
      • 客户端通过 JSON-RPC 调用服务器提供的资源、工具、以及 Prompts 相关的接口。
    • 发现与调用工具
      • 先使用工具发现接口目录(类别与工具清单),再按需加载并调用具体工具。
    • 资源与引擎管理
      • 使用相应工具对队列、工作区、模式、引擎等进行管理与查询。
    • Prompts 与模板
      • 使用提示模板工具获取、渲染并应用提示模板,用于对话式交互。
    • 安全与模式
      • 通过环境变量和工具内置的只读/写入检查,确保在只读模式下不可进行写操作。
  • 说明性提示

    • 本实现的核心在于将 Rossum 的 API 操作、MCP 的工具集以及对话提示的编排,提供一个可扩展、可观测的后端服务,方便 LLM 客户端以标准化的 JSON-RPC 方式进行上下文获取、功能调用与对话渲染。

服务器信息