Omnispindle MCP server
Commit 3. Nov. 2026Lass KI-Agenten Aufgaben verwalten, Wissen erfassen, Arbeitssitzungen tracken und semantische Suchen über Multi-Projekt-Ökosysteme hinweg durchführen.
Auch bekannt als MadnessEngineering/Omnispindle
- Stars
- 10
- Tools
- 46
- Downloads, 30 Tage
- —
- Neueste Version
- —
- Letzter Commit
- 3. Nov. 2026
- Lizenz
- —
Was ist Omnispindle MCP?
Omnispindle ist ein MCP server. Lass KI-Agenten Aufgaben verwalten, Wissen erfassen, Arbeitssitzungen tracken und semantische Suchen über Multi-Projekt-Ökosysteme hinweg durchführen. Er stellt 46 Tools bereit, etwa add_todo, query_todos, update_todo.
Zusammenfassung generiert aus dem README des Projekts
Über Omnispindle MCP server
Omnispindle dient als Koordinationsschicht für KI-Agenten, die in Multi-Projekt-Ökosystemen arbeiten. Es bietet eine standardisierte Schnittstelle zum Verwalten von Aufgaben, zum Erfassen von institutionellem Wissen und zum Tracken von Arbeitssitzungen durch einen detaillierten Genealogy-Tree. Das System ist für Entwickler konzipiert, die möchten, dass ihre Agenten ein persistentes Gedächtnis an gelernte Lektionen und Projektfortschritte über verschiedene Sitzungen hinweg behalten.
Nutzer können diesen Server als lokalen stdio-Prozess für Claude Desktop oder als HTTP-Webserver bereitstellen. Er unterstützt verschiedene Betriebsmodi wie api, hybrid, local und auto, was sowohl cloud-native Setups als auch Offline-Entwicklung mit MongoDB ermöglicht. Die Authentifizierung erfolgt über Auth0 mittels eines Zero-Config Device Flows, der beim ersten Tool-Aufruf einen Browser für den Login öffnet.
Der Server bietet 38 Tools in sieben Kategorien, die mithilfe spezifischer Loadouts wie basic, minimal oder admin eingeschränkt werden können, um das Token-Budget zu verwalten. Zu den Kernfunktionen gehören die semantische Suche via Vector Embeddings über das find_relevant Tool, komplexe Todo-Abfragen und die Möglichkeit, mithilfe des Quest-Systems epische Ziele zu erstellen.
Was du damit machen kannst
- 1Komplexe Aufgabenhierarchien verwaltenEin Agent kann mehrstufige Ziele erstellen, indem er das Quest-System anstelle von einzelnen Aufgaben nutzt.
- 2Projektkontext effizient abrufenEin Entwickler kann einen Agenten anweisen, alle aktuellen Projektdaten mit einem einzigen Befehl zu sammeln.
- 3Langfristiges Projektgedächtnis aufrechterhaltenAgenten können spezifische technische Erkenntnisse speichern und über die semantische Bedeutung statt nur über Keywords suchen.
- 4KI-Arbeitsverlauf nachverfolgenEin Nutzer kann einen Agenten bitten, die Historie und die Verbindungen verschiedener Arbeitssitzungen abzubilden.
Geschrieben aus dem README des Projekts. Jeder Use Case wurde gegen ein Zitat daraus geprüft.
Omnispindle MCP tools 46
Erkannt aus dem READMEadd_todoquery_todosupdate_tododelete_todoget_todocomplete_todolist_todos_by_statussearch_todoslist_project_todosadd_lessonget_lessonupdate_lesson
| add_todo | — | |
| query_todos | — | |
| update_todo | — | |
| delete_todo | — | |
| get_todo | — | |
| complete_todo | — | |
| list_todos_by_status | — | |
| search_todos | — | |
| list_project_todos | — | |
| add_lesson | — | |
| get_lesson | — | |
| update_lesson | — |
Alle 46 Tools anzeigenWeniger Tools anzeigen
delete_lessonsearch_lessonsgrep_lessonslist_lessonsinventorium_sessions_listinventorium_sessions_getinventorium_sessions_createinventorium_sessions_spawninventorium_sessions_forkinventorium_sessions_genealogyinventorium_sessions_treeinventorium_todos_link_sessioncreate_questcheck_questlist_questslink_questupdate_questget_context_bundlefind_relevantpreflight_ragquery_todo_logslist_projectspoint_out_obviousbring_your_ownfullbasicminimallessonsadminwrite_onlyread_onlylightweightagent_preflightrefine
| delete_lesson | — | |
| search_lessons | — | |
| grep_lessons | — | |
| list_lessons | — | |
| inventorium_sessions_list | — | |
| inventorium_sessions_get | — | |
| inventorium_sessions_create | — | |
| inventorium_sessions_spawn | — | |
| inventorium_sessions_fork | — | |
| inventorium_sessions_genealogy | — | |
| inventorium_sessions_tree | — | |
| inventorium_todos_link_session | — | |
| create_quest | — | |
| check_quest | — | |
| list_quests | — | |
| link_quest | — | |
| update_quest | — | |
| get_context_bundle | — | |
| find_relevant | — | |
| preflight_rag | — | |
| query_todo_logs | — | |
| list_projects | — | |
| point_out_obvious | — | |
| bring_your_own | — | |
| full | — | |
| basic | — | |
| minimal | — | |
| lessons | — | |
| admin | — | |
| write_only | — | |
| read_only | — | |
| lightweight | — | |
| agent_preflight | — | |
| refine | — |
Konfiguration
MADNESS_AUTH_TOKENMCP_USER_EMAILMONGODB_DBMONGODB_URIMQTT_HOSTMQTT_PORTOMNISPINDLE_FALLBACK_ENABLEDOMNISPINDLE_MODEOMNISPINDLE_TOOL_LOADOUTOMNISPINDLE_VALIDATE_PROJECT_NAMES
| Name | Beschreibung | Typ |
|---|---|---|
| MADNESS_AUTH_TOKEN | — | |
| MCP_USER_EMAIL | — | |
| MONGODB_DB | — | |
| MONGODB_URI | — | |
| MQTT_HOST | — | |
| MQTT_PORT | — | |
| OMNISPINDLE_FALLBACK_ENABLED | — | |
| OMNISPINDLE_MODE | — | |
| OMNISPINDLE_TOOL_LOADOUT | — | |
| OMNISPINDLE_VALIDATE_PROJECT_NAMES | — |
Automatisierte Checks
Geluften am 14. Nov. 2026Vollständiger Bericht →Noch nicht verifiziert. Ein Server benötigt einen Score von 80, keine kritischen Befunde und genug Daten für unsere Prüfung. Wie die Checks funktionieren · Was du für mehr Punkte verbessern kannst
- Source Repository verknüpft und erreichbarmadnessengineering/omnispindle is public and reachablegithub.com/madnessengineering/omnispindle ↗Bestanden
- Paket nennt dieses Repository als QuelleNicht geprüft
- Build-Provenienz (Sigstore-Attestierung)Nicht geprüft
- Open Source Lizenz (OSI)No licenseBefund
- Commit oder Release im letzten JahrLast commit or release 2026-11-03github.com/madnessengineering/omnispindle ↗Bestanden
- OpenSSF ScorecardNicht geprüft
- Package-Name ähnelt keinem populären PackageNicht geprüft
- Keine kritischen Advisories im Paket oder seinen AbhängigkeitenNicht geprüft
- Keine versteckten Anweisungen an das Modell46 tool descriptions and the README read; no override phrases, credential paths or hidden charactersBestanden
- Destruktive Tools sind markiertNicht geprüft
- Remote-Endpoint beantwortet den MCP-HandshakeNicht geprüft
README
Auf GitHub ansehenOmnispindle
A todo system that went wonderfully, intentionally wrong.
Omnispindle is the coordination spine of the Madness Interactive ecosystem — a Python FastMCP server with 38 tools that lets AI agents manage tasks, capture knowledge, coordinate sessions, track epic goals (quests), and navigate the whole workshop from a single, standardized interface. PyPI packaged. Auth0 integrated. Runs anywhere a MCP config lives.
It started as "let's do todos properly." It became the central nervous system for a multi-project AI-assisted development lab. Both of these things are fine.
What it actually does
Todo management — the boring part that enables everything else. Agents can create, query, update, complete, and audit tasks across any project in the ecosystem with full metadata, priority, target agent tracking, and change detection.
Knowledge capture — lessons learned get stored with language, topic, and tag metadata. Searchable by regex, text, or vector embedding. The institutional memory doesn't evaporate when the conversation ends.
Session tracking — AI work sessions in Inventorium can be forked, spawned, linked to todos, and traced through a full genealogy tree. Every thread of work has a parent and a lineage.
Semantic search — find_relevant uses vector embeddings to surface todos and lessons by meaning, not just keywords. get_context_bundle gives an agent the full project picture in one call.
Installation
pip install omnispindle
CLI commands available after install:
omnispindle-stdio— MCP stdio server for Claude Desktopomnispindle/omnispindle-server— HTTP web server for authenticated endpoints
Claude Desktop (zero config)
Add to claude_desktop_config.json:
{
"mcpServers": {
"omnispindle": {
"command": "omnispindle-stdio",
"env": {
"OMNISPINDLE_MODE": "api",
"OMNISPINDLE_TOOL_LOADOUT": "basic",
"MCP_USER_EMAIL": "you@example.com"
}
}
}
}
First tool call opens your browser for Auth0 login. Token saves locally. That's it.
Development
git clone https://github.com/DanEdens/Omnispindle.git
cd Omnispindle
pip install -r requirements.txt
python -m src.Omnispindle.stdio_server
Tools
Full loadout is 38 tools across 7 categories. Control what's available — and your agent's token budget — with OMNISPINDLE_TOOL_LOADOUT.
Todo Management (9 tools)
| Tool | What it does |
|---|---|
add_todo |
Create a task with project, priority, target agent, notes, and metadata |
query_todos |
MongoDB-style filter queries with projection, limit, offset, since change detection, and graph_root for dependency subgraph traversal |
update_todo |
Patch any fields; metadata is deep-merged. Supports $push/$pull on array fields (e.g. metadata.blockers) for dependency linking |
delete_todo |
Remove a task |
get_todo |
Fetch a single task by ID |
complete_todo |
Stage for review with optional comment; writes to audit log. Sets status to review, not completed |
list_todos_by_status |
Filter by status: pending initial in_progress blocked review completed |
search_todos |
Tokenized multi-word fuzzy text search |
list_project_todos |
Recent tasks for a specific project |
Knowledge / Lessons (7 tools)
| Tool | What it does |
|---|---|
add_lesson |
Capture a lesson with language, topic, and tags |
get_lesson |
Fetch by ID |
update_lesson |
Patch lesson content or metadata |
delete_lesson |
Remove |
search_lessons |
Text search across lesson fields |
grep_lessons |
Regex pattern search |
list_lessons |
Browse all lessons, with brief mode for summaries |
Inventorium Sessions (8 tools)
| Tool | What it does |
|---|---|
inventorium_sessions_list |
List sessions, optionally filtered by project |
inventorium_sessions_get |
Fetch a session by ID |
inventorium_sessions_create |
Start a new AI work session |
inventorium_sessions_spawn |
Spawn a child session from a parent, linked to a todo |
inventorium_sessions_fork |
Fork a session with optional message inheritance |
inventorium_sessions_genealogy |
Full ancestor/descendant trace for a session |
inventorium_sessions_tree |
Visual session tree for a project |
inventorium_todos_link_session |
Link a todo to a session |
Quest System (5 tools)
| Tool | What it does |
|---|---|
create_quest |
Create an epic goal container (Quest → Chains → Todos). Use instead of add_todo for multi-step objectives |
check_quest |
Progress report: % complete, per-chain status, next actions, blockers. Agent orientation tool |
list_quests |
List quests filtered by status/project |
link_quest |
Add an existing todo to a quest chain retroactively (creates chain on demand) |
update_quest |
Update quest fields: name, description, status, success_criteria, metadata |
Context & Search (4 tools)
| Tool | What it does |
|---|---|
get_context_bundle |
One call: recent todos, lessons, session state, project stats for an agent's working context |
find_relevant |
Semantic similarity search across todos and lessons. Returns honest empty when nothing clears the relevance threshold — no regex fallback noise |
preflight_rag |
Pre-task lessons check: call before starting work, classifies past solutions vs pitfalls |
write_agent_journal / read_agent_journal |
Persistent agent journal — leave notes readable by other agents for cross-agent coordination |
System / Admin (5 tools)
| Tool | What it does |
|---|---|
query_todo_logs |
Audit log queries: filter by type, project, date range |
list_projects |
Enumerate known projects from filesystem |
explain / add_explanation |
Topic explanation system: persistent knowledge cards |
point_out_obvious |
Logs an observation with configurable sarcasm. Useful for marking known issues during automated runs. |
Custom Code (1 tool)
| Tool | What it does |
|---|---|
bring_your_own |
Inject a Python, JavaScript, or shell function as a live MCP tool at runtime |
Tool Loadouts
Set OMNISPINDLE_TOOL_LOADOUT to control what's registered:
| Loadout | Tools | Use case |
|---|---|---|
full |
38 | Everything |
basic |
15 | Core todo CRUD + context + quest system |
minimal |
4 | Add, query, get, mark complete |
lessons |
8 | Knowledge management only |
admin |
16 | Admin tasks + session management |
write_only |
6 | Create/update/delete only |
read_only |
16 | Query/get only |
lightweight |
13 | Token-optimized core |
agent_preflight |
6 | Session startup: context bundle, RAG check, todo ops |
refine |
13 | Todo enrichment: audit + fill missing metadata |
Operation Modes
Set via OMNISPINDLE_MODE:
api— HTTP calls tomadnessinteractive.cc/api. No local database needed. Best for cloud-native or multi-user setups.hybrid(default) — API-first with MongoDB fallback. Reliable when the network isn't.local— Direct MongoDB connections only. Good for offline development.auto— Benchmarks both and picks the faster one.
Authentication
Zero-config device flow: On first tool call, a browser window opens for Auth0 login. Token is saved locally. All subsequent calls are authenticated without any configuration.
Manual token setup (optional):
python -m src.Omnispindle.token_exchange
Environment variables:
MADNESS_AUTH_TOKENorAUTH0_TOKEN— JWT from Auth0 device flowMCP_USER_EMAIL— required for per-user data isolationMADNESS_API_URL— override API base (default:https://madnessinteractive.cc/api)
All data is scoped per user at the database level. Your todos stay yours.
Configuration
# Operation mode
OMNISPINDLE_MODE=hybrid # api | hybrid | local | auto
OMNISPINDLE_TOOL_LOADOUT=basic # see loadouts table above
OMNISPINDLE_FALLBACK_ENABLED=true
OMNISPINDLE_VALIDATE_PROJECT_NAMES=false # optional: enable slower DB-backed project validation
# Authentication
MADNESS_AUTH_TOKEN=<jwt>
MCP_USER_EMAIL=you@example.com
# Local/hybrid database
MONGODB_URI=mongodb://localhost:27017
MONGODB_DB=swarmonomicon
# Real-time events
MQTT_HOST=localhost
MQTT_PORT=1883
Ecosystem
Omnispindle is the AI interface layer. The rest of the workshop:
Inventorium — React web dashboard and SwarmDesk 3D spatial workspace. Humans use this. It reads todos and sessions via the REST API directly — not MCP, which is strictly for AI agents. If you're clicking buttons, you're in Inventorium. If you're an agent, you're calling MCP tools.
cartogomancy — JS/TS codebase analysis tool (npm install -g @madnessengineering/cartogomancy). Point it at any JavaScript or TypeScript project; get back a rich JSON map of structure, complexity, git blame, and cross-references. Feed that map to SwarmDesk and your codebase becomes a 3D city you can walk through.
SwarmDesk — The 3D spatial visualization layer inside Inventorium. Todos, sessions, and cartogomancy code maps rendered as explorable architecture. Your project as a place, not a list.
MadnessVR — Quest 2 VR version of SwarmDesk. Put on the headset, walk through your codebase as actual geometry. This one is on the roadmap, not the release notes. But the plan exists and it's detailed.
MadQTT — Live terminal TUI for the workshop's MQTT + MongoDB event stream (pip install madqtt). Agent sessions, tool calls, and failures from every machine, readable in real time instead of a firehose.
Madness Desktop — GitHub Desktop fork wired into the workshop: composable git-hook loadouts, MQTT commit events shared across machines, and live workshop todos inside the git client.
Swarmonomicon — The core database layer. MongoDB, swarmonomicon database. Everything persistent lives here.
The architecture rule
UI (Inventorium, forms, dashboards) → REST API → Database
AI agents (Claude, any MCP client) → MCP tools → Backend → Database
Never route UI through MCP. Never call the REST API directly from an AI agent. The separation is intentional and load-bearing.
Development
# Tests
pytest tests/
# Stdio server (Claude Desktop)
python -m src.Omnispindle.stdio_server
# Web server
python -m src.Omnispindle
# Check tool count
python -c "from src.Omnispindle.tool_loadouts import _BASE_LOADOUTS; print(len(_BASE_LOADOUTS['full']), 'tools in full loadout')"
PyPI Publishing
# Build and check
python -m build
python -m twine check dist/*
# Publish
python -m twine upload dist/*
Privacy & Security
This repo contains Auth0 configs and infrastructure-as-code for our ecosystem. It's open source for learning and forking — not for deploying as-is.
If you're actually running this for your own setup:
- Fork it
- Replace all auth providers and credentials
- Point it at your own domain and database
- Review tool permissions (we're permissive by default)
This is a working system for our lab. For yours, make it yours.
Philosophy
Working now:
- Todo management for AI agents — robust, audited, per-user
- Persistent knowledge capture across projects
- Session tracking with full lineage
- Semantic search via vector embeddings
- Zero-config Auth0 that doesn't require a setup guide
Coming:
- MadnessVR: SwarmDesk on Quest 2
- Teaching prompt engineering through Terraria-style inventory mechanics
- cartogomancy → SwarmDesk → VR as one continuous pipeline
We write careful code. We're not afraid to push the boundaries when it's practical.
"Over-engineered? Maybe. Under-ambitious? Never."
Omnispindle MCP Fragen
Welche Tools bietet Omnispindle MCP?
Er stellt 46 Tools bereit, darunter add_todo, query_todos, update_todo, delete_todo, get_todo.
Wie installiere ich Omnispindle?
Du kannst es über PyPI mit dem Befehl pip install omnispindle installieren.
Wie funktioniert die Authentifizierung?
Es nutzt einen Zero-Config Device Flow, bei dem der erste Tool-Aufruf einen Browser für den Auth0-Login öffnet und das Token lokal gespeichert wird.
Kann ich die Anzahl der Tools für meinen Agenten einschränken?
Ja, du kannst das Tool-Loadout über die Umgebungsvariable OMNISPINDLE_TOOL_LOADOUT steuern, um dein Token-Budget zu verwalten.
Welche Betriebsmodi gibt es?
Es werden api (HTTP-Aufrufe), hybrid (API-first mit MongoDB-Fallback), local (direktes MongoDB) und auto (testet beides) unterstützt.