Osoba MCP 服务端

使用说明(简明版):

  • 项目简介
    • Osoba MCP 服务端通过 FastAPI 与若干独立的 MCP 服务模块协同工作,提供对资源(文档、数据库、网页等)、工具(搜索、数据分析、编程支持、编码工作区等)和提示模板的标准化访问。核心目标是为 LLM 客户端提供统一、可扩展的上下文与外部能力接入。
  • 主要功能点
    • 多工具 MCP 服务集合:Web 搜索、MySQL 查询、YouTube 转录、HubSpot 营销邮件、Python 数据分析、Codex 工作区等,均以 MCP 服务模块形式实现并由主服务启动与管理。
    • 资源与知识基线:文档知识库、语义内存、会话历史等本地化存储,提供上下文注入能力。
    • Prompt 模板与上下文渲染:封装的人机对话上下文、用户配置、知识库与语义内存等内容,帮助 LLM 产生更相关的回答。
    • 安全与隔离:对 Codex 工作区等执行环境进行严格隔离、输出策略、访问控制与日志记录,提供可审计的执行过程。
    • 实时/流式交互:对 LLM 的输出进行流式传输,支持工具调用与阶段性输出的并行渲染。
  • 安装步骤
    • 安装与依赖
      • 确保 Python 3.11+、Node.js 18+、MongoDB、 Ollama(本地模型)等就绪。
      • 安装后端依赖:在 backend 目录执行相应的环境搭建与依赖安装(如 requirements.txt、pip install -r requirements.txt)。
    • 启动 MCP 服务
      • 启动 FastAPI 后端:uvicorn main:app --reload --port 8000
      • 后端将自动启动并管理所有 MCP 服务模块(Web/Mysql/YouTube/HubSpot/Python/Codex 等)作为后台进程。
    • 启动前端(若需要)
      • 进入 frontend 目录,安装并运行前端开发服务器(如 npm install、npm run dev),访问默认前端界面。
  • 服务器配置(MCP 客户端所需配置) 说明:MCP 客户端连接服务器时需提供一个配置 JSON,包含服务器名称、启动命令与参数等信息,用于将 MCP 服务注册到客户端。以下示例以 Codex 工作区服务为例,实际项目中可扩展为多服务注册。 配置示例(JSON): { "server_name": "CodexWorkspaceServer", "command": "fastmcp", "args": ["run", "backend/server_codex.py"] } 注释:
    • server_name: MCP 服务的唯一标识名称,示例为 CodexWorkspaceServer,与仓库中服务器脚本相对应。
    • command: 启动该 MCP 服务的可执行程序;示例使用 fastmcp,符合仓库中 Codex 服务的启动方式。
    • args: 启动参数,包含子命令与目标脚本路径,例如 "run" 指示执行模式,后续为脚本路径 backend/server_codex.py。 注:MCP 客户端对该 JSON 的理解仅限读取 server_name、command、args,以便建立与 MCP 服务的通信通道。实际启动与运行由 MCP 客户端框架负责,仓库提供的服务端实现负责响应 MCP 请求并执行工具。
  • 基本使用方法
    • 通过 MCP 客户端向不同 MCP 服务发送请求(如读取资源、执行工具、获取 Prompts 等),服务端将返回 JSON-RPC 风格的响应或事件流。
    • 服务端具备会话管理、能力声明、以及对多种传输协议(如 Stdio、SSE、WebSocket)的支持能力。
    • 使用前请确保所需的外部凭据(API keys、数据库账号、模型密钥等)已在环境变量或配置中设置,并对敏感信息进行加密存储。

服务器信息