Skip to main content
Glama
decisionnode

decisionnode/DecisionNode

Official
by decisionnode

这不是一个 markdown 文件 — 而是通过 MCP 暴露的、支持语义搜索的结构化决策。

安装

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-mcp

Related MCP server: cogmemai-mcp

决策长什么样

{
  "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"
}

以 JSON 格式存储,嵌入为向量,可按含义搜索。 决策并不完全等同于 AI 应始终保留在上下文窗口中的“规则”(这些更适合放在 CLAUDE.md 或 memory.md 中)。决策被视为一种“记忆”,AI 可以在真正相关时通过语义搜索将其调取出来。

工作原理

  1. 做出决策 — 通过 decide add 或 AI 通过 MCP 调用 add_decision

  2. 嵌入为向量 — 使用 Gemini 的 gemini-embedding-001,存储在本地的 vectors.json

  3. AI 稍后检索 — 通过 MCP 调用 search_decisions,获取按余弦相似度排序的相关决策

检索是显式的 — AI 通过 MCP 调用搜索决策工具,传入查询并获得按余弦相似度排序的前 N 个决策。没有任何内容会被预先注入到系统提示词中。

两种接口

CLI (decide)

MCP 服务器 (decide-mcp)

面向

你(以及你的 AI)

你的 AI(以及你)

方式

终端命令

通过 MCP 的结构化 JSON

功能

设置、添加、搜索、编辑、弃用、导出、导入、配置

搜索、添加、更新、删除、列表、历史记录

两者都读写同一个本地存储 (~/.decisionnode/)。

快速参考

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 UI

功能特性

decide ui — 可视化界面

一个本地 Web UI,为你提供关于决策的三个实时视角:

  • 图谱 (Graph) — 力导向视图,节点为决策,边为余弦相似度。悬停以高亮显示决策的邻域,拖动阈值滑块以收紧或放宽连接。

  • 向量空间 (Vector Space) — 将 3072 维 Gemini 嵌入投影到 2D 的 UMAP 映射,绘制为从原点发散的实际向量。让你直观地看到语义聚类的形成。

  • 列表 (List) — 可搜索、可过滤、可排序的卡片,按作用域分组。这是阅读你所存储内容的枯燥但必不可少的视图。

实时 MCP 脉冲:当 Claude Code、Cursor、Windsurf 或任何 MCP 客户端搜索你的决策时,匹配的节点会在匹配工具的颜色中实时闪烁。你正在亲眼见证 AI 的思考过程。

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 server

仅限本地的 HTTP 服务器,运行在 localhost:7788(如果端口被占用则回退到随机端口)。只读 — CLI 和 MCP 仍然是写入路径。

其他功能

文档

完整文档请访问 decisionnode.dev/docs

供 LLM 使用:decisionnode.dev/decisionnode-docs.md

贡献

查看 ROADMAP.md 了解接下来的计划。欢迎提交错误修复、功能建议、文档改进或任何想法。查看 CONTRIBUTING.md 了解如何开始。

许可证

MIT — 参见 LICENSE

Available Tools

9 tools
add_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.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeYesCategory: UI, Backend, API, Architecture, Database, Security, Testing, DevOps, Styling, Performance
decisionYesClear statement of what was decided (be specific and actionable)
rationaleYesWhy this decision was made - this is crucial for future context
constraintsYesSpecific rules or requirements to follow
globalNoSet to true to create a global decision that applies across ALL projects (e.g., "always use TypeScript strict mode", "never commit .env files")
forceNoSet 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.
projectYesThe workspace folder name

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters4/5

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.

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: 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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDecision ID to delete
projectYesThe workspace folder name

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDecision ID (e.g., ui-001)
projectYesThe workspace folder name

TDQS

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitYesNumber of entries (default: 10)
projectYesThe workspace folder name

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectYesThe workspace folder name

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
scopeNoFilter by scope (e.g., UI, Backend, API, Architecture)
projectYesThe workspace folder name

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
verboseNoInclude detailed statistics (default: false)

TDQS

A4/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesNatural language query describing what you are about to work on (e.g., "button styling", "API error handling", "database connection")
limitNoMaximum number of results (default: 3)
projectYesREQUIRED: 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

A4.5/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

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: 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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesDecision ID to update
decisionYesUpdated decision text
rationaleYesUpdated rationale
statusNoSet to "deprecated" to hide from search (keeps for history), or "active" to re-enable. Only change when the user explicitly asks.
constraintsYesUpdated list of constraints
projectYesThe workspace folder name

TDQS

A3.7/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 5 tool updatesv0.5.1
    • Addeddelete_decision
    • Addedget_history
    • Addedget_status
    • Addedlist_projects
    • Addedupdate_decision
  2. 5 tool updatesv1.0.4
    • Removeddelete_decision
    • Removedget_history
    • Removedget_status
    • Removedlist_projects
    • Removedupdate_decision
  3. 1 tool updatev1.0.2
    • Addedlist_projects
  4. 1 tool updatev1.0.3
    • Removedlist_projects
  5. 9 tool updatesv1.0.1
    • First observedadd_decision
    • First observeddelete_decision
    • First observedget_decision
    • First observedget_history
    • First observedget_status
    • First observedlist_decisions
    • First observedlist_projects
    • First observedsearch_decisions
    • First observedupdate_decision

TDQS

A4.2/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

9 tools cover the decision management domain without excess or deficiency. Each tool earns its place, supporting CRUD, search, history, status, and project context.

Completeness5/5

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

ActivityInactive
ResponsivenessNo issues

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

  • A
    license
    A
    quality
    C
    maintenance
    Persistent 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.
    35
    254
    7
    MIT
  • F
    license
    A
    quality
    A
    maintenance
    Semantic 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.
    10
    9
    -
  • A
    license
    A
    quality
    A
    maintenance
    Shared, 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.
    11
    32
    GPL 3.0

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/decisionnode/DecisionNode'

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