A curated collection of documentation and code examples for integrating Omnispindle MCP todo server capabilities with Gemini via gems. At the time of writing, Gemini does not support MCP integration, so this repository serves as a bridge to allow Gemini(or any other LLM) to interact with the Omnispindle ecosystem via a little copy-paste.
This project houses the documentation needed to understand and integrate with the Omnispindle ecosystem. It's designed to be fed into Gemini gems as a knowledge package, providing:
- Function signatures and interfaces
- Usage examples and patterns
- Project validation logic
- Data structure definitions
omnispindle_init.py
- Function signatures for MCP integrationtools_summary.py
- shows the LLM the validation logicrequirements.txt
- Dependencies for understanding the ecosystem
README_Omnispindle.txt
- Original Omnispindle project documentationREADME_Swarmonomicon.txt
- Swarmonomicon project overview
README_TodoMill.txt
- TodoMill project overviewREADME_RegressionTestKit.txt
- RegressionTestKit project overviewREADME_Dirname.txt
- Dirname project overviewproject_overview.txt
- Comprehensive system architecture
prompt_file_no_upload.md
- Prompt template for creating our MCP CLI bridge gem
When creating a Gemini gem that needs to interact with the Omnispindle ecosystem, feed these files to provide context on:
- Available Functions: Todo management, lessons learned, MQTT pub/sub
- Project Validation: Supported projects and naming conventions
- Data Formats: Expected input/output structures
- Integration Patterns: How to properly interface with the MCP server
add_todo_tool(description, project, priority="Medium", target_agent="user", metadata=None)
query_todos_tool(query_or_filter=None, fields_or_projection=None, limit=100)
update_todo_tool(todo_id, updates)
mark_todo_complete_tool(todo_id)
list_todos_by_status_tool(status, limit=100)
list_project_todos_tool(project, limit=5)
add_lesson_tool(language, topic, lesson_learned, tags=None)
search_lessons_tool(query, fields=None, limit=100)
list_lessons_tool(limit=100)
get_lesson_tool(lesson_id)
mqtt_publish_tool(topic, message, retain=False)
mqtt_get_tool(topic) # sub -C(ount) 1 to get a single message
The system validates and works with these projects:
madness_interactive
- Parent Project of chaos - Main project repositoryomnispindle
- MCP server for Managing AI todo list in pythonswarmonomicon
- Todo worker and generation project in rusttodomill_projectorium
- Todo list management Dashboard on Node-red
regressiontestkit
- Parent repo for Work projects. Balena device testing in pythonquality_assurance
- Quality assurance tasks
hammerspoon
- MacOS automation and workspace managementhammerghost
- MacOS automation menu in hammerspoon based on eventghosteventghost
- Event handling and monitoring automation. Being rewritten in Rusteventghost-rust
- Rust rewrite of EventGhost automation systemtinker
- Browser testing automation framework in Rust
cogwyrm
- Mobile app for Tasker interfacing with madness networkbalena_device_management
- Device deployment and management tasks
docker_implementation
- Tasks todo with docker and deploymentfastmcp
- FastMCP server implementations and templateslab_management
- Lab management general project
documentation
- Documentation for all projectsspindlewrit
- Writing and documentation project
inventorium
- Madnessinteractive.cc website and Todo Dashboard - React
scope.availableProjects = [
"madness_interactive",
"omnispindle",
"swarmonomicon",
"todomill_projectorium",
"regressiontestkit",
"quality_assurance",
"hammerspoon",
"hammerghost",
"eventghost",
"eventghost-rust",
"tinker",
"cogwyrm",
"balena_device_management",
"docker_implementation",
"fastmcp",
"lab_management",
"documentation",
"spindlewrit",
"inventorium"
]
{
"id": "unique_id",
"description": "Task description",
"project": "validated_project_name",
"priority": "Low|Medium|High",
"target_agent": "user",
"status": "pending",
"created_at": "2024-01-01T00:00:00Z",
"metadata": {
"ticket": "PROJ-123",
"tags": ["feature", "urgent"],
"notes": "Additional context"
}
}
{
"id": "unique_id",
"language": "Python",
"topic": "Async Patterns",
"lesson_learned": "Use asyncio.gather() for parallel execution",
"tags": ["async", "performance"],
"created_at": "2024-01-01T00:00:00Z"
}
When creating a gem that needs MCP integration:
- Feed this entire repository to Gemini for context
- Reference the function signatures in
omnispindle_init.py
- Use the prompt template in
prompt_file_no_upload.md
to create your MCP CLI bridge gem
Note: This is a knowledge repository, not executable code. Use these files to understand the Omnispindle ecosystem when building Gemini gems that need MCP integration.