intent-engine 0.1.15

A command-line database service for tracking strategic intent, tasks, and events
Documentation
{
  "name": "intent-engine",
  "version": "0.1",
  "description": "Intent-Engine MCP Server - Manage strategic intent and task workflow for human-AI collaboration",
  "tools": [
    {
      "name": "task_add",
      "description": "Create a new task to capture strategic intent. Use when a requirement is complex enough to need multiple steps, context, or long-term tracking. For long specs, prefer using CLI with stdin pipe: echo 'spec content' | intent-engine task add --name 'task name' --spec-stdin",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Task name (required)"
          },
          "spec": {
            "type": "string",
            "description": "Detailed specification in markdown format (optional but recommended). Example CLI usage: echo '## Architecture\\n- Use microservices\\n- PostgreSQL database' | intent-engine task add --name 'Design system' --spec-stdin"
          },
          "parent_id": {
            "type": "integer",
            "description": "Parent task ID for creating subtasks (optional)"
          }
        },
        "required": [
          "name"
        ]
      }
    },
    {
      "name": "task_start",
      "description": "Start working on a task. ATOMIC operation: updates status to 'doing', sets as current task, and returns full context with events. Always use this to begin work.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "task_id": {
            "type": "integer",
            "description": "Task ID to start"
          },
          "with_events": {
            "type": "boolean",
            "description": "Include events summary (recommended: true)",
            "default": true
          }
        },
        "required": [
          "task_id"
        ]
      }
    },
    {
      "name": "task_pick_next",
      "description": "Intelligently select next tasks from todo list. Use when you have multiple tasks and need to decide optimal order based on priority and complexity.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "max_count": {
            "type": "integer",
            "description": "Maximum number of tasks to pick",
            "default": 5
          },
          "capacity": {
            "type": "integer",
            "description": "Maximum total tasks allowed in 'doing' status",
            "default": 5
          }
        }
      }
    },
    {
      "name": "task_spawn_subtask",
      "description": "Create a subtask under current task and switch to it. ATOMIC operation. Use when you discover a sub-problem that must be solved first. For long specs, use CLI with stdin: echo 'spec' | intent-engine task spawn-subtask --name 'subtask' --spec-stdin",
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Subtask name"
          },
          "spec": {
            "type": "string",
            "description": "Subtask specification (optional). Example CLI usage: echo 'Configure JWT with HS256 algorithm' | intent-engine task spawn-subtask --name 'JWT setup' --spec-stdin"
          }
        },
        "required": [
          "name"
        ]
      }
    },
    {
      "name": "task_switch",
      "description": "Switch to a different task. ATOMIC operation: updates to 'doing' if needed, sets as current, returns context with events.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "task_id": {
            "type": "integer",
            "description": "Task ID to switch to"
          }
        },
        "required": [
          "task_id"
        ]
      }
    },
    {
      "name": "task_done",
      "description": "Mark task as complete. Enforces that all subtasks must be done first. Use when all objectives in spec are achieved.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "task_id": {
            "type": "integer",
            "description": "Task ID to complete"
          }
        },
        "required": [
          "task_id"
        ]
      }
    },
    {
      "name": "task_update",
      "description": "Update task properties including complexity (1-10) and priority (higher = more important). For updating long specs, prefer CLI with stdin pipe: echo 'new spec' | intent-engine task update <id> --spec-stdin",
      "inputSchema": {
        "type": "object",
        "properties": {
          "task_id": {
            "type": "integer",
            "description": "Task ID to update"
          },
          "name": {
            "type": "string",
            "description": "New name (optional)"
          },
          "spec": {
            "type": "string",
            "description": "New specification (optional). Example CLI usage: echo '## Updated Design\\n- Changed to REST API' | intent-engine task update 42 --spec-stdin"
          },
          "status": {
            "type": "string",
            "enum": [
              "todo",
              "doing",
              "done"
            ],
            "description": "New status (optional, prefer atomic commands)"
          },
          "complexity": {
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "description": "Task complexity 1-10 (optional)"
          },
          "priority": {
            "type": "integer",
            "description": "Task priority, higher = more important (optional)"
          },
          "parent_id": {
            "type": "integer",
            "description": "New parent task ID (optional)"
          }
        },
        "required": [
          "task_id"
        ]
      }
    },
    {
      "name": "task_find",
      "description": "Find tasks by status or parent. Use to review task list.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "todo",
              "doing",
              "done"
            ],
            "description": "Filter by status (optional)"
          },
          "parent": {
            "type": "string",
            "description": "Filter by parent ID or 'null' for root tasks (optional)"
          }
        }
      }
    },
    {
      "name": "task_get",
      "description": "Get detailed information about a specific task.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "task_id": {
            "type": "integer",
            "description": "Task ID"
          },
          "with_events": {
            "type": "boolean",
            "description": "Include events summary",
            "default": false
          }
        },
        "required": [
          "task_id"
        ]
      }
    },
    {
      "name": "event_add",
      "description": "Record a key event for a task. Use to log decisions, blockers, milestones. This is AI's external long-term memory. IMPORTANT: When you need to create design docs, summaries, or any temporary documentation, prefer storing them as events (type: 'note' or 'milestone') rather than creating separate files. This keeps documentation tightly coupled with tasks. For long content, use CLI with stdin pipe: echo 'content' | intent-engine event add --type note --data-stdin",
      "inputSchema": {
        "type": "object",
        "properties": {
          "task_id": {
            "type": "integer",
            "description": "Task ID (optional if current task is set)"
          },
          "event_type": {
            "type": "string",
            "enum": [
              "decision",
              "blocker",
              "milestone",
              "discussion",
              "note"
            ],
            "description": "Event type. Use 'note' for design docs/summaries, 'decision' for choices made, 'milestone' for phase completion, 'blocker' for issues, 'discussion' for analysis"
          },
          "data": {
            "type": "string",
            "description": "Event content in markdown format. Can contain full documentation, design specs, analysis results, etc. Example CLI usage: echo '# API Design\\n## Endpoints\\n- GET /users\\n- POST /users' | intent-engine event add --type note --data-stdin"
          }
        },
        "required": [
          "task_id",
          "event_type",
          "data"
        ]
      }
    },
    {
      "name": "event_list",
      "description": "List events for a task. Use to recover context when resuming work.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "task_id": {
            "type": "integer",
            "description": "Task ID"
          },
          "limit": {
            "type": "integer",
            "description": "Limit number of events (optional)"
          }
        },
        "required": [
          "task_id"
        ]
      }
    },
    {
      "name": "current_task_get",
      "description": "Get the current task being worked on.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "report_generate",
      "description": "Generate work report. ALWAYS use --summary-only to save tokens unless you need full details.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "since": {
            "type": "string",
            "enum": [
              "1h",
              "6h",
              "1d",
              "7d",
              "30d"
            ],
            "description": "Time range (optional)"
          },
          "status": {
            "type": "string",
            "enum": [
              "todo",
              "doing",
              "done"
            ],
            "description": "Filter by status (optional)"
          },
          "filter_name": {
            "type": "string",
            "description": "FTS5 search in task names (optional)"
          },
          "filter_spec": {
            "type": "string",
            "description": "FTS5 search in task specs (optional)"
          },
          "summary_only": {
            "type": "boolean",
            "description": "Return only summary (recommended: true)",
            "default": true
          }
        }
      }
    }
  ]
}