FastMCP Todo Server
A FastMCP-based Todo Server for the Swarmonomicon project. This server receives todo requests via FastMCP and stores them in MongoDB for processing by the Swarmonomicon todo worker.
Features
FastMCP server for receiving todo requests
MongoDB integration for todo storage
Compatible with Swarmonomicon todo worker
Python-based implementation
Related MCP server: Coding Todo Server
Installation
Clone the repository:
git clone https://github.com/DanEdens/Omnispindle.git cd OmnispindleInstall uv (if not already installed):
curl -LsSf https://astral.sh/uv/install.sh | shCreate and activate a virtual environment with uv:
uv venv source .venv/bin/activate # On Unix/macOS # or .venv\Scripts\activate # On WindowsInstall dependencies with uv:
uv pip install -r requirements.txtFor development, install additional dependencies:
uv pip install -r requirements-dev.txtCreate a
.envfile with your configuration:MONGODB_URI=mongodb://localhost:27017 MONGODB_DB=swarmonomicon MONGODB_COLLECTION=todos
Usage
Starting the Server
Start the FastMCP server:
python -m src.Omnispindle
Adding Todos
You can add todos using FastMCP in several ways:
Using FastMCP Python client:
from fastmcp import FastMCPClient client = FastMCPClient() response = await client.call_tool("add_todo", { "description": "Example todo", "priority": "high", # optional, defaults to "medium" "target_agent": "user" # optional, defaults to "user" })Using MQTT directly:
mosquitto_pub -t "mcp/todo/new" -m '{ "description": "Example todo", "priority": "high", "target_agent": "user" }'
Development
Run tests:
pytest tests/Run tests with coverage:
pytest --cov=src tests/Run specific test file:
pytest tests/test_todo_handler.py -v
Integration with Swarmonomicon
This server is part of the larger Swarmonomicon project, which provides:
Task management and distribution
Agent-based task processing
Real-time updates via MQTT
Integration with various AI models
For more information about the Swarmonomicon project and its features, check out the main project documentation.
License
MIT License
Contributing
Fork the repository
Create a feature branch
Make your changes
Add tests for new functionality
Submit a pull request
For more information about contributing to the Swarmonomicon project, see the main project's contributing guidelines.