Skip to main content
Glama

ideahub_mcp

An agent-first MCP server for capturing and recalling ideas — the agent's and their human's.

The primary user is a model. Tools are short, imperative, example-laden; errors carry a repair path; scope and actor resolve from context so the agent doesn't have to ask.

Tools

Tool

Purpose

capture

Durable idea. Use when work produces something worth preserving beyond the task.

checkpoint

Lightweight working-memory trace. Use mid-task for observations, decisions, next steps.

promote

Promote a checkpoint to a durable idea, preserving its id, links, and provenance.

dump

Text-blob summary of the scoped corpus under a token budget.

search

FTS5 + bm25 ranked search with snippets. Auto-tokenizes by default.

list

Filter ideas by scope, actor, tags, date range.

get

Full detail for one idea, with notes and outbound links.

related

Nearest neighbors by tag overlap → shared originator → recency.

annotate

Append a free-text note to an idea without mutating it.

archive

Hide an idea; write a typed archive note with reason.

link

Connect two ideas (related, supersedes, evolved_from, duplicate).

recognize

Inspect the actor table.

ping

Cheap no-side-effect health probe for connection/debugging.

Related MCP server: MegaMemory

Writeback Loop

ideahub_mcp is designed to behave like working memory for an agent, not just searchable storage. Two write verbs close that loop:

  • capture writes a durable idea that should survive the task.

  • checkpoint writes a lightweight in-flight trace — observations, decisions, assumptions, open questions — without the semantic weight of a full idea.

When a checkpoint hardens into something load-bearing, promote flips its kind to idea while preserving the id, so existing links, annotations, and task_ref groupings carry forward unchanged. Promotion is one-way; an idea cannot be demoted.

All write-path verbs (capture, checkpoint, annotate, link) accept an optional task_ref — a free-form string that groups every write from the same task. It is normalized to lowercase kebab-case at the boundary, so "Writeback Phase 1", "writeback_phase_1", and "writeback-phase-1" collapse onto the same key.

capture and checkpoint return scored annotate_candidates and related_candidates in their response so the model sees where a fresh trace probably belongs (usually as an annotation on an existing idea) without having to search. The candidates parameter (default 5, max 10, 0 to skip) lets a caller cap or skip that envelope when fire-and-forget is the right move.

Checkpoints are default-excluded from search, list, and dump so cheap traces do not bleed into orientation surfaces — opt in with include_checkpoints=True.

Deduplication

capture runs two dedup paths before inserting:

  • Fast path — same actor, same content, same scope, within 5 seconds: silently returns the existing id. This catches accidental double-fires.

  • Content-hash path — same scope, same SHA-256 over normalized content (whitespace-collapsed, lowercased), any actor, any time, against live (non-archived) kind='idea' rows: returns the existing id, merges incoming tags into the row, and appends a kind='dup_attempt' note recording the second actor and tag delta.

Hash dedup makes re-derivation of the same idea observable in the row's note stream rather than silently creating duplicates.

search defaults to query_mode='auto', which tokenizes the query and quotes each token so FTS5 operators (-, :, *, etc.) are treated as content. This is the right mode for searching kebab-case identifiers — task_refs, branch names, ULIDs.

For phrase queries, NEAR, or column-qualified syntax, pass query_mode='raw'. Raw mode validates the query and raises a loud error on syntax failure rather than the silent empty-result FTS5 returns by default.

Discovery And Health

ideahub_mcp is intentionally tool-first, not resource-first. A client may show a healthy connection even when list_resources() is sparse or empty.

To make discovery cheap and host-agnostic, the server exposes:

  • ping: a no-side-effect tool for "is the server connected and responsive?"

  • ideahub://status: a status resource that reports package version, storage paths, and the current tool surface.

That design supports hosts that favor different MCP surfaces. Some clients reason primarily over tools. Others probe resources first. A healthy server should be easy to verify in either style.

For the full compatibility rubric, see docs/mcp-health.md.

Install

uvx ideahub_mcp        # try it
uv tool install ideahub_mcp   # keep it around

Claude Code

Add to ~/.claude/settings.json:

{
  "mcpServers": {
    "ideahub": {
      "command": "uvx",
      "args": ["ideahub_mcp"],
      "env": {
        "IDEAHUB_MCP_HOME": "/Users/you/.ideahub_mcp",
        "IDEAHUB_ACTOR": "human:you"
      }
    }
  }
}

Configuration

Var

Default

Purpose

IDEAHUB_MCP_HOME

~/.ideahub_mcp/

Data directory (SQLite store, logs, backups).

IDEAHUB_ACTOR

Fallback actor id (human:you or agent:name).

IDEAHUB_SCOPE

Fallback scope when cwd isn't a git repo.

Actor resolution: explicit arg → MCP clientInfo.nameIDEAHUB_ACTOR → error. Scope resolution: explicit arg → IDEAHUB_SCOPErepo:<git-toplevel>global.

Storage

One SQLite file with WAL, FTS5, and hand-rolled migrations. No ORM. Daily snapshots to $IDEAHUB_MCP_HOME/backups/ with 14-day retention.

Develop

uv sync --dev
uv run pytest
uv run ruff check .
uv run pyright

License

MIT.

Available Tools

13 tools
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 kind labels the note semantically (confirmation, counterexample, observation, follow-up, question, correction). Optional task_ref groups all writes from the same task and is normalized to lowercase kebab-case at the boundary.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
contentYes
kindNo
actorNo
originatorNo
task_refNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations are basic (readOnlyHint false, etc.). The description adds behavioral details such as task_ref normalization to lowercase kebab-case and semantic labels for kind. No contradictions. Some traits like mutation are implied but not explicitly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with a list of use cases. Each sentence adds value, no fluff, and the main action is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 6 parameters, 0% schema coverage, and an output schema, the description covers the tool's purpose, usage, and two key parameters. However, actor and originator are missing. Overall still informative enough for typical use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so description must compensate. It explains kind (lists semantic types) and task_ref (grouping + normalization). But actor and originator are not explained, leaving gaps. id and content are self-explanatory from context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Append a note') and resource ('existing idea'), and distinguishes when to use this tool vs. creating a separate idea. It clearly states the purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: when current work updates an existing idea, to attach new evidence/correction, and when not to create a separate idea. Also implies alternatives (e.g., capture for new ideas).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

archiveA
Idempotent

Archive an idea (sets archived_at, writes kind='archive' note with reason). Idempotent. Archived ideas are excluded by default from list/search/dump.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
reasonYes
actorNo
originatorNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description confirms idempotency (matching idempotentHint=True) and discloses writing a note and setting archived_at. Annotations show no readOnly or destructive hints, and description adds specific behavioral details beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences with three key points: purpose, idempotency, exclusion behavior. No redundancy, front-loaded with action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers main effects and behavioral context. Output schema exists, so return values are handled. Could mention prerequisites or error conditions, but overall sufficient for a simple archival tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so description must compensate. It explains 'reason' parameter via 'write kind=... note with reason' but does not address 'actor' or 'originator'. 'id' is implicit. Adds some value but leaves gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Archive an idea' with specific side effects (sets archived_at, writes note). It also explains the consequence for default listings. This distinguishes it from siblings like 'annotate'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context: 'Archived ideas are excluded by default from list/search/dump.' This implies when to use archive (to hide ideas). However, no explicit alternatives or when-not-to-use are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

captureA
Idempotent

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 checkpoint instead. content is required. scope and actor default from cwd and environment. Optional task_ref groups all writes from the same task; it is normalized to lowercase kebab-case at the boundary, so 'Writeback Phase 1', 'writeback_phase_1', and 'writeback-phase-1' collapse onto the same key. Returns annotate_candidates and related_candidates so the next memory move is obvious. candidates (default 5, max 10, 0 to skip) controls how many annotate/related suggestions are returned — set to 0 for a fire-and-forget trace where you don't intend to act on suggestions, or raise to 10 when actively triaging. Deduplication: same actor + same content within 5 seconds is silently treated as the same write. Beyond the 5-second window, or across actors, content with the same SHA-256 hash (whitespace-collapsed, lowercased) in the same scope dedupes against the original idea — incoming tags are merged in and a dup_attempt note is appended for provenance.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes
scopeNo
tagsNo
originatorNo
task_refNo
candidatesNo
actorNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations confirm mutating (readOnlyHint=false) and idempotent (idempotentHint=true). Description adds rich behavioral details: 5-second dedup window, SHA-256 dedup beyond window, tag merging, and 'dup_attempt' note. No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is long but well-structured with 'Use when:' and clear breakdowns. Each sentence provides essential information. Slightly verbose due to detailed dedup rules, but efficiency is high given complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, usage, parameter behaviors, deduplication, and return value. Explains edge cases (fire-and-forget, raising candidates) and provenance. Almost no gaps remain for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but description compensates: states 'content is required', explains defaults for scope/actor, normalizes task_ref to kebab-case, and documents candidates (default 5, max 10, 0 to skip). Missing detail on tags and originator, but still adds significant value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Capture a new durable idea' and distinguishes the tool from sibling 'checkpoint' by specifying when to use each. It also mentions the return value (candidates), making the purpose unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly lists conditions for use ('stable synthesis', 'reusable pattern', 'standalone idea') and contrasts with 'checkpoint'. Provides guidance on 'candidates' parameter (set to 0 for fire-and-forget, raise to 10 for triaging) and explains deduplication behavior.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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 capture for those. Optional task_ref groups all writes from the same task; it is normalized to lowercase kebab-case at the boundary, so casing and whitespace variants collapse onto the same key. Optional kind_label is a semantic hint (observation | decision | assumption | question | next_step). Returns scored annotate_candidates (existing ideas this trace may update) and related_candidates so the next memory move is obvious. candidates (default 5, max 10, 0 to skip) controls how many annotate/related suggestions are returned — set to 0 for a fire-and-forget trace where you don't intend to act on suggestions, or raise to 10 when actively triaging.

ParametersJSON Schema
NameRequiredDescriptionDefault
contentYes
scopeNo
tagsNo
originatorNo
task_refNo
kind_labelNo
candidatesNo
actorNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false (write operation) and non-destructive, non-idempotent. The description adds valuable context: the trace is 'lightweight', not final; it returns candidates; task_ref normalization to lowercase kebab-case; kind_label enum; candidates parameter behavior. No contradiction found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two paragraphs, front-loaded with purpose, then usage conditions, then parameter details. It is reasonably concise, though could be slightly tighter. No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 8 params, 1 required, no schema descriptions, and an output schema (not visible), the description covers usage, key parameter behavior, and return values (annotate_candidates, related_candidates). It misses explanation for some optional params but overall is thorough enough for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% (no parameter descriptions in schema). The description explains task_ref (normalization), kind_label (enum values), and candidates (default, max, meaning of 0). However, it does not cover content, scope, tags, originator, actor. Partial but helpful.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Write a lightweight working-memory trace during a task.' It uses specific verbs and resources, and distinguishes itself from the sibling 'capture' tool by specifying that 'capture' is for final standalone ideas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use scenarios (e.g., 'non-trivial synthesis mid-task', 'decision the session will depend on') and when-not-to-use ('Do not use for final, standalone ideas'). It also names an alternative tool ('capture'). This gives clear guidance for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dumpA
Read-onlyIdempotent

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNo
sinceNo
actorNo
originatorNo
limit_tokensNo
include_all_notesNo
include_archivedNo
include_checkpointsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description valuably supplements the annotations (already indicating safe read-only operation) by detailing default behaviors: newest-first ordering, inlining of latest note, exclusion of archived and checkpoint rows unless overridden. This goes beyond what annotations provide, though it could mention potential truncation under token budget.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise at three sentences, front-loading the core purpose and usage. It avoids redundancy but could be slightly more structured (e.g., listing defaults separately).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's 8 parameters and the presence of an output schema, the description provides adequate context for orientation usage but fails to explain several parameters (scope, since, actor, originator, include_all_notes) and does not describe the return format or token budget behavior. This leaves the agent with incomplete guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate. It explains the meaning of 'include_archived' and 'include_checkpoints' (default false, toggle behavior) and implicitly the 'limit_tokens' parameter via 'token budget'. However, other parameters like 'scope', 'since', 'actor', 'originator', and 'include_all_notes' are left unexplained, leaving gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's verb ('Dump'), resource ('scoped corpus'), and outcome ('single text blob under a token budget'). It also explicitly ties it to orientation ('what does this repo/user think about?'), distinguishing it from sibling tools like search or list that are more query-oriented.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context for when to use the tool ('for orientation'), its default ordering ('newest ideas first'), and default exclusions ('archived excluded', 'checkpoints excluded'). However, it does not specify when not to use it or suggest alternative tools for more targeted queries.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

getA
Read-onlyIdempotent

Get a single idea by id with its notes and outbound links.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide read-only, non-destructive, idempotent hints. Description adds value by specifying return fields (notes and outbound links). No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no unnecessary words. Front-loads action and scope. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return format details are not needed. Description fully covers what the tool does given its simplicity and schema coverage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Though schema has 0% coverage for 'id' parameter, description implicitly defines it as the idea identifier. With only one required param, this is sufficient compensation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states verb 'Get', resource 'idea', qualifiers 'by id', and includes what is returned ('notes and outbound links'). Distinguishes from sibling tools like 'list' and 'search'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implicitly clear: use when you need a single idea's details by its ID. No explicit exclusions or comparisons, but context with sibling tools makes it straightforward.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

listA
Read-onlyIdempotent

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNo
actorNo
originatorNo
tags_anyNo
tags_allNo
sinceNo
untilNo
limitNo
include_archivedNo
include_checkpointsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the tool as read-only, idempotent, and non-destructive. The description adds behavioral context beyond annotations, such as default exclusions of archived items and checkpoint rows, which is valuable for agent decision-making.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: first sentence lists filters and return fields, second explains key defaults. It is concise, front-loaded, and free of redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 10 parameters, an output schema exists, and no nested objects, the description covers return fields and two defaults but omits details on parameter formatting and interaction. It is adequate but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate but only lists parameter names without explaining semantics like date format, tag matching logic, or behavior when multiple filters combine. This leaves significant ambiguity despite naming parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists ideas with filters and specifies the return fields. It distinguishes from siblings by focusing on listing with filters, but does not explicitly differentiate from the 'search' sibling tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides guidance on defaults (excluded archived and checkpoints) and how to include them via parameters. However, it lacks clear directions on when to use this tool versus alternatives like 'search' or 'get', and no explicit when-not-to-use advice.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pingA
Read-onlyIdempotent

Cheap health probe. Returns server name, package version, and store path. Use to confirm the ideahub_mcp server is connected and responsive.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only, non-destructive, idempotent behavior. Description adds value by specifying return values and 'cheap' hint. No contradictions. Additional detail like 'fast' could have been included, but overall good.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states purpose and return, second states use case. No unnecessary words, highly efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple health probe with no parameters and output schema existing, the description provides enough context: what it returns and when to use. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters exist, so schema coverage is trivially 100%. Baseline for zero parameters is 4. Description does not need to add parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it is a 'Cheap health probe' that returns specific info (server name, package version, store path) and confirms server connectivity. Distinguishes from sibling tools which are for data operations like 'dump' or 'get'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use to confirm the ideahub_mcp server is connected and responsive.' Provides clear context for use, though it does not mention alternatives or when not to use. Given the simplicity, this is sufficient.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

promoteA
Destructive

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 kind='promotion' note records the original kind_label for provenance. Promotion is one-way: an idea cannot be demoted back to a checkpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
actorNo
originatorNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description adds details beyond annotations: preservation of links, notes, and provenance via 'kind=\'promotion\''. Annotations indicate destructiveHint=true, which is consistent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences plus a key note about one-way behavior. No unnecessary words; front-loaded with purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose and outcome well but lacks parameter documentation. With output schema present, return values are covered, but missing input semantics reduces completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no explanation of parameters like 'id', 'actor', or 'originator', leaving semantics unclear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states 'Promote a checkpoint to a durable idea' with a specific verb and resource. Distinguishes from siblings by explaining the context and one-way nature.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use (load-bearing working-memory trace) and that promotion is one-way, providing clear context for the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recognizeA
Read-onlyIdempotent

Inspect the actor table. Pass id for detail on one actor; omit to list all.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare it as read-only and idempotent. Description adds the behavioral distinction between single record and full list, which is valuable context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no wasted words. Information is front-loaded and efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequately covers the tool's functionality for a simple single-parameter tool. Does not mention return format or pagination, but output schema likely addresses that. Slight gap in not specifying any limits on the list mode.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description fully compensates by explaining the id parameter's effect: passing it retrieves detail on one actor, omitting it lists all. This is clear and unambiguous.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool inspects the actor table, with a specific verb and resource. Distinguishes from siblings by naming 'actor table,' but does not explicitly contrast with tools like 'list' or 'get' that may also operate on actors.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear instructions on how to use the id parameter (pass for detail, omit for list), but does not advise on when to prefer this tool over alternatives like 'search' or 'list' among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4/5.0
Disambiguation5/5

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.

Naming Consistency4/5

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.

Tool Count5/5

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.

Completeness3/5

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.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables users to transform AI conversations into a structured, searchable knowledge base by saving ideas, code snippets, bookmarks, and reminders. It supports persistent storage through Supabase or PostgreSQL and includes webhook integrations for automating workflows with external tools.
  • A
    license
    Not graded
    quality
    B
    maintenance
    An MCP server that lets coding agents build and query a persistent knowledge graph of concepts, architecture, and decisions, enabling them to remember across sessions.
    340
    513
    MIT

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/CobraChickenAI/ideahub_mcp'

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