Auxilia MCP 服务端

使用说明(Markdown 格式)

  • 项目简介 Auxilia 是一个完整的 MCP 服务端实现,具备会话管理、服务器注册与授权、工具与权限管理、工具同步、以及对外提供可扩展的上下文服务能力。服务器端通过 REST/HTTP 接口管理 MCP 服务器、绑定关系及工具元数据,并通过 OAuth2、API Key 等方式进行认证授权,支持后端对外的流式交互和工具执行能力。

  • 主要功能点

    • MCP 服务器注册、查询、更新与删除
    • 支持多种认证方式:无认证、API Key、OAuth2
    • 绑定 Agent 与 MCP 服务器及工具权限(enabled_tools、tools 状态等)
    • 自动获取并同步服务器工具列表(支持 HITL/审批流的工具管理)
    • OAuth 回调、动态/静态客户端注册、以及基于存储的凭证管理
    • 与 LangGraph/LangChain 等组件的集成,实现对模型、工具和流式消息的协作处理
    • 支持流式输出的通道与工具调用处理(包括 tool-input-start、tool-input-available、tool-output-available 等事件序列)
    • 支持官方/自定义 MCP 服务器的扩展与管理,含迁移与种子数据
    • 兼容多传输形式的紧耦合/解耦实现(包括 API 调用、流式传输、JSON-RPC/CLI 接入场景的基础支撑)
  • 安装与运行

    • 本地开发/运行:按仓库提供的 Docker 构建与启动流程即可(如 make build && make up),也可在本地环境中直接安装依赖后用 uvicorn 启动 FastAPI 应用。
    • 依赖要点:Python 环境、FastAPI、SQLModel、SQLAlchemy、Redis、OAuth、LangGraph/LangChain 相关组件,以及数据库(PostgreSQL)与 Redis 服务。
  • 服务器配置(给 MCP 客户端的启动信息,配置信息为 JSON,包含 server name、command、args 等) 注:MCP 客户端通常需要提供服务器启动信息用于连接与执行。以下信息用于描述服务器的启动方式,便于客户端在没有直接代码接入的情况下进行配置管理(实际使用时,请以 MCP 客户端对接格式为准): { "server_name": "Auxilia MCP Server", "command": "uvicorn", "args": [ "backend.app.main:app", "--host", "0.0.0.0", "--port", "8000" ], "description": "Auxilia 提供的 MCP 服务端入口,基于 FastAPI 实现,支持资源、工具和工具权限的管理与执行。" } 说明:

    • server_name 用于标识该 MCP 服务端实例
    • command/args 组合描述启动服务器的命令及参数,便于 MCP 客户端在需要时直接以该信息进行进程化启动
    • 实际部署时,请确保网络可达性、数据库与缓存服务可用,并配置好所需的环境变量(如数据库URL、Redis 地址、OAuth 客户端信息等)
  • 基本使用方法

    • 通过 REST API 管理 MCP 服务器、模型提供商、线程、Agents、工具同步等
    • 通过 OAuth/API Key 等方式完成对 MCP 服务器的认证与授权
    • 使用客户端工具与 MCP 服务器建立连接,获取工具、执行工具并接收流式输出
    • 对于多 MCP 服务器的场景,支持跨服务器工具的聚合、授权控制与统一配置

服务器信息