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 -104TypeScriptMIT 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 -5Python
- AsecurityAlicenseAqualityAn MCP server that enables LLMs to interact with Todoist tasks, projects, and other features through the Todoist API.Last updated -3614465TypeScriptMIT License