fastmcp-todo-server
Categories
Language:
Python
Stars:
3
Forks:
1
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
Installation
-
Clone the repository:
git clone https://github.com/DanEdens/fastmcp-todo-server.git cd fastmcp-todo-server
-
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 with uv:
uv pip install -r requirements.txt
-
For development, install additional dependencies:
uv pip install -r requirements-dev.txt
-
Create a
.env
file 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.fastmcp_todo_server
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.
Publisher info
Dan Edens
🦾Working on stuff thats working on other stuff. Mad Tinker in Test. Automate all the things.
More MCP servers built with Python
MCP server that exposes the Apollo.io API functionalities as tools
Enables IDEs like Cursor and Windsurf to analyze large codebases using Gemini's extensive context window.