decisionnode/DecisionNode
OfficialKeine Markdown-Datei – strukturierte Entscheidungen mit semantischer Suche, bereitgestellt über MCP.
Installation
npm install -g decisionnode
cd your-project
decide init # creates project store
decide setup # configure Gemini API key (free tier)
# Connect to Claude Code (run once)
claude mcp add decisionnode -s user decide-mcpRelated MCP server: cogmemai-mcp
Wie eine Entscheidung aussieht
{
"id": "backend-007",
"scope": "Backend",
"decision": "Skipped connection pooling for the embeddings DB — single writer, revisit if we add a sync daemon",
"status": "active",
"rationale": "Only one process writes at a time in the current architecture. Pooling added complexity with no measurable benefit. If we add a background sync process this will need to change.",
"constraints": [
"Do not add concurrent writers without revisiting this first"
],
"createdAt": "2024-11-14T09:22:00Z"
}Als JSON gespeichert, als Vektor eingebettet, nach Bedeutung durchsuchbar. Entscheidungen sind nicht exakt das Gleiche wie "Regeln", die die KI ständig im Kontextfenster haben sollte (dafür eignen sich CLAUDE.md oder memory.md besser). Entscheidungen werden eher als "Erinnerungen" betrachtet, die die KI bei Bedarf durch semantische Suche abrufen kann.
Funktionsweise
Eine Entscheidung wird getroffen — via
decide addoder die KI ruftadd_decisionüber MCP aufAls Vektor eingebettet — unter Verwendung von Geminis
gemini-embedding-001, lokal gespeichert invectors.jsonKI ruft sie später ab — ruft
search_decisionsvia MCP auf und erhält relevante Entscheidungen, sortiert nach Kosinus-Ähnlichkeit
Der Abruf erfolgt explizit – die KI ruft das Suchwerkzeug für Entscheidungen über MCP auf, übergibt eine Anfrage und erhält die Top-N-Entscheidungen, sortiert nach Kosinus-Ähnlichkeit. Nichts wird vorab in den System-Prompt injiziert.
Zwei Schnittstellen
CLI ( | MCP-Server ( | |
Für | Sie (und Ihre KI) | Ihre KI (und Sie) |
Wie | Terminal-Befehle | Strukturiertes JSON über MCP |
Tut | Einrichten, hinzufügen, suchen, bearbeiten, verwerfen, exportieren, importieren, konfigurieren | Suchen, hinzufügen, aktualisieren, löschen, auflisten, Verlauf |
Beide lesen und schreiben in denselben lokalen Speicher (~/.decisionnode/).
Kurzübersicht
decide add # interactive add
decide add -s Backend -d "Skipped connection pooling for the embeddings DB — single writer, revisit if we add a sync daemon"
decide add --global # applies to all projects
decide search "connection pooling" # semantic search
decide list # list all (includes global)
decide deprecate ui-003 # soft-delete (reversible)
decide activate ui-003 # bring it back
decide check # embedding health
decide embed # fix missing embeddings
decide export json > decisions.json # export to file
decide ui # launch local web UI (graph + vector space + list)
decide ui -d # run UI in background, return the terminal
decide ui stop # stop the background UIFunktionen
decide ui — visuelle Schnittstelle
Eine lokale Web-UI, die Ihnen drei Live-Perspektiven auf Ihre Entscheidungen bietet:
Graph — kraftgesteuerte Ansicht, bei der Knoten Entscheidungen und Kanten die Kosinus-Ähnlichkeit darstellen. Bewegen Sie den Mauszeiger darüber, um die Umgebung einer Entscheidung hervorzuheben, und ziehen Sie den Schwellenwert-Schieberegler, um die Verbindungen zu straffen oder zu lockern.
Vektorraum — UMAP-Projektion der 3072-dimensionalen Gemini-Embeddings in 2D, gezeichnet als tatsächliche Vektoren, die vom Ursprung ausgehen. Ermöglicht es Ihnen, die Bildung semantischer Cluster buchstäblich zu sehen.
Liste — durchsuchbare, filterbare, sortierbare Karten, gruppiert nach Bereich. Die langweilige, aber unverzichtbare Ansicht, um tatsächlich zu lesen, was Sie gespeichert haben.
Live-MCP-Impuls: Wenn Claude Code, Cursor, Windsurf oder ein beliebiger MCP-Client Ihre Entscheidungen durchsucht, pulsieren die übereinstimmenden Knoten in Echtzeit in der Farbe des Suchwerkzeugs. Sie beobachten buchstäblich, wie die KI denkt.
decide ui # foreground (Ctrl+C to stop)
decide ui -d # background (terminal returns immediately)
decide ui status # check whether the background server is running
decide ui stop # stop the background serverLokaler HTTP-Server auf localhost:7788 (fällt auf einen zufälligen Port zurück). Nur lesend – die CLI und MCP bleiben die Schreibpfade.
Weitere Funktionen
Dokumentation
Vollständige Dokumentation unter decisionnode.dev/docs
CLI-Referenz — alle Befehle
MCP-Server — 9 Werkzeuge, Einrichtung für Claude/Cursor/Windsurf
Entscheidungsknoten — Struktur, Felder, Lebenszyklus
Kontext-Engine — Embedding, Suche, Konflikterkennung
Konfiguration — Speicher, Agentenverhalten, Suchschwellenwert, globale Entscheidungen
Workflows — gängige Muster
Für LLM-Konsum: decisionnode.dev/decisionnode-docs.md
Mitwirken
Siehe ROADMAP.md für kommende Funktionen. Fehlerbehebungen, neue Funktionen, Verbesserungen der Dokumentation oder einfach Ideen sind willkommen. Siehe CONTRIBUTING.md für den Einstieg.
Lizenz
MIT — siehe LICENSE.
Available Tools
9 toolsadd_decisionA
Call this IMMEDIATELY when user says phrases like: "Let's use...", "From now on...", "Always do...", "Never do...", "I prefer...", "The standard is...", "We should always...", or confirms ANY technical approach. Also call when: (1) A design pattern is established, (2) An architectural choice is made, (3) Coding standards are discussed, (4) UI/UX conventions are agreed, (5) Technology stack decisions happen. Capture decisions DURING the conversation, not after. Focus on WHY, not just WHAT.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | Yes | Category: UI, Backend, API, Architecture, Database, Security, Testing, DevOps, Styling, Performance | |
| decision | Yes | Clear statement of what was decided (be specific and actionable) | |
| rationale | Yes | Why this decision was made - this is crucial for future context | |
| constraints | Yes | Specific rules or requirements to follow | |
| global | No | Set to true to create a global decision that applies across ALL projects (e.g., "always use TypeScript strict mode", "never commit .env files") | |
| force | No | Set to true to skip conflict detection and add the decision even if similar ones exist. Use after reviewing the conflicts returned by a previous add_decision call. | |
| project | Yes | The workspace folder name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility. It reveals important behavioral traits: call during conversation, focus on why, and that the 'force' parameter skips conflict detection. It does not mention mutability or idempotency but is transparent enough for a write operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a bold imperative opening, bulleted triggers, and behavioral notes. Every sentence adds value, though it is somewhat lengthy. It efficiently conveys crucial information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (7 parameters, 5 required, no output schema), the description covers purpose and usage well but lacks details about return values or default behavior in conflict scenarios. It hints at conflict detection via 'force' but doesn't describe what happens normally, which is a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage, so baseline is 3. The description adds value by explaining the 'global' and 'force' parameters beyond the schema, clarifying their purpose and usage. This lifts the score above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: capturing decisions when specific phrases are uttered or when design/architectural choices are made. It uses a specific verb ('capture decisions') and resource ('decisions'), and distinguishes itself from sibling tools like search_decisions or delete_decision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to call the tool ('IMMEDIATELY' upon decision phrases) and provides extensive examples and triggers. However, it does not specify when not to use it or mention alternative tools for viewing decisions, though the sibling list provides context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_decisionA
Permanently delete a decision. Only use when a decision was created in error. For outdated decisions, prefer update_decision with status=deprecated to preserve history.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Decision ID to delete | |
| project | Yes | The workspace folder name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses permanence ('Permanently delete'), but lacks details on side effects or authorization needs, though the context is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the action. Every sentence adds value, with no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description provides necessary context: when to use, permanence, and alternative. Could mention immediate effect, but strong overall.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. Description does not add meaning beyond the schema's descriptions of 'Decision ID to delete' and 'The workspace folder name'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Permanently delete a decision,' using a specific verb and resource. It differentiates from sibling tools like update_decision by providing usage conditions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use ('Only use when a decision was created in error') and when not to use ('For outdated decisions, prefer update_decision'), including a specific alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_decisionA
Get full details of a specific decision by ID. Use this after search_decisions returns relevant results to get complete context including rationale and constraints.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Decision ID (e.g., ui-001) | |
| project | Yes | The workspace folder name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It implies read-only behavior and mentions returning 'full details including rationale and constraints', but does not disclose authentication requirements, rate limits, or any side effects. Adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with no redundancy. The first sentence states the purpose, the second provides usage guidance. Every sentence is necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description hints at return values ('full details including rationale and constraints'). The tool is simple with 2 params, so completeness is high, though missing error handling info.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Both 'id' and 'project' parameters have descriptions in the input schema (100% coverage). The description does not add additional parameter meaning beyond what's in the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get full details of a specific decision by ID', using a specific verb and resource. It distinguishes itself from siblings like search_decisions by noting it provides 'complete context including rationale and constraints'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Use this after search_decisions returns relevant results', providing clear context and naming the sibling tool to use before this one. This helps the agent understand the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_historyA
View the activity log of recent decision changes. Use this to understand what decisions were recently added or modified.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | Yes | Number of entries (default: 10) | |
| project | Yes | The workspace folder name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses it's a read-only operation ('view'), but lacks details on output format, pagination, or auth requirements. Schema covers parameter descriptions, but behavioral context is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with zero waste. First sentence states purpose, second adds usage context. Front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema and two required parameters, the description adequately covers purpose but misses details like return format, ordering, and that project is required for scoping. Adequate but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline 3 applies. The description adds no extra meaning beyond what the schema provides; it does not elaborate on how to use parameters effectively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool reads the activity log of recent decision changes, distinguishing it from sibling tools like list_decisions (current state) or get_decision (single entry). The verb 'view' and resource 'activity log' are specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit instruction to use for understanding recent additions or modifications. No alternatives mentioned, but the context of siblings allows inference. Clear when-to-use, but no when-not-to.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statusA
Get project decision status overview including total count and last activity. Use this for a quick health check of the decision store.
| Name | Required | Description | Default |
|---|---|---|---|
| project | Yes | The workspace folder name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool returns a status overview with total count and last activity, indicating a read operation. However, it does not discuss any behavioral aspects like idempotency, side effects, or rate limits, which are less critical for a simple read but still missing.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two sentences, is completely front-loaded with the primary action and outputs, and contains no unnecessary words or information. Every sentence serves a clear purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema, no annotations), the description is largely complete: it states the purpose and the key outputs. It does not explain the output format or aggregation details, but those are likely covered by the sibling tools and the context of a quick health check.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% coverage with a description for the 'project' parameter ('The workspace folder name'). The tool description does not add extra information beyond what the schema already provides, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets a project decision status overview including total count and last activity. The verb 'get' and resource 'project decision status overview' are specific, and it distinguishes itself from siblings like 'get_decision' (single decision) and 'list_decisions' (list without status overview).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this for a quick health check of the decision store,' which provides clear context for when to use it. It does not mention when not to use or name alternatives, but the guidance is sufficient for a simple tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_decisionsA
List all recorded decisions for the project. Use this when you need a complete overview of project conventions, or when starting work on a new feature area to understand existing patterns.
| Name | Required | Description | Default |
|---|---|---|---|
| scope | No | Filter by scope (e.g., UI, Backend, API, Architecture) | |
| project | Yes | The workspace folder name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavioral traits. It does not mention read-only nature, pagination, ordering, or limits. Given the lack of annotations, more detail is needed for transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences: the first states the action, the second adds usage context. No superfluous words, well front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has moderate complexity with 2 parameters and no output schema. The description lacks details on return value structure or pagination. Not fully complete for an agent to understand output expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents both parameters. The description does not add additional meaning beyond what the schema provides, achieving baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all recorded decisions for the project' and provides context for when to use it (complete overview, starting new feature area), distinguishing it from siblings like get_decision (single) and search_decisions (search).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit use cases are given (complete overview, starting new feature), but no explicit exclusions or alternative tool names are mentioned. Implicitly, siblings like get_decision and search_decisions serve different purposes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsA
Call this FIRST if unsure which project to use. In monorepos or multi-project workspaces, this lists all projects with decisions. Match the returned project name to the subfolder in the user's active file path. Example: if user is editing ".../my-app/src/component.tsx", look for project "my-app" in the results.
| Name | Required | Description | Default |
|---|---|---|---|
| verbose | No | Include detailed statistics (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It implies a safe read operation and focuses on usage context. It does not disclose potential side effects, auth requirements, or rate limits, which is adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with an example, front-loading the key instruction. No unnecessary words; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple parameter set and no output schema, the description adequately covers usage and interpretation. Could be improved by describing the output format, but not essential for a listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for a single boolean parameter with a clear description. The tool description does not add further meaning beyond the schema, so baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it lists all projects in monorepos/multi-project workspaces. The verb 'list' and resource 'projects' are specific, and it distinguishes from sibling tools (which are decision-focused) by indicating it should be called first.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'Call this FIRST if unsure which project to use,' providing clear context. It also gives guidance on matching project names to subfolders in the user's file path. Lacks explicit when-not-to-use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_decisionsA
MANDATORY: Call this FIRST before ANY code changes. When user asks you to: add a feature, modify code, fix a bug, implement something, refactor, style UI, or make ANY technical choice — you MUST call this tool FIRST to check for existing conventions. Skipping this causes inconsistency and wasted rework. Query with what you're about to work on: "button styling", "error handling", "API design", "authentication", "database schema", "component structure". If no decisions exist, proceed freely; if decisions exist, FOLLOW them.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural language query describing what you are about to work on (e.g., "button styling", "API error handling", "database connection") | |
| limit | No | Maximum number of results (default: 3) | |
| project | Yes | REQUIRED: The project folder name. Extract this from the user's active file path (e.g., if path is ".../decisionnode-marketplace/src/...", use "decisionnode-marketplace"). Call list_projects first if unsure. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are not provided, so description carries full burden. It implies the tool is a safe read operation (searching) with no destructive behavior stated. Strongly indicates it's a required prerequisite step, but doesn't explicitly state it's read-only.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is front-loaded with the mandatory instruction. While verbose, every sentence is meaningful. Bold and caps for emphasis make it clear. Could be slightly shorter but maintains effectiveness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers when to call, what to query, and expected outcomes. Does not describe output structure (e.g., list of decisions with details), but usage guidance is comprehensive enough for agent to act correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and description adds value beyond schema: provides examples for query parameter, and gives explicit guidance for project parameter (REQUIRED, extract from path, call list_projects if unsure).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: search for existing decisions/conventions before making code changes. It uses the verb 'search' and resource 'decisions', and distinguishes itself from siblings like add_decision, delete_decision, etc. by emphasizing it must be called first.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'MANDATORY: Call this FIRST before ANY code changes.' Provides detailed when-to-use scenarios (add feature, modify code, fix bug, etc.) and what to query. Also explains what to do if no decisions exist (proceed freely) and if they exist (follow them).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_decisionA
Update an existing decision when requirements change or the approach evolves. Use this instead of creating duplicate decisions.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Decision ID to update | |
| decision | Yes | Updated decision text | |
| rationale | Yes | Updated rationale | |
| status | No | Set to "deprecated" to hide from search (keeps for history), or "active" to re-enable. Only change when the user explicitly asks. | |
| constraints | Yes | Updated list of constraints | |
| project | Yes | The workspace folder name |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden for behavioral traits. It only states 'update' which implies mutation, but does not disclose any additional behaviors such as error handling, idempotency, access requirements, or side effects. This is insufficient for an update operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is only two sentences, front-loaded with the core purpose, and provides a concise usage guideline in the second sentence. Every word is necessary and there is no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters (5 required), no annotations, and no output schema, the description is brief. It covers the basic use case but does not explain return values, error conditions, or partial updates. While adequate for a simple tool, it leaves some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage with clear parameter descriptions. The description adds minimal value beyond the schema, stating the general purpose. Baseline of 3 is appropriate as the schema already provides adequate semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'update' and the resource 'existing decision', and explicitly differentiates from creating duplicate decisions. This provides a specific purpose that distinguishes it from siblings like add_decision.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use this instead of creating duplicate decisions', giving clear guidance on when to use. It also mentions the context of changing requirements or evolving approach. However, it does not explicitly list other alternatives or when not to use, though the sibling tools provide context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
5 tool updates
v0.5.1- Added
delete_decision - Added
get_history - Added
get_status - Added
list_projects - Added
update_decision
5 tool updates
v1.0.4- Removed
delete_decision - Removed
get_history - Removed
get_status - Removed
list_projects - Removed
update_decision
1 tool update
v1.0.2- Added
list_projects
1 tool update
v1.0.3- Removed
list_projects
9 tool updates
v1.0.1- First observed
add_decision - First observed
delete_decision - First observed
get_decision - First observed
get_history - First observed
get_status - First observed
list_decisions - First observed
list_projects - First observed
search_decisions - First observed
update_decision
TDQS
Each tool serves a distinct purpose: add/delete/get/update for individual decisions, list/search for retrieval, history for changelog, status for overview, and list_projects for context. No overlapping functionality.
All tools follow a consistent verb_noun pattern in snake_case, e.g., add_decision, search_decisions, list_projects. No mixing of styles or ambiguous verbs.
9 tools cover the decision management domain without excess or deficiency. Each tool earns its place, supporting CRUD, search, history, status, and project context.
The tool surface covers full lifecycle: creation, retrieval, update, deletion, listing, searching, history tracking, and status overview. No obvious gaps for typical decision management workflows.
Maintenance
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
Hosted MCP memory: save sessions/decisions once, search from Claude, Cursor, ChatGPT. EU-hosted FTS.
Private persistent memory for Claude, ChatGPT & Gemini via MCP - semantic search, zero-code setup.
- mcpOAuthai.butlerbrain
Persistent memory for AI assistants. Save once; recall from Claude, ChatGPT, or any MCP client.
Portable memory for AI agents: capture once, recall across Claude, Cursor, and any MCP client.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables interaction with Obsidian vaults through MCP, supporting note creation from templates, link management, backlink analysis, tag operations, and automatic Map of Contents generation.115,7841MIT
- AlicenseAqualityCmaintenancePersistent cloud memory for AI coding assistants. 28 MCP tools for semantic search, auto-learning, task tracking, correction patterns, knowledge graphs, and session replay across Claude Code, Cursor, Windsurf, Cline, and any MCP client. Encrypted at rest. Team shared memory with author attribution.352547MIT

Tribalofficial
FlicenseAqualityAmaintenanceSemantic memory for AI builders: capture the tacit engineering know-how that never reaches your docs, recall it the moment it applies. Built in Rust on Postgres and pgvector.109-- AlicenseAqualityAmaintenanceShared, code-grounded memory for developers and their coding agents. Capture a learning once and the whole team plus every agent recalls it; memory is grounded in your code and stored as git-tracked JSON reviewed in PRs, with citations validated on write and stale memory withheld from recall. Works with any MCP client.1132GPL 3.0
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/decisionnode/DecisionNode'
If you have feedback or need assistance with the MCP directory API, please join our Discord server