F

FastMCP待办服务

@DanEdens/fastmcp-todo-server
0 Stars 612 次浏览 DanEdens 更新于 2026-08-23

一个待办事项管理服务器,通过FastMCP接收请求,并将它们存储在MongoDB中,以供Swarmonomicon待办事项工作器处理。

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "omnispindle": {
      "args": [
        "-m",
        "src.Omnispindle"
      ],
      "command": "python",
      "cwd": "/path/to/Omnispindle",
      "env": {
        "MONGODB_DB": "swarmonomicon",
        "MONGODB_URI": "mongodb://localhost:27017",
        "MQTT_HOST": "localhost"
      }
    }
  }
}

该服务需要配置环境变量:MONGODB_COLLECTION、MONGODB_DB、MONGODB_URI

服务介绍

FastMCP 待办事项服务器

一个基于 FastMCP 的待办事项服务器,用于 Swarmonomicon 项目。该服务器通过 FastMCP 接收待办请求,并将它们存储在 MongoDB 中,以便 Swarmonomicon 的待办事项工作者进行处理。

特性

  • 用于接收待办请求的 FastMCP 服务器
  • 与 MongoDB 集成以存储待办事项
  • 与 Swarmonomicon 待办事项工作者兼容
  • 基于 Python 的实现

安装

  1. 克隆仓库:

    git clone https://github.com/DanEdens/Omnispindle.git
    cd Omnispindle
    
  2. 安装 uv(如果尚未安装):

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  3. 使用 uv 创建并激活虚拟环境:

    uv venv
    source .venv/bin/activate  # 在 Unix/macOS 上
    # 或者
    .venv\Scripts\activate  # 在 Windows 上
    
  4. 使用 uv 安装依赖项:

    uv pip install -r requirements.txt
    
  5. 对于开发,安装额外的依赖项:

    uv pip install -r requirements-dev.txt
    
  6. 创建一个包含你的配置的 .env 文件:

    MONGODB_URI=mongodb://localhost:27017
    MONGODB_DB=swarmonomicon
    MONGODB_COLLECTION=todos
    

使用

启动服务器

  1. 启动 FastMCP 服务器:
    python -m src.Omnispindle
    

添加待办事项

你可以使用 FastMCP 以多种方式添加待办事项:

  1. 使用 FastMCP Python 客户端:

    from fastmcp import FastMCPClient
    
    client = FastMCPClient()
    response = await client.call_tool("add_todo", {
        "description": "示例待办事项",
        "priority": "high",  # 可选,默认为 "medium"
        "target_agent": "user"  # 可选,默认为 "user"
    })
    
  2. 直接使用 MQTT:

    mosquitto_pub -t "mcp/todo/new" -m '{
        "description": "示例待办事项",
        "priority": "high",
        "target_agent": "user"
    }'
    

开发

  1. 运行测试:

    pytest tests/
    
  2. 运行带有覆盖率的测试:

    pytest --cov=src tests/
    
  3. 运行特定测试文件:

    pytest tests/test_todo_handler.py -v
    

与 Swarmonomicon 的集成

该服务器是更大的 Swarmonomicon 项目的一部分,该项目提供:

  • 任务管理和分发
  • 基于代理的任务处理
  • 通过 MQTT 实时更新
  • 与各种 AI 模型的集成

有关 Swarmonomicon 项目及其功能的更多信息,请参阅 主项目文档

许可证

MIT 许可证

贡献

  1. 分叉仓库
  2. 创建特性分支
  3. 进行更改
  4. 为新功能添加测试
  5. 提交拉取请求

有关向 Swarmonomicon 项目贡献的更多信息,请参阅 主项目的贡献指南

相关 MCP 服务