Install decisionnode from npm
Version 0.6.0 declares 3 executable entrypoints.
npm install --save-exact decisionnode@0.6.0npx -y -p decisionnode@0.6.0 decidenpx -y -p decisionnode@0.6.0 decisionnodenpx -y -p decisionnode@0.6.0 decide-mcpRecord development decisions as structured JSON, embed them as vectors via Gemini, and search semantically over MCP. Works with Claude Code, Cursor, Windsurf, and any MCP client
Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.
Version 0.6.0 declares 3 executable entrypoints.
npm install --save-exact decisionnode@0.6.0npx -y -p decisionnode@0.6.0 decidenpx -y -p decisionnode@0.6.0 decisionnodenpx -y -p decisionnode@0.6.0 decide-mcp| Canonical slug | decisionnode-decisionnode-f6462f53 | Deployment | Local Only |
|---|---|---|---|
| Canonical package | npm:decisionnode | Repository | decisionnode/DecisionNode |
| First published | — | Latest release | — |
| Last security verification | — | Classification confidence | 90% |
| Publication | Published | Official distribution | Yes |
| Channel | Identifier | Current version | Versions | Source |
|---|---|---|---|---|
| npm | decisionnode | 0.6.0 | 8 | Repository |
| Package | Version | Published / observed | Inventory | Security scan |
|---|---|---|---|---|
| npmdecisionnode | 0.6.0Current | Sep 5, 2026 | 9 toolsSucceeded · 0 resources · 0 prompts | Failed |
Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.
| Provenance | artifact_hash_verified | Signature | — |
|---|---|---|---|
| MCP SDK | @modelcontextprotocol/sdk | Artifact SHA-256 | 867a31e5d6d95340bd6527bdcefc71fefac6764d7e04744aff50d2bbec4a1aad |
| Scanner | mcp-proof-engine 0.1.0 | Scan completed | Aug 20, 2026 |
| Security rating | 43 / 100 | Methodology | version-rating-1.0 |
[ "decide", "decisionnode", "decide-mcp" ]
[ "security_policy_not_observed" ]
| Tool | Category | Annotations | Risk |
|---|---|---|---|
add_decision**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.Input schema{
"type": "object",
"properties": {
"scope": {
"type": "string",
"description": "Category: UI, Backend, API, Architecture, Database, Security, Testing, DevOps, Styling, Performance"
},
"decision": {
"type": "string",
"description": "Clear statement of what was decided (be specific and actionable)"
},
"rationale": {
"type": "string",
"description": "Why this decision was made - this is crucial for future context"
},
"constraints": {
"type": "array",
"items": {
"type": "string"
},
"description": "Specific rules or requirements to follow"
},
"global": {
"type": "boolean",
"description": "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": {
"type": "boolean",
"description": "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": {
"type": "string",
"description": "The workspace folder name"
}
},
"required": [
"scope",
"decision",
"rationale",
"constraints",
"project"
]
} | — | — | |
delete_decisionPermanently delete a decision. Only use when a decision was created in error. For outdated decisions, prefer update_decision with status=deprecated to preserve history.Input schema{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Decision ID to delete"
},
"project": {
"type": "string",
"description": "The workspace folder name"
}
},
"required": [
"id",
"project"
]
} | — | — | |
get_decisionGet full details of a specific decision by ID. Use this after search_decisions returns relevant results to get complete context including rationale and constraints.Input schema{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Decision ID (e.g., ui-001)"
},
"project": {
"type": "string",
"description": "The workspace folder name"
}
},
"required": [
"id",
"project"
]
} | — | — | |
get_historyView the activity log of recent decision changes. Use this to understand what decisions were recently added or modified.Input schema{
"type": "object",
"properties": {
"limit": {
"type": "number",
"description": "Number of entries (default: 10)"
},
"project": {
"type": "string",
"description": "The workspace folder name"
}
},
"required": [
"limit",
"project"
]
} | — | — | |
get_statusGet project decision status overview including total count and last activity. Use this for a quick health check of the decision store.Input schema{
"type": "object",
"properties": {
"project": {
"type": "string",
"description": "The workspace folder name"
}
},
"required": [
"project"
]
} | — | — | |
list_decisionsList 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.Input schema{
"type": "object",
"properties": {
"scope": {
"type": "string",
"description": "Filter by scope (e.g., UI, Backend, API, Architecture)"
},
"project": {
"type": "string",
"description": "The workspace folder name"
}
},
"required": [
"project"
]
} | — | — | |
list_projects**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.Input schema{
"type": "object",
"properties": {
"verbose": {
"type": "boolean",
"description": "Include detailed statistics (default: false)"
}
}
} | — | — | |
search_decisions**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.Input schema{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Natural language query describing what you are about to work on (e.g., \"button styling\", \"API error handling\", \"database connection\")"
},
"limit": {
"type": "number",
"description": "Maximum number of results (default: 3)"
},
"project": {
"type": "string",
"description": "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."
}
},
"required": [
"query",
"project"
]
} | — | — | |
update_decisionUpdate an existing decision when requirements change or the approach evolves. Use this instead of creating duplicate decisions.Input schema{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Decision ID to update"
},
"decision": {
"type": "string",
"description": "Updated decision text"
},
"rationale": {
"type": "string",
"description": "Updated rationale"
},
"status": {
"type": "string",
"enum": [
"active",
"deprecated"
],
"description": "Set to \"deprecated\" to hide from search (keeps for history), or \"active\" to re-enable. Only change when the user explicitly asks."
},
"constraints": {
"type": "array",
"items": {
"type": "string"
},
"description": "Updated list of constraints"
},
"project": {
"type": "string",
"description": "The workspace folder name"
}
},
"required": [
"id",
"decision",
"rationale",
"constraints",
"project"
]
} | — | — |
| Endpoint | Transport | Authentication | Health | Observed |
|---|---|---|---|---|
| No verified remote endpoint is linked. | ||||
Install the selected package version with: npm install --save-exact decisionnode@0.6.0
decisionnode/DecisionNode MCP Server exposed 9 tools during independent protocol observation, including add_decision, delete_decision, get_decision, get_history, get_status, list_decisions, list_projects, search_decisions, and others.
Our scanner tested version 0.6.0 without proving a finding in the methods exercised. This is not a guarantee that every deployment is secure.
Curated product and capability guides containing this catalog record.