Omnispindle - The pen of a Mad Man's Todo List (and probably a few other things 🤷)
A comprehensive FastMCP-based todo management system that serves as a central nervous system for multi-project task coordination. Part of the Madness Interactive ecosystem, Omnispindle combines AI-powered task insights, an MCP toolbelt, and task board to transform chaos into productivity.
Example of a todo output from Claude Sonnet 4.0 without anything being additional being added to the prompt:
🔮 Architecture Overview
Omnispindle consists of multiple integrated components:
- MCP Server Core: FastMCP-based server providing standardized tool interfaces for AI agents
- Todomill Projectorium: Task dashboard for visual task management and AI insights
- MongoDB Backend: Persistent storage for todos, lessons learned, and audit logs
- MQTT Integration: Real-time messaging for cross-system coordination
- AI Assistant: Integrated AI suggestions and task analysis capabilities
✨ Key Features
🤖 AI Agent Integration
- MCP Tool Interface: Standardized tools for AI agents to create, update, and manage todos
- Multi-Project Support: Organize tasks across Madness_Interactive, Omnispindle, Swarmonomicon, and your own.
- Intelligent Suggestions: AI-powered task analysis and duplicate detection, refactor suggestion
- Lessons Learned: Knowledge capture system for development insights
- Automated Workflows: Agent-driven task orchestration and status updates
📊 Visual Dashboard (Todomill Projectorium)
- Interactive Interface: Rich web-based dashboard with filtering and sorting, controlable via all the commonly expected AI chatbot features (like "show me the todos for the project 'Omnispindle'")
- Real-time Updates: Live task synchronization via MQTT messaging
- AI-Enhanced Views: Visual indicators for AI suggestions and insights
- Project-based Organization: Sidebar navigation and project-specific views
🔗 System Integration
- MQTT Messaging: Pub/sub architecture for real-time coordination
- Comprehensive Metadata: Priority, status, project assignment, and custom fields
- Audit Logging: Complete history tracking for all task operations
- MongoDB Storage: Scalable document storage with flexible querying
- Cross-Platform APIs: RESTful and MCP interfaces for diverse integrations
- Docker Support: Containerized deployment with docker-compose orchestration
The captured tasks integrate seamlessly with the Todomill Projectorium dashboard, where you can review, refine, and execute them when you're ready to tackle them.
🚀 Quick Start
Installation
- Clone the repository:
- Install with uv (recommended):
- Configure environment:
- Start with Docker (easiest):
Configuration
Create a .env
file with your settings:
🛠 Usage
MCP Integration (Claude Desktop)
Docker Configuration
Add to your Claude Desktop claude_desktop_config.json
:
Docker Compose Configuration
Local Development Configuration
Available MCP Tools
The server exposes the following tools for AI agents:
add_todo_tool
- Create new tasks with metadataquery_todos_tool
- Search and filter tasksupdate_todo_tool
- Modify existing tasksmark_todo_complete_tool
- Complete taskslist_project_todos_tool
- Get tasks by projectadd_lesson_tool
- Capture lessons learnedsearch_lessons_tool
- Query knowledge basemqtt_publish_tool
- Send real-time messagesmqtt_get_tool
- Retrieve MQTT messages
Starting the MCP Server
Using MCP Tools (for AI Agents)
The server exposes standardized MCP tools that AI agents can call:
API Usage
Node-RED Dashboard
- Access the dashboard at
http://localhost:1880/ui
- Import flows from
Todomill_projectorium/ExportedNodeRedTabs/
- Configure MQTT connection to point to your Omnispindle instance
📁 Project Structure
🔧 Development
Running Tests
Working with the Node-RED Dashboard
- Edit JavaScript/HTML files in
Todomill_projectorium/
- Copy changes to Node-RED editor
- Export updated flows to JSON files
- Commit both the extracted files and JSON exports
Adding New MCP Tools
- Define the tool function in
src/Omnispindle/tools.py
- Register the tool in
src/Omnispindle/__init__.py
- Add tests in
tests/
- Update documentation
🌐 Integration Examples
Swarmonomicon Integration
GitHub Issues Sync
MQTT Event Streaming
🤝 Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature
- Make your changes and add tests
- Run the test suite:
pytest tests/
- Submit a pull request
Development Guidelines
- Follow PEP 8 for Python code style
- Write tests for new features
- Update documentation for API changes
- Use semantic commit messages
📄 License
MIT License - see LICENSE file for details.
🔗 Related Projects
- Madness Interactive - Parent project ecosystem
- Swarmonomicon - Distributed task processing system
- FastMCP - Model Context Protocol server framework
📞 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: docs/ directory
"In the chaotic symphony of development tasks, Omnispindle conducts with AI-powered precision!" 🎭✨
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A server that receives todo requests via FastMCP and stores them in MongoDB for processing by the Swarmonomicon todo worker.
Related MCP Servers
- AsecurityAlicenseAqualityA Model Context Protocol (MCP) server that provides tools for managing todo items, including creation, updating, completion, deletion, searching, and summarizing tasks.Last updated -1023TypeScriptMIT License
- -securityFlicense-qualityAn MCP server that provides tools and resources for managing a coding project's todo list, allowing users to view, add, update, and delete todo items with details like priority, status, and tags.Last updated -1Python
- -securityFlicense-qualityA todo management server that receives requests via FastMCP and stores them in MongoDB for processing by the Swarmonomicon todo worker.Last updated -7Python
- AsecurityFlicenseAqualityA server implementation that enables LLMs to programmatically manage tasks in Todo.txt files using the Model Context Protocol (MCP), supporting operations like adding, completing, deleting, listing, searching, and filtering tasks.Last updated -11127TypeScript