Skip to main content
Glama
API_DOCUMENTATION.md7 kB
# Omnispindle MCP Tools API Documentation ## Overview Omnispindle provides a comprehensive set of MCP tools for todo management, knowledge capture, and project coordination. All tools support different operation modes and tool loadouts for optimal performance. ## Tool Loadouts Configure via `OMNISPINDLE_TOOL_LOADOUT` environment variable: - **`full`** - All 22 tools (default) - **`basic`** - Essential todo management (7 tools) - **`minimal`** - Core functionality (4 tools) - **`lessons`** - Knowledge management (7 tools) - **`admin`** - Administrative tools (6 tools) - **`hybrid_test`** - Hybrid mode testing (6 tools) ## Authentication Context All tools automatically inherit user context from: - **JWT Tokens** - Primary authentication via Auth0 device flow - **API Keys** - Alternative authentication method - **User Email** - Specified via `MCP_USER_EMAIL` environment variable ## Todo Management Tools ### add_todo **Description**: Create a new todo item with metadata and project assignment. **Parameters**: - `description` (string, required) - Task description - `project` (string, required) - Project name (must be in VALID_PROJECTS) - `priority` (string, optional) - "Low", "Medium", "High" (default: "Medium") - `target_agent` (string, optional) - Assigned agent (default: "user") - `metadata` (object, optional) - Custom metadata fields **Returns**: Todo creation confirmation with assigned ID **Example**: ```json { "description": "Implement user authentication", "project": "omnispindle", "priority": "High", "target_agent": "claude", "metadata": {"epic": "security", "estimate": "3h"} } ``` ### query_todos **Description**: Search and filter todos with MongoDB-style queries. **Parameters**: - `filter` (object, optional) - MongoDB query filter - `limit` (number, optional) - Maximum results (default: 100) - `projection` (object, optional) - Field projection - `ctx` (string, optional) - Additional context **Returns**: Array of matching todo items **Example Filters**: ```json {"status": "pending", "priority": "High"} {"project": "omnispindle", "created": {"$gte": "2025-01-01"}} {"metadata.epic": "security"} ``` ### update_todo **Description**: Modify existing todo item fields. **Parameters**: - `todo_id` (string, required) - Todo identifier - `updates` (object, required) - Fields to update **Returns**: Update confirmation **Example**: ```json { "todo_id": "12345", "updates": { "priority": "Low", "metadata": {"epic": "documentation"} } } ``` ### get_todo **Description**: Retrieve a specific todo by ID. **Parameters**: - `todo_id` (string, required) - Todo identifier **Returns**: Complete todo object ### mark_todo_complete **Description**: Mark todo as completed with optional completion comment. **Parameters**: - `todo_id` (string, required) - Todo identifier - `comment` (string, optional) - Completion notes **Returns**: Completion confirmation with timestamp ### list_todos_by_status **Description**: Get todos filtered by status. **Parameters**: - `status` (string, required) - "pending", "completed", "initial" - `limit` (number, optional) - Maximum results (default: 100) **Returns**: Array of todos with specified status ### list_project_todos **Description**: Get recent todos for a specific project. **Parameters**: - `project` (string, required) - Project name - `limit` (number, optional) - Maximum results (default: 5) **Returns**: Recent todos for the project ## Knowledge Management Tools ### add_lesson **Description**: Capture lessons learned with categorization. **Parameters**: - `title` (string, required) - Lesson title - `content` (string, required) - Lesson content - `language` (string, optional) - Programming language - `topic` (string, optional) - Subject area - `project` (string, optional) - Related project - `metadata` (object, optional) - Additional metadata **Returns**: Lesson creation confirmation ### get_lesson / update_lesson / delete_lesson **Description**: CRUD operations for lessons. **Parameters**: Lesson ID and appropriate data fields ### search_lessons **Description**: Full-text search across lesson content. **Parameters**: - `query` (string, required) - Search terms - `limit` (number, optional) - Maximum results **Returns**: Matching lessons with relevance scoring ### list_lessons **Description**: Browse all lessons with optional filtering. **Parameters**: - `limit` (number, optional) - Maximum results - `filter` (object, optional) - Optional filters **Returns**: Array of lessons ## Administrative Tools ### query_todo_logs **Description**: Access audit trail for todo modifications. **Parameters**: - `filter` (object, optional) - Log entry filters - `limit` (number, optional) - Maximum results **Returns**: Audit log entries ### list_projects **Description**: Get available project names from filesystem. **Returns**: Array of valid project names ### explain / add_explanation **Description**: Manage topic explanations and documentation. **Parameters**: Topic name and explanation content ## Hybrid Mode Tools ### get_hybrid_status **Description**: Check current operation mode and connectivity status. **Returns**: Mode status, API connectivity, fallback availability ### test_api_connectivity **Description**: Test connection to madnessinteractive.cc/api. **Returns**: Connectivity test results ## Error Handling All tools return standardized error responses: ```json { "success": false, "error": "Error description", "error_code": "SPECIFIC_ERROR_CODE" } ``` Common error codes: - `AUTH_ERROR` - Authentication failure - `VALIDATION_ERROR` - Invalid parameters - `NOT_FOUND` - Resource not found - `API_ERROR` - API connectivity issues - `DATABASE_ERROR` - Database operation failure ## Tool Configuration ### Valid Projects Tools validate project names against a predefined list including: - `omnispindle` - Main MCP server - `inventorium` - Web dashboard - `madness_interactive` - Ecosystem root - `swarmdesk` - AI environments - And others defined in `VALID_PROJECTS` ### Data Scoping All operations are automatically scoped to the authenticated user context. Users cannot access other users' data. ### Performance Considerations - Use tool loadouts to reduce token consumption - API mode provides better performance than local database - Hybrid mode offers reliability with automatic fallback - Batch operations when possible using query filters ## Integration Examples ### Claude Desktop Configuration ```json { "mcpServers": { "omnispindle": { "command": "omnispindle-stdio", "env": { "OMNISPINDLE_MODE": "api", "OMNISPINDLE_TOOL_LOADOUT": "basic", "MCP_USER_EMAIL": "user@example.com" } } } } ``` ### Programmatic Usage ```python from omnispindle import OmnispindleClient client = OmnispindleClient(mode="api") result = await client.add_todo( description="API integration task", project="omnispindle", priority="High" ) ```

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MadnessEngineering/fastmcp-todo-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server