ideahub_mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| IDEAHUB_ACTOR | No | Fallback actor id (e.g., `human:you` or `agent:name`). | |
| IDEAHUB_SCOPE | No | Fallback scope when cwd isn't a git repo. | |
| IDEAHUB_MCP_HOME | No | Data directory (SQLite store, logs, backups). | ~/.ideahub_mcp/ |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pingA | Cheap health probe. Returns server name, package version, and store path. Use to confirm the ideahub_mcp server is connected and responsive. |
| captureA | Capture a new durable idea. Use when: you reach a stable synthesis; you discover a reusable pattern; you want a standalone idea that should survive task boundaries; a checkpoint has hardened into a first-class concept. If you only need a lightweight in-progress trace, use |
| checkpointA | Write a lightweight working-memory trace during a task. Use when: you form a non-trivial synthesis mid-task; you make a decision the session will depend on; you want a durable breadcrumb without promoting it to a full idea yet; you want to leave a visible trace of what changed in your understanding during the task. Do not use for final, standalone ideas that should survive the task — use |
| dumpA | Dump the scoped corpus as a single text blob under a token budget. Use for orientation — 'what does this repo/user think about?'. Newest ideas first, latest note inlined by default, archived excluded by default. By default excludes kind='checkpoint' rows; pass include_checkpoints=True to include them. |
| searchA | Full-text search ideas with FTS5 + bm25 ranking. Returns snippet, score, and id. Scope-optional; archived excluded by default. By default excludes kind='checkpoint' rows; pass include_checkpoints=True to include them. |
| listA | List ideas with filters (scope, actor, originator, tags_any, tags_all, since, until). Returns id, scope, actor, preview (120 chars), and created_at. Archived excluded by default. By default excludes kind='checkpoint' rows; pass include_checkpoints=True to include them. |
| getA | Get a single idea by id with its notes and outbound links. |
| relatedA | Find ideas related to the given id. Scoring: (1) tag overlap DESC, (2) shared originator (True first), (3) recency DESC. Within source scope unless cross_scope=True; archived excluded by default. By default excludes kind='checkpoint' rows; pass include_checkpoints=True to include them. |
| annotateA | Append a note to an existing idea when current work confirms, sharpens, corrects, or extends it. Use when: the current task materially updates an existing idea; you want to attach new evidence or a correction; you do not want to create a separate idea. Optional |
| promoteA | Promote a checkpoint to a durable idea. Use when: a working-memory trace turns out to be load-bearing — the synthesis has hardened, the decision is stable, the observation is reusable. The id is preserved, so existing links, annotations, and task_ref groupings carry forward unchanged. A |
| archiveA | Archive an idea (sets archived_at, writes kind='archive' note with reason). Idempotent. Archived ideas are excluded by default from list/search/dump. |
| linkA | Connect two ideas when current work reveals they are structurally related, evolved, duplicated, or superseding one another. |
| recognizeA | Inspect the actor table. Pass id for detail on one actor; omit to list all. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| status_resource |
TDQS
Scored across 13 tools
Each tool has a clearly distinct purpose: capture for new ideas, checkpoint for temporary traces, annotate for notes, promote for upgrading checkpoints, get/list/search/dump for retrieval, link for relationships, archive for soft deletion, and ping/recognize for admin. No two tools overlap in their core function.
Tool names are all lowercase single words, mostly verbs (capture, archive, promote, etc.) with a few nouns (list, search, related). The pattern is simple and predictable, though not strictly verb_noun. Slight inconsistency exists between 'get' (noun) and 'capture' (verb), but it's minor.
13 tools cover the full lifecycle of idea management: creation (capture, checkpoint), retrieval (get, list, search, dump, related, recognize), modification (annotate, promote, link), deletion (archive), and health (ping). The count is well-scoped for the domain.
The tool set covers creation, retrieval, linking, and soft archiving, but lacks a dedicated update tool for modifying an idea's core content. Annotations and promotions can indirectly update, but there's no way to edit the original content. This gap may cause agent failures when content needs correction.