项目简介

Omnispindle 是一个专门为 LLM 客户端设计的后端服务,用于管理待办事项和经验总结。它通过 FastMCP(一种基于 MCP 的协议)与 LLM 客户端通信,提供标准的接口来访问和操作数据,以及调用各种工具。该服务使用 MongoDB 存储数据,并可以集成到更大的自动化系统中。

主要功能点

  • 待办事项管理: 创建、查询、获取详情、更新、删除待办事项,并支持按状态、项目和关键字进行搜索。
  • 经验总结管理: 记录、获取详情、更新、删除经验总结,并支持按关键字和标签进行搜索。
  • 日志记录: 详细记录所有待办事项的创建、更新、完成、删除操作,并提供日志查询功能。
  • MQTT 集成: 允许通过工具调用发布和获取 MQTT 消息,便于与其他系统联动。
  • AI 辅助功能 (部分实现): 提供待办事项的 AI 辅助分析和建议(如优先级推荐、自动化建议,部分功能待完善)。
  • 调度建议 (部分实现): 提供待办事项的截止日期和时间槽建议(部分功能待完善)。
  • 标准化接口: 通过 FastMCP (JSON-RPC over SSE 或 MQTT) 提供统一的 API 接口供 LLM 客户端调用。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/MadnessEngineering/Omnispindle.git
    cd Omnispindle
  2. 安装 uv (如果未安装):
    curl -LsSf https://astral.sh/uv/install.sh | sh
  3. 创建并激活虚拟环境:
    uv venv
    source .venv/bin/activate  # On Unix/macOS
    # or
    .venv\Scripts\activate  # On Windows
  4. 安装依赖:
    uv pip install -r requirements.txt
  5. 配置 MongoDB: 创建项目根目录下的 '.env' 文件,并填写您的 MongoDB 连接信息。例如:
    MONGODB_URI=mongodb://localhost:27017
    MONGODB_DB=swarmonomicon
    MONGODB_COLLECTION=todos
  6. 启动 MongoDB: 确保您的 MongoDB 服务正在运行。

服务器配置

这是一个 MCP 服务器,需要由您的 MCP 客户端启动和管理。MCP 客户端通常需要知道如何启动服务器进程以及使用哪种传输协议进行通信。

典型的 MCP 客户端配置中,用于启动 Omnispindle 服务器的参数可能如下:

  • Server Name (服务器名称): 'todo-server' (或您在 LLM 应用配置中为此服务指定的任何名称)
  • Command (启动命令): 'python'
  • Args (命令参数): '-m src.Omnispindle'
  • Transport (传输协议): 'sse' 或 'mqtt' (取决于 FastMCP 的配置以及客户端支持的协议)

您不需要在此配置服务器本身。上述信息是提供给您的 LLM 客户端(或其他 MCP 客户端)使用的,以便它能正确地启动并连接到 Omnispindle 服务。

基本使用方法

  1. 确保 MongoDB 和可选的 MQTT Broker (如 Mosquitto) 正在运行。
  2. 在 Omnispindle 项目的根目录,激活您在安装步骤中创建的 Python 虚拟环境。
  3. 启动服务器:
    python -m src.Omnispindle
  4. 服务器启动后,它将监听配置的端口(默认为 8000,可在 '.env' 文件中设置 PORT 环境变量)。
  5. 您的 LLM 客户端(或其他支持 MCP 的应用)即可通过配置的传输协议(如 SSE 或 MQTT)连接到此服务器,发现并调用暴露的 MCP 工具(如 'add_todo_tool', 'query_todos_tool', 'add_lesson_tool', 'get_lesson_tool' 等)来与待办事项和经验总结数据进行交互。客户端将通过这些工具的返回结果获取上下文信息和执行后端操作。

信息

分类

生产力应用