decisionnode/DecisionNode
OfficialMarkdownファイルではありません — セマンティック検索を備えた構造化された意思決定であり、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-mcpRelated 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が引き出せる「記憶」のようなものとして考えられています。
仕組み
意思決定が行われる —
decide addを使用するか、AIがMCPを通じてadd_decisionを呼び出しますベクトルとして埋め込まれる — Geminiの
gemini-embedding-001を使用し、ローカルのvectors.jsonに保存されますAIが後で取得する — MCPを通じて
search_decisionsを呼び出し、コサイン類似度でランク付けされた関連する意思決定を取得します
取得は明示的です。AIはMCP経由で検索ツールを呼び出し、クエリを渡して、コサイン類似度でランク付けされた上位N件の意思決定を取得します。システムプロンプトには何も事前注入されません。
2つのインターフェース
CLI ( | 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 — ビジュアルインターフェース
意思決定に関する3つのライブパースペクティブを提供するローカルWeb UIです:
グラフ — ノードが意思決定、エッジがコサイン類似度を表す力学モデルビュー。ホバーして意思決定の近傍を強調表示したり、しきい値スライダーをドラッグして接続を調整したりできます。
ベクトル空間 — 3072次元のGemini埋め込みを2DにUMAP投影し、原点から放射状に広がる実際のベクトルとして描画します。セマンティッククラスターが形成される様子を文字通り視覚的に確認できます。
リスト — スコープごとにグループ化された、検索・フィルタリング・並べ替え可能なカード。保存した内容を実際に読むための、地味ですが不可欠なビューです。
ライブ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 serverlocalhost:7788 で動作するローカル専用HTTPサーバー(ランダムなポートにフォールバックします)。読み取り専用 — CLIとMCPが書き込みパスとして残ります。
その他の機能
ドキュメント
完全なドキュメントは decisionnode.dev/docs を参照してください
CLIリファレンス — すべてのコマンド
MCPサーバー — 9つのツール、Claude/Cursor/Windsurf用のセットアップ
意思決定ノード — 構造、フィールド、ライフサイクル
コンテキストエンジン — 埋め込み、検索、競合検出
設定 — ストレージ、エージェントの動作、検索閾値、グローバルな意思決定
ワークフロー — 一般的なパターン
LLM用: decisionnode.dev/decisionnode-docs.md
貢献
今後の予定については ROADMAP.md を参照してください。バグ修正、機能追加、ドキュメントの改善、またはアイデアの提案を歓迎します。開始方法については CONTRIBUTING.md を参照してください。
ライセンス
MIT — 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