Skip to main content
Glama
DecisionPen MCP Server

DecisionPen MCP Server

Official
by DecisionPen

DecisionPen Context Engine (MCP)

Works with Claude Desktop, Cursor, and any Model Context Protocol (MCP) client.

License: MIT MCP DecisionPen

DecisionPen is the Architecture Context Plane — institutional memory of how the enterprise is built and why. Agents help keep it current. Humans review what becomes trusted.

This repository ships the Context Engine: an MCP server that connects Claude, Cursor, and other agents to that plane. Agents can read the Enterprise Knowledge Graph, evidence, and decisions; read allowlisted document stores; and publish requirements, ADRs, and notes back. MCP never Confirmed-writes the architecture map. Humans approve what joins the graph.

Guide

What it covers

This page

What DecisionPen is, what MCP does, and the tools in plain English

CONNECT.md

Connect Claude or Cursor (including Edge API tokens)

CONTEXT.md

Tool recipes for research and solution design

SYNC.md

S3 allowlist sync runbook

Product docs

decisionpen.com/docs/context-engine-mcp

Marketing setup guides (SEO / step-by-step):


Why MCP matters here

Enterprise discovery, institutional memory, agentic SDLC, agentic solution architecture, and living enterprise architecture all need the same harnessed context. Without it, agents invent topology or burn tokens re-reading the same HLDs.

MCP is the two-way door:

  1. Read — graph, evidence, decisions, open estate changes

  2. Read documents — allowlisted object store (optional S3)

  3. Publish — submit_document / propose_enrichment → Inbox → human approve

Same plane as built-in Enterprise Ask. Two doors; one Context of Record.


Related MCP server: Claude Chat MCP

Tools in plain English

Orient

Tool

What it does

describe_context_model

Once per session: how the plane is layered (map, evidence, surfaces, Inbox).

Read the Enterprise Knowledge Graph

Tool

What it does

search_entities

Find applications, capabilities, etc. by name.

get_entity

Description, aliases, attributes for one entity.

get_entity_relationships

Confirmed links on the map.

get_relationship_summary

Quick counts by type/direction.

list_entity_types / batch_get_entities

Filters and hydrate many entities.

Read institutional memory

Tool

What it does

get_entity_evidence

Documents and notes bound to an entity (current by default).

search_evidence

Semantic search; pass entity_id or a knowledge surface when you can.

list_derived_decisions

Living architecture-decision / ADR cards on an entity.

list_entity_changes

Open or recent estate changes (e.g. pending tech replace).

list_context_surfaces / get_surface_evidence

Shared patterns, principles, security standards.

Read document repositories (optional S3)

Tool

What it does

list_sources

Browse folders/files under the allowlisted prefix.

search_docs

Search object keys.

get_document

Fetch one object to cite (does not save into DecisionPen).

propose_enrichment

Push an S3 object into DecisionPen for Inbox review.

run_sync

Sync new/changed objects (also available as CLI).

get_enrichment_job / rerun_enrichment_job

Poll or retry enrichment jobs.

Publish (agents write; humans approve)

Tool

What it does

submit_document

Push UTF-8 text onto an entity or knowledge surface (no S3 required).

propose_enrichment

Same Inbox path from an S3 object.

Requires DP_MCP_MODE=propose (or persist_approved). Nothing becomes Confirmed on the map until a steward accepts it in Inbox.

Ask (last resort)

Tool

What it does

ask_decisionpen

Server-side Ask with citations. Prefer structured tools above so the agent owns the research plan.

list_ask_skills

Optional skill ids for Ask.


Modes

DP_MCP_MODE

Behaviour

cite_only (default)

Read / cite. No push into DecisionPen.

propose

Agents can submit documents and propose enrichment (Inbox).

persist_approved

Advanced; still does not Confirmed-write the map from MCP.


Quick start

  1. Create an Edge API token: DecisionPen → Admin → Security & audit → Edge API tokens → Create.

  2. Follow CONNECT.md for Claude Desktop or Cursor.

  3. For document repositories, follow SYNC.md and the S3 docs page.

git clone https://github.com/DecisionPen/decisionpen-mcp.git
cd decisionpen-mcp
python -m venv .venv
source .venv/bin/activate   # Windows: .\.venv\Scripts\Activate.ps1
pip install -e .
cp examples/.env.mcp.example .env.mcp
# set DP_API_BASE + DP_API_TOKEN

Security defaults

  • DecisionPen does not store customer S3 keys on the edge push path. Credentials stay on the edge (your laptop, VPC, or container).

  • Prefix allowlisting, audit log, and rate limits apply.

  • Tokens are hashed at rest; revoke anytime in Admin.


Related product story

Available Tools

18 tools
ask_decisionpenA

LAST RESORT narrative Ask over DecisionPen (server-side agent + LLM). Prefer structured Context tools first: search_entities → relationships → get_entity_evidence / search_evidence. Use this only when those are insufficient. query: natural-language question. thread_id: optional prior thread_id to continue a conversation. skill_id: optional skill from list_ask_skills.

Inputs: query (required), skill_id, thread_id. Returns: result

batch_get_entitiesA

Hydrate many entity ids (e.g. peers from relationships). entity_ids: comma-separated ids (max 50).

Inputs: entity_ids (required). Returns: result

describe_context_modelA

How to use DecisionPen as a Context Engine: Confirmed map vs evidence notes, capability-first landscape workflow, and recommended tool call order. Call once at the start of an EA Q&A session.

Inputs: no named parameters. Returns: result

get_documentA

Fetch one object from the allowlisted S3 prefix. Returns provenance + text when extractable. Does not persist into DecisionPen (mode=cite_only|propose|persist_approved — MCP itself never Confirmed-writes). item_id: full S3 object key (from list_sources / search_docs). include_text: when true, attempt text extraction for cite-only use.

Inputs: item_id (required), include_text. Returns: result

get_enrichment_jobB

Poll DecisionPen enrichment job status. Review-ready when status=completed and a preview is present. Same auth caps as propose_enrichment.

Inputs: job_id (required). Returns: result

get_entityA

Fetch one Confirmed map entity (description, aliases, custom_attributes). Optionally include relationships / related entity stubs. entity_id: from search_entities.

Inputs: entity_id (required), include_relationships, include_related_entities. Returns: result

get_entity_evidenceA

Unstructured evidence pack for one entity: linked fragments + summary_node. Use after resolving CTMS/EDC/any app id. Cite fragment_id and source_title. Do not promote note-only integrations to Confirmed map edges.

Inputs: entity_id (required). Returns: result

get_entity_relationshipsA

Confirmed map relationships for an entity (incoming/outgoing endpoints). Label these as Confirmed — not evidence-only mentions. entity_id: from search_entities / get_entity.

Inputs: entity_id (required), limit. Returns: result

get_relationship_summaryA

Cheap Confirmed relationship counts by type and direction (incoming|outgoing). Use before deep get_entity_relationships when exploring a busy entity.

Inputs: entity_id (required). Returns: result

list_ask_skillsA

List user-invocable DecisionPen Ask skills (for ask_decisionpen skill_id only). Prefer Context tools over Ask for catalog Q&A.

Inputs: no named parameters. Returns: result

list_entity_typesA

List valid map entity types for search_entities entity_type filters (capability, application, process, …).

Inputs: no named parameters. Returns: result

list_sourcesA

List folders and files under the allowlisted S3 prefix. path: optional subfolder relative to DP_S3_PREFIX (or absolute key under it). next_token: pagination token from a previous list_sources call.

Inputs: path, next_token. Returns: result

propose_enrichmentA

Download the object at the edge and push bytes + provenance to DecisionPen (Insights Inbox). Requires DP_MCP_MODE=propose|persist_approved, DP_API_TOKEN (Edge API token preferred), DP_API_BASE. No S3 keys are sent to DecisionPen. Nothing is Confirmed on the map until a human approves in the Inbox. item_id: S3 object key under the allowlisted prefix.

Inputs: item_id (required), source_label, anchor_application_id. Returns: result

rerun_enrichment_jobA

Re-queue a failed or completed application_enrichment job (same sources). Blocked while pending/queued/running. Suggestions are replaced; map items stay.

Inputs: job_id (required). Returns: result

run_syncB

Run edge sync: list allowlisted S3 prefix, push new/modified files to DecisionPen. dry_run: report candidates without download/push. Requires DP_MCP_MODE=propose|persist_approved and DP_API_TOKEN.

Inputs: dry_run, max_keys, source_label, anchor_application_id. Returns: result

search_docsA

Search object keys/names under the allowlisted prefix (substring match, case-insensitive). query: text to match in the object key. path: optional subfolder to search within. max_results: optional cap (defaults to DP_MCP_MAX_SEARCH_RESULTS).

Inputs: query (required), path, max_results. Returns: result

search_entitiesA

Search Confirmed map entities by name/description. For landscape questions (e.g. what supports clinical trials), search capability/process types FIRST, then follow relationships to applications. query: search text. entity_type: optional type filter (capability, process, application, …). limit: max results.

Inputs: query (required), limit, entity_type. Returns: result

search_evidenceA

Semantic search over DecisionPen evidence fragments (no generative answer). Prefer passing entity_id to scope to one application/capability. Prefer get_entity_evidence for the full linked pack of one entity. query: search text. limit: max fragments (1–50). entity_id: strongly recommended — filter to fragments linked to that entity.

Inputs: query (required), limit, entity_id. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 18 tools

    Disambiguation4/5

    Tools split into clearly described workflows (S3 source browsing/ingestion vs. Confirmed-map context vs. Ask fallback), and most boundaries are explicit in the descriptions. A few near-overlaps exist, notably search_docs vs. list_sources, search_evidence vs. get_entity_evidence, and get_relationship_summary vs. get_entity_relationships, but the descriptions provide enough guidance to choose correctly.

    Naming Consistency5/5

    All tools use snake_case with a predictable verb_noun or verb_resource construction (get_, list_, search_, propose_, run_, rerun_, describe_, ask_). The batch_get_entities prefix is a minor variation but remains clear and consistent with the rest.

    Tool Count4/5

    Eighteen tools is slightly above the typical sweet spot, but the surface covers two coherent sub-domains (S3 ingestion and DecisionPen context retrieval), and each tool has a distinct role. A few tools (e.g., list_ask_skills, describe_context_model) feel peripheral but still earn their place.

    Completeness4/5

    The surface covers source discovery/fetch/propose/sync with job polling, full entity search/hydration/relationship/evidence flows, and an Ask fallback. Minor gaps remain around enrichment job listing/history and explicit approval workflows, but these appear intentionally human-gated rather than missing agent operations.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers