decisionnode/DecisionNode
Official단순한 마크다운 파일이 아닙니다 — 의미론적 검색이 가능한 구조화된 결정 사항을 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가 컨텍스트 윈도우에 항상 유지해야 하는 "규칙(Rules)"과는 다릅니다(규칙은 CLAUDE.md나 memory.md에 더 적합합니다). 결정 사항은 AI가 의미론적 검색을 통해 실제로 필요할 때 불러올 수 있는 "기억(Memories)"과 같습니다.
작동 방식
결정 사항 생성 —
decide add를 사용하거나 AI가 MCP를 통해add_decision을 호출합니다.벡터로 임베딩 — Gemini의
gemini-embedding-001을 사용하여 로컬vectors.json에 저장합니다.AI가 나중에 검색 — MCP를 통해
search_decisions를 호출하여 코사인 유사도에 따라 순위가 매겨진 관련 결정 사항을 가져옵니다.
검색은 명시적으로 이루어집니다. AI가 MCP를 통해 검색 도구를 호출하여 쿼리를 전달하고, 코사인 유사도에 따라 상위 N개의 결정 사항을 반환받습니다. 시스템 프롬프트에 미리 주입되는 것은 없습니다.
두 가지 인터페이스
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 — 시각적 인터페이스
결정 사항에 대한 세 가지 실시간 관점을 제공하는 로컬 웹 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