🚀 Quick MCP To-Do Server
A to-do server based on FastMCP for the Swarmonomicon project. This server receives to-do requests via FastMCP and stores them in MongoDB for use by the Swarmonomicon to-do handler.
🚀 Quick Start
This Quick MCP To-Do Server is designed to receive to-do requests and store them in MongoDB. It's an integral part of the Swarmonomicon project, facilitating task management and distribution.
✨ Features
- FastMCP-based Server: Receives to-do requests efficiently.
- MongoDB Integration: Stores to-do items for easy retrieval.
- Swarmonomicon Compatibility: Works seamlessly with the Swarmonomicon handler.
- Python Implementation: Ensures flexibility and ease of development.
📦 Installation
-
Clone the repository:
git clone https://github.com/DanEdens/Omnispindle.git cd Omnispindle -
Install uv (if not already installed):
curl -LsSf https://astral.sh/uv/install.sh | sh -
Create and activate a virtual environment with uv:
uv venv source .venv/bin/activate # On Unix/macOS # Or .venv\Scripts\activate # On Windows -
Install dependencies using uv:
uv pip install -r requirements.txt -
For development, install additional development dependencies:
uv pip install -r requirements-dev.txt -
Create a
.envfile to configure your settings:MONGODB_URI=mongodb://localhost:27017 MONGODB_DB=swarmonomicon MONGODB_COLLECTION=todos
💻 Usage Examples
Basic Usage
Start the Server
- Start the FastMCP server:
python -m src.Omnispindle
Add a To-Do Item
You can add to-do items in multiple ways using FastMCP:
-
Using the FastMCP Python client:
from fastmcp import FastMCPClient client = FastMCPClient() response = await client.call_tool("add_todo", { "description": "Example to-do item", "priority": "high", # Optional, default is "medium" "target_agent": "user" # Optional, default is "user" }) -
Publishing directly via MQTT:
mosquitto_pub -t "mcp/todo/new" -m '{ "description": "Example to-do item", "priority": "high", "target_agent": "user" }'
Advanced Usage
Development
-
Run tests:
pytest tests/ -
Run tests with coverage:
pytest --cov=src tests/ -
Run a specific test file:
pytest tests/test_todo_handler.py -v
📚 Documentation
Integration with Swarmonomicon
This server is part of the larger Swarmonomicon project, which offers:
- Task management and distribution
- Agent-based task handling
- Real-time updates via MQTT
- Integration with various AI models
For more information about the Swarmonomicon project and its features, refer to the main project's documentation.
📄 License
This project is licensed under the MIT License.
👥 Contribution
- Fork the repository.
- Create a feature branch.
- Make your changes.
- Add tests for new features.
- Submit a pull request.
For the main guidelines on contributing to the Swarmonomicon project, refer to the main project's contribution guide.









