fastmcp-todo-server
Categories
Language:
Python
Stars:
3
Forks:
0
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.