Agent Tools Reference
The agent’s capabilities are exposed as tools — typed functions the model can call to interact with your idea repository. Tools are defined with Zod schemas and execute server-side with full database and Vectorize access.
Tools are divided into two tiers:
- Base tools — available to all Pro users
- Pro Intelligence Tools — additional tools registered only for Pro users
Base Tools
Section titled “Base Tools”search_ideas
Section titled “search_ideas”Search and browse ideas. With a query, performs semantic search (Vectorize embeddings + reranking). Without a query, lists ideas by recency. Supports status, tag, and limit filters.
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | No | Search query. Omit to browse all ideas. |
status | enum | No | Filter: captured, exploring, building, shipped, shelved |
tag | string | No | Filter by tag name |
limit | number | No | Max results (default 10, max varies by plan) |
Search uses semantic + FTS fallback: Vectorize is queried first; if it returns no results above the score threshold, the tool falls back to SQLite FTS5 full-text search automatically.
Returns an idea_grid artifact.
get_idea
Section titled “get_idea”Get full details of a single idea by ID, including tags, links, and relations.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Yes | Idea ID |
include_related | boolean | No | Include related ideas and links (default: true) |
Returns an idea_card artifact.
create_idea
Section titled “create_idea”Create a new idea. Triggers background queue processing for embedding generation and auto-tagging.
| Parameter | Type | Required | Description |
|---|---|---|---|
title | string | Yes | Concise idea title |
body | string | No | Detailed description (Markdown) |
tags | string[] | No | Tags (lowercase, hyphenated) |
status | enum | No | Initial status (default: captured) |
Returns an idea_card artifact. In graph mode, the new node appears on the mind map.
update_idea
Section titled “update_idea”Update an existing idea’s title, body, status, or tags.
| Parameter | Type | Required | Description |
|---|---|---|---|
id | number | Yes | Idea ID to update |
title | string | No | New title |
body | string | No | New body |
status | enum | No | New status |
tags | string[] | No | Replace all tags with this list |
add_tags | string[] | No | Tags to add (cannot combine with tags) |
remove_tags | string[] | No | Tags to remove (cannot combine with tags) |
Returns an idea_card artifact. Triggers re-embedding if title or body changed.
link_ideas
Section titled “link_ideas”Create a typed relation between two ideas. Runs cycle detection before creating the relation.
| Parameter | Type | Required | Description |
|---|---|---|---|
source_id | number | Yes | Source idea ID |
target_id | number | Yes | Target idea ID |
relation_type | enum | No | related (default), blocks, inspires, parent, supersedes |
note | string | No | Optional note about the relationship (max 500 chars) |
If relation_type is omitted, the agent selects the most appropriate type based on the ideas’ content. Returns a connection_line artifact that animates on the mind map.
discover_connections
Section titled “discover_connections”Find hidden connections between ideas using Vectorize semantic similarity. Scans ideas, identifies missing relations, and uses AI to reason about relationship types before creating them.
| Parameter | Type | Required | Description |
|---|---|---|---|
scope | string | No | 'all' for all ideas, 'recent' (default, last 7 days), or comma-separated idea IDs |
min_score | number | No | Minimum similarity score 0–1 (default 0.5) |
Creates relations for up to 10 candidate pairs. Returns a mini_graph artifact showing the new connections.
summarize
Section titled “summarize”Summarize one or more ideas, extracting common themes and a connecting narrative.
| Parameter | Type | Required | Description |
|---|---|---|---|
idea_ids | number[] | Yes | 1–20 idea IDs to summarize |
write_back | boolean | No | Save the summary to the idea’s source_summary field (single idea only, default false) |
Returns a summary artifact with the summary text and extracted themes.
brainstorm
Section titled “brainstorm”Generate creative variations or extensions of an idea using the Qwen 30B sub-agent.
| Parameter | Type | Required | Description |
|---|---|---|---|
idea_id | number | No | Base idea to brainstorm from |
prompt | string | No | Freeform brainstorm prompt |
count | number | No | Number of suggestions, 1–5 (default 3) |
Either idea_id or prompt must be provided. Returns a brainstorm_cluster artifact.
suggest_tags
Section titled “suggest_tags”Get AI-suggested tags for an idea. Prefers existing user tags to avoid tag sprawl.
| Parameter | Type | Required | Description |
|---|---|---|---|
idea_id | number | Yes | Idea to suggest tags for |
Returns a tag_cloud artifact showing suggested tags with an indicator for which are already applied.
cleanup_tags
Section titled “cleanup_tags”Find and merge similar or duplicate tags using tag embeddings. In dry-run mode (default), returns proposed merges for review. With dry_run: false, executes the merges.
| Parameter | Type | Required | Description |
|---|---|---|---|
dry_run | boolean | No | If true (default), show proposals without executing. If false, execute merges. |
Uses a similarity threshold of 0.85. The most-used tag in each cluster becomes the canonical tag.
arrange_nodes
Section titled “arrange_nodes”Arrange mind map nodes into visual clusters by tags, status, or custom groupings.
| Parameter | Type | Required | Description |
|---|---|---|---|
mode | enum | Yes | by_tags, by_status, or by_clusters |
clusters | object[] | No | Custom cluster definitions (required for by_clusters mode). Each object has label (string) and ids (number[]). |
idea_ids | number[] | No | Specific idea IDs to arrange (max 200). Omit to arrange all ideas. |
Modes:
by_tags— groups ideas by shared tagsby_status— arranges ideas in status columnsby_clusters— uses custom groupings you define in theclustersparameter
clear_arrangement
Section titled “clear_arrangement”Clear any agent-arranged node positions, letting nodes return to the natural force-directed layout. No parameters.
Pro Intelligence Tools
Section titled “Pro Intelligence Tools”These tools are only registered for users on the Pro plan.
semantic_layout
Section titled “semantic_layout”Rearrange the mind map so similar ideas cluster together. Computes pairwise vector similarities across up to 100 ideas and applies the weights as force-graph spring strengths.
| Parameter | Type | Required | Description |
|---|---|---|---|
idea_ids | number[] | No | Specific idea IDs to lay out. Omit to use all visible ideas (up to 100). |
Triggers a physics re-heat on the mind map. Semantically similar ideas pull toward each other; dissimilar ideas repel.
synthesize_ideas
Section titled “synthesize_ideas”Combine two ideas into a new synthesis idea, linked to both originals with inspires relations.
| Parameter | Type | Required | Description |
|---|---|---|---|
idea_id_1 | number | Yes | First idea ID |
idea_id_2 | number | Yes | Second idea ID |
synthesis_title | string | No | Optional title. If omitted, AI generates one. |
The synthesis body is AI-generated (2–3 sentences), capturing the best elements of both source ideas. The new idea is created with status exploring.
score_idea
Section titled “score_idea”Score ideas on 5 dimensions using AI evaluation.
| Parameter | Type | Required | Description |
|---|---|---|---|
idea_ids | number[] | Yes | 1–10 idea IDs to score |
Scoring dimensions (0–10 each):
| Dimension | What it measures |
|---|---|
| Novelty | How original and unique the idea is |
| Feasibility | How practical and achievable it is |
| Impact | How significant the potential impact could be |
| Clarity | How well-defined and clearly articulated it is |
| Momentum | How much energy and excitement the idea has |
Returns a score_cards artifact with radar charts for each idea.
find_contradictions
Section titled “find_contradictions”Detect idea pairs with opposing viewpoints or mutually exclusive approaches. Shows tension edges on the mind map.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit | number | No | Max contradiction pairs to find, 1–20 (default 5) |
Only flags pairs that are genuinely mutually exclusive — not merely different or complementary. Returns contradiction pairs with AI-generated explanations and contradiction strength scores.
draft_document
Section titled “draft_document”Generate a structured document from one or more ideas as source material.
| Parameter | Type | Required | Description |
|---|---|---|---|
idea_ids | number[] | Yes | 1–20 idea IDs to use as source material |
format | enum | Yes | Document format |
Available formats:
| Format | Description | Outline structure |
|---|---|---|
prd | Product Requirements Document | Overview, Problem, Goals, Requirements, Non-Goals, Success Metrics |
blog_post | Blog post | Title, Introduction, three main points, Conclusion |
memo | Internal memo | To/From/Subject/Date, Executive Summary, Key Points |
research_brief | Research brief | Background, Key Findings, Implications, Next Steps |
feature_spec | Feature specification | User Story, Acceptance Criteria, Technical Notes, Out of Scope |
The generated document is saved as a new idea (status: exploring) linked to all source ideas with inspires relations. Returns a document artifact.
Sub-Agents
Section titled “Sub-Agents”Several tools use lightweight sub-agents — secondary AI calls to specialized models — rather than the primary conversation model:
| Sub-agent | Model | Used by |
|---|---|---|
| Brainstorm | Qwen 30B (creative) | brainstorm tool |
| Summarize cluster | IBM Granite Micro (utility) | summarize tool |
| Suggest tags | IBM Granite Micro (utility) | suggest_tags tool |
| Find hidden connections | IBM Granite Micro (utility) | discover_connections tool |
| Synthesize, score, draft | IBM Granite Micro (utility) | synthesize_ideas, score_idea, draft_document |
| Contradiction detection | Qwen 30B (creative) | find_contradictions tool |
Sub-agents are called server-side and their results are returned to the primary agent as tool output. They do not appear in the conversation history.