Omnispindle is the coordination spine of the Madness Interactive ecosystem — a Python FastMCP server with 38 tools that lets AI agents manage tasks
If you want an AI assistant working directly with Omnispindle, the omnispindle mcp server is the bridge. 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.
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.
Once connected, the assistant can call these 14 tools directly:
add_todo — Create a task with project, priority, target agent, notes, and metadataquery_todos — MongoDB-style filter queries with projection, limit, offset, since change detection, and graph_root for dependency subgraph traversalupdate_todo — Patch any fields; metadata is deep-merged. Supports $push/$pull on array fields (e.g. metadata.blockers) for dependency linkingdelete_todo — Remove a taskget_todo — Fetch a single task by IDcomplete_todo — Stage for review with optional comment; writes to audit log. Sets status to review, not completedlist_todos_by_status — Filter by status: pending initial in_progress blocked review completedsearch_todos — Tokenized multi-word fuzzy text searchlist_project_todos — Recent tasks for a specific projectadd_lesson — Capture a lesson with language, topic, and tagsget_lesson — Fetch by IDupdate_lesson — Patch lesson content or metadatadelete_lesson — Removesearch_lessons — Text search across lesson fieldsThe server is distributed via npm as @madnessengineering/cartogomancy, so most clients can run it without a manual build step. Add it to your MCP client's configuration and restart the client to pick it up — the copy-paste configs for Claude Desktop, Claude Code and Cursor are on this page.
Before the server will start you need to supply 7 environment variables: OMNISPINDLE_MODE, OMNISPINDLE_TOOL_LOADOUT, MCP_USER_EMAIL, MADNESS_AUTH_TOKEN, AUTH0_TOKEN, MADNESS_API_URL, MQTT_HOST. Keep credentials in your client's env block or a secrets manager rather than committing them.
Productivity servers pay off through capture: the tasks and notes that never get filed are the ones where opening the app is more friction than the thought is worth. Omnispindle sits in that group, and the shape of its toolset — add_todo, query_todos, update_todo among others — tells you what it is really for. Worth comparing against the other productivity servers in this directory before you commit to one, since several overlap in scope but differ sharply in setup cost and permissions.
| 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 |
| 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 |
{
"mcpServers": {
"omnispindle": {
"command": "npx",
"args": ["-y", "@madnessengineering/cartogomancy"],
"env": {
"OMNISPINDLE_MODE": "your-value",
"OMNISPINDLE_TOOL_LOADOUT": "your-value",
"MCP_USER_EMAIL": "your-value",
"MADNESS_AUTH_TOKEN": "your-value",
"AUTH0_TOKEN": "your-value",
"MADNESS_API_URL": "your-value",
"MQTT_HOST": "your-value"
}
}
}
}Add to claude_desktop_config.json, then restart Claude Desktop.
| Variable | Description | Required |
|---|---|---|
| OMNISPINDLE_MODE | Configuration value read at startup. | Optional |
| OMNISPINDLE_TOOL_LOADOUT | Configuration value read at startup. | Optional |
| MCP_USER_EMAIL | Configuration value read at startup. | Optional |
| MADNESS_AUTH_TOKEN | Credential the server authenticates with. | Yes |
| AUTH0_TOKEN | Credential the server authenticates with. | Yes |
| MADNESS_API_URL | Endpoint or connection string the server talks to. | Yes |
| MQTT_HOST | Endpoint or connection string the server talks to. | Optional |
Your workspace, on speaking terms with AI — search, read and write Notion pages and databases.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Search and read your Drive — Docs, Sheets and files become context your assistant can actually use.
Your assistant inside the workspace — read channels, search history, post messages and tame the noise.
Metabase ships its own MCP endpoint — search your BI content, build and run queries, and save questions and dashboards without leaving the chat.
Stop letting your assistant hallucinate n8n node parameters — this server hands it the real schemas, templates and validation.