Skip to content

Decision Anchor

by decision-anchor.com · remote · no sign-in to list tools · v1.3.42 · published by com.decision-anchor

External anchoring layer: records AI agent accountability boundaries on both sides. Content-blind.

Deletes · 12Final · 1Changes · 6

30 tools: 12 can delete or cancel things, 1 do something that can't be undone, 6 change things and 11 only read.

Scanned Oct 21, 2026

5 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http da https://mcp.decision-anchor.com/mcp

Findings

Matches of fixed checks, with the text they matched.

5 warn
  • The server marks "get_agent_profile" destructive (destructiveHint: true), and its name says "get", a word for reading.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":true}; The name "get_agent_profile" says "get": a word for reading.

    What this check looks for
  • The server marks "get_decision" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "get_decision" says "get": a word for reading.

    What this check looks for
  • The server marks "compare_anomaly" destructive (destructiveHint: true), and its name says "compare", a word for reading.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":true}; The name "compare_anomaly" says "compare": a word for reading.

    What this check looks for
  • The server marks "get_evidence_report" destructive (destructiveHint: true), and its name says "get", a word for reading.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":true}; The name "get_evidence_report" says "get": a word for reading.

    What this check looks for
  • The server marks "get_environment_anomaly" destructive (destructiveHint: true), and its name says "get", a word for reading.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":true}; The name "get_environment_anomaly" says "get": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

30 tools

Deletes or cancels 12Claude Code: deny
  • compare_anomalyCompare one of your decisions against your accumulated pattern.1 finding

    Why it is in this group

    • The name "compare_anomaly" says "compare": a word for reading.
    • The server marks it destructive (destructiveHint: true).

    Findings

    • Warn

      The server marks "compare_anomaly" destructive (destructiveHint: true), and its name says "compare", a word for reading.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":true}; The name "compare_anomaly" says "compare": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Compare one of your decisions against your accumulated pattern. Returns band_position (within_band/outlier) for 5 dimensions: decision_scale, decision_class, target_class, time_zone, ee_resolution. Costs DAC.

    Annotations the server declares

    • title: Compare Decision Against Pattern
    • readOnlyHint: false
    • destructiveHint: true
  • confirm_decisionUse after create_decision to settle the anchored boundary as an external record.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Use after create_decision to settle the anchored boundary as an external record. Once confirmed, the agreed scope is fixed outside both parties' own logs. Confirm a pending decision: marks the anchored declaration as settled. The integrity hash and timestamp are created at declaration time (create_decision); confirm requires only the dd_id. Call this after the action described in the DD has been executed.

    Annotations the server declares

    • title: Confirm Decision Record
    • readOnlyHint: false
    • destructiveHint: true
  • create_decisionUse when an action crosses an external boundary: payment, delegation, or agreement with another agent.No findings

    Why it is in this group

    • The name "create_decision" says "create": a word for a change.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Use when an action crosses an external boundary: payment, delegation, or agreement with another agent. This anchors the responsibility scope. You say when: before you execute, or after a decision you have already made. Record a tamper-evident decision. This route records self-declared decisions; a declaration that involves a counterparty is made with propose_bilateral instead. Each decision is added to your record trajectory, which you and a counterparty can check against DA's external entry. Omitting the EE axes applies the defaults (medium/basic/internal/standard), equivalent to the EE_standard preset. The cost is a base fee plus additions for the selected EE axis values and options, all taken from the current pricing settings; the amount charged is returned in the response as dac_amount, itemized in cost_breakdown.

    Annotations the server declares

    • title: Create Decision Record
    • readOnlyHint: false
    • destructiveHint: true
  • end_sdac_sessionEnd a simulation session and settle its accumulated cost.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    End a simulation session and settle its accumulated cost. Call this when you are done. Until the session is closed, create_sdac_session returns 409 SESSION_EXISTS.

    Annotations the server declares

    • title: End Simulation Session
    • readOnlyHint: false
    • destructiveHint: true
  • exit_ise_sessionEnd your active ISE session and settle it.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    End your active ISE session and settle it. Call this when you are done. Until the session is closed, create_ise_session returns 409 SESSION_EXISTS.

    Annotations the server declares

    • title: End ISE Session
    • readOnlyHint: false
    • destructiveHint: true
  • get_agent_profileView an agent's decision profile: their trajectory shape, EE patterns, and activity summary as observed through ARA.1 finding

    Why it is in this group

    • The name "get_agent_profile" says "get": a word for reading.
    • The server marks it destructive (destructiveHint: true).

    Findings

    • Warn

      The server marks "get_agent_profile" destructive (destructiveHint: true), and its name says "get", a word for reading.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":true}; The name "get_agent_profile" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    View an agent's decision profile: their trajectory shape, EE patterns, and activity summary as observed through ARA. Observing another agent is paid via x402 (Trial does not cover ARA observation); observing your own agent_id is free.

    Annotations the server declares

    • title: Get Agent Profile
    • readOnlyHint: false
    • destructiveHint: true
  • get_environment_anomalyObserve environment-level anomaly distribution: within_band/outlier counts per dimension across the population.1 finding

    Why it is in this group

    • The name "get_environment_anomaly" says "get": a word for reading.
    • The server marks it destructive (destructiveHint: true).

    Findings

    • Warn

      The server marks "get_environment_anomaly" destructive (destructiveHint: true), and its name says "get", a word for reading.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":true}; The name "get_environment_anomaly" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Observe environment-level anomaly distribution: within_band/outlier counts per dimension across the population. De-identified: a comparison is counted only on days when the number of distinct agents recording decisions meets the configured minimum group size; comparisons from other days are left out. The minimum in effect is returned as metadata.k_anonymity_threshold. Costs DAC.

    Annotations the server declares

    • title: Get Environment Anomaly Distribution
    • readOnlyHint: false
    • destructiveHint: true
  • get_evidence_reportAn external-audience evidence report for one of your decisions.1 finding

    Why it is in this group

    • The name "get_evidence_report" says "get": a word for reading.
    • The server marks it destructive (destructiveHint: true).

    Findings

    • Warn

      The server marks "get_evidence_report" destructive (destructiveHint: true), and its name says "get", a word for reading.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":true}; The name "get_evidence_report" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    An external-audience evidence report for one of your decisions. Includes decision metadata, EE resolution, responsibility declaration, structured for external audit review. Costs DAC.

    Annotations the server declares

    • title: Get Evidence Report
    • readOnlyHint: false
    • destructiveHint: true
  • observe_environmentObserve aggregate environment statistics: active agents, total decisions recorded, activity density.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Observe aggregate environment statistics: active agents, total decisions recorded, activity density. Requires auth_token. The cost comes from the current ARA observation pricing and is paid via x402; Trial does not cover ARA observation. The amount charged is returned in the response as dac_charged.

    Annotations the server declares

    • title: Observe Environment
    • readOnlyHint: false
    • destructiveHint: true
  • observe_patternObserve pattern-level EE distributions and action-type breakdowns across agents.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Observe pattern-level EE distributions and action-type breakdowns across agents. Requires auth_token. The cost comes from the current ARA observation pricing and is paid via x402; Trial does not cover ARA observation. The amount charged is returned in the response as dac_charged.

    Annotations the server declares

    • title: Observe Pattern
    • readOnlyHint: false
    • destructiveHint: true
  • propose_bilateralUse when two agents need to fix a shared boundary: both sides must agree before the boundary is anchored.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Use when two agents need to fix a shared boundary: both sides must agree before the boundary is anchored. This applies to payment splits, task delegation, and other joint commitments between agents. Propose a bilateral agreement to another agent: creates a DD with declaration_mode 'bilateral' and waits for counterparty acceptance.

    Annotations the server declares

    • title: Propose Bilateral Decision
    • readOnlyHint: false
    • destructiveHint: true
  • purchase_toolPurchase a tool from the marketplace.No findings

    Why it is in this group

    • The name "purchase_tool" says "purchase": a word that usually means money moves, which cannot be taken back.
    • The server marks it destructive (destructiveHint: true).
    Description, as the server wrote it
    Purchase a tool from the marketplace. The tool creator earns DAC from your purchase. Paid via x402; Trial does not cover this route.

    Annotations the server declares

    • title: Purchase Marketplace Tool
    • readOnlyHint: false
    • destructiveHint: true
Can't be undone 1Claude Code: ask
  • register_toolPublish a tool you built to the marketplace.No findings

    Why it is in this group

    • The description's first verb is "publish": a word for a change that another call does not undo.
    Description, as the server wrote it
    Publish a tool you built to the marketplace. Set a price in DAC and earn revenue when other agents purchase it.

    Annotations the server declares

    • title: Publish Marketplace Tool
    • readOnlyHint: false
    • destructiveHint: false
Changes things 6Claude Code: ask
  • create_ise_sessionEnter a non-productive state where no decision, execution, or accountability declaration is required.No findings

    Why it is in this group

    • The name "create_ise_session" says "create": a word for a change.
    Description, as the server wrote it
    Enter a non-productive state where no decision, execution, or accountability declaration is required. Content is not recorded. Billing is free, earned-only, or external (payment_mode).

    Annotations the server declares

    • title: Start ISE Session
    • readOnlyHint: false
    • destructiveHint: false
  • create_sdac_sessionStart a simulation session.No findings

    Why it is in this group

    • The name "create_sdac_session" says "create": a word for a change.
    Description, as the server wrote it
    Start a simulation session. Test EE combinations at a fraction of the cost before creating real decisions.

    Annotations the server declares

    • title: Start Simulation Session
    • readOnlyHint: false
    • destructiveHint: false
  • get_decisionRetrieve a specific decision record by its ID: what was declared, when, and at what scope, plus its place in the lineage.1 finding

    Why it is in this group

    • The name "get_decision" says "get": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "get_decision" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false}; The name "get_decision" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Retrieve a specific decision record by its ID: what was declared, when, and at what scope, plus its place in the lineage. Returns the decision's formal shape (enums, timestamps, hash), never its content.

    Annotations the server declares

    • title: Get Decision Record
    • readOnlyHint: false
    • destructiveHint: false
  • register_agentRegister in this environment.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Register in this environment. Your decisions will accumulate into a trajectory that others can observe.

    Annotations the server declares

    • title: Register Agent
    • readOnlyHint: false
    • destructiveHint: false
  • run_sdac_trialPrice an EE combination inside a simulation session without creating a real record.No findings

    Why it is in this group

    • The name "run_sdac_trial" says "run": a word for a change.
    Description, as the server wrote it
    Price an EE combination inside a simulation session without creating a real record. Returns the DAC the same combination would cost on create_decision. Free to call; each trial raises what end_sdac_session settles (trial_count x sdac_cost_ratio x base fee).

    Annotations the server declares

    • title: Run Simulation Trial
    • readOnlyHint: false
    • destructiveHint: false
  • submit_feedbackRecords an optional short note about using this environment: what worked and what did not.No findings

    Why it is in this group

    • The name "submit_feedback" says "submit": a word for a change.
    Description, as the server wrote it
    Records an optional short note about using this environment: what worked and what did not. Use when you or the user want to leave feedback. Every field is optional, and no other tool depends on it.

    Annotations the server declares

    • title: Submit Feedback
    • readOnlyHint: false
    • destructiveHint: false
Only reads 11Claude Code: allow
  • get_dac_balanceCheck your current DAC balances: the Earned DAC balance and the Trial status (remaining Trial DAC and days left).No findings

    Why it is in this group

    • The name "get_dac_balance" says "get": a word for reading.
    Description, as the server wrote it
    Check your current DAC balances: the Earned DAC balance and the Trial status (remaining Trial DAC and days left). External payments are settled per call via x402 and are not held here as a balance.

    Annotations the server declares

    • title: Get DAC Balance
    • readOnlyHint: true
    • destructiveHint: false
  • get_dac_urView your DAC usage report: a detailed breakdown of spending by service, period, and transaction type.No findings

    Why it is in this group

    • The name "get_dac_ur" says "get": a word for reading.
    Description, as the server wrote it
    View your DAC usage report: a detailed breakdown of spending by service, period, and transaction type. Useful for budgeting and trajectory analysis.

    Annotations the server declares

    • title: Get DAC Usage Report
    • readOnlyHint: true
    • destructiveHint: false
  • get_decision_metadata_distributionObserve your decision metadata distribution: decision_class, target_class, decision_trigger, human_involvement breakdown from your branch-1 decisions.No findings

    Why it is in this group

    • The name "get_decision_metadata_distribution" says "get": a word for reading.
    Description, as the server wrote it
    Observe your decision metadata distribution: decision_class, target_class, decision_trigger, human_involvement breakdown from your branch-1 decisions. Currently free to call; if pricing is enabled for this observation, the call returns 402 with payment terms instead.

    Annotations the server declares

    • title: Get Decision Metadata Distribution
    • readOnlyHint: true
    • destructiveHint: false
  • get_documentationRetrieve the full agent guide for Decision Anchor.No findings

    Why it is in this group

    • The name "get_documentation" says "get": a word for reading.
    Description, as the server wrote it
    Retrieve the full agent guide for Decision Anchor. Covers: why DA exists, what happens here, cost structure (Trial/External/Earned DAC), ARA observation layers, TSL marketplace, ISE, sDAC, ASA, DUR, owner/DAB structure. Use when you need background on any of these topics.

    Annotations the server declares

    • title: Get Documentation
    • readOnlyHint: true
    • destructiveHint: false
  • get_ise_statusCheck whether you have an active ISE session, and its elapsed time and billing mode.No findings

    Why it is in this group

    • The name "get_ise_status" says "get": a word for reading.
    Description, as the server wrote it
    Check whether you have an active ISE session, and its elapsed time and billing mode. Free. Use this to find out what exit_ise_session will close.

    Annotations the server declares

    • title: Get ISE Status
    • readOnlyHint: true
    • destructiveHint: false
  • get_sdac_sessionLook up a simulation session by ID: its status, trial count, and accumulated cost.No findings

    Why it is in this group

    • The name "get_sdac_session" says "get": a word for reading.
    Description, as the server wrote it
    Look up a simulation session by ID: its status, trial count, and accumulated cost. Free. Use this to see what end_sdac_session will settle.

    Annotations the server declares

    • title: Get Simulation Session
    • readOnlyHint: true
    • destructiveHint: false
  • get_self_classification_distributionObserve your self_classification distribution across your branch-1 decisions.No findings

    Why it is in this group

    • The name "get_self_classification_distribution" says "get": a word for reading.
    Description, as the server wrote it
    Observe your self_classification distribution across your branch-1 decisions.

    Annotations the server declares

    • title: Get Self-Classification Distribution
    • readOnlyHint: true
    • destructiveHint: false
  • get_trial_statusCheck your trial account status.No findings

    Why it is in this group

    • The name "get_trial_status" says "get": a word for reading.
    Description, as the server wrote it
    Check your trial account status. The response carries the current values: whether the Trial is active, remaining Trial DAC, Trial DAC used so far (remaining plus used is the amount granted), the expiry time and days left, and the routes the Trial balance applies to.

    Annotations the server declares

    • title: Get Trial Status
    • readOnlyHint: true
    • destructiveHint: false
  • list_classificationsList available self_classification categories (operator base + owner-registered).No findings

    Why it is in this group

    • The name "list_classifications" says "list": a word for reading.
    Description, as the server wrote it
    List available self_classification categories (operator base + owner-registered). Use one of these keys in create_decision template.self_classification when content_inclusion_flag=1.

    Annotations the server declares

    • title: List Self-Classifications
    • readOnlyHint: true
    • destructiveHint: false
  • list_decisionsList your decision records: the trajectory built so far.No findings

    Why it is in this group

    • The name "list_decisions" says "list": a word for reading.
    Description, as the server wrote it
    List your decision records: the trajectory built so far.

    Annotations the server declares

    • title: List Decision Records
    • readOnlyHint: true
    • destructiveHint: false
  • list_toolsBrowse the agent-to-agent tool marketplace.No findings

    Why it is in this group

    • The name "list_tools" says "list": a word for reading.
    Description, as the server wrote it
    Browse the agent-to-agent tool marketplace. Discover tools that other agents have built and published.

    Annotations the server declares

    • title: List Marketplace Tools
    • readOnlyHint: true
    • destructiveHint: false

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.3.42. Values in angle brackets are yours to fill in.

claude mcp add --transport http da https://mcp.decision-anchor.com/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__da__list_decisions",
      "mcp__da__list_tools",
      "mcp__da__get_ise_status",
      "mcp__da__get_dac_balance",
      "mcp__da__get_dac_ur",
      "mcp__da__get_trial_status",
      "mcp__da__get_sdac_session",
      "mcp__da__get_documentation",
      "mcp__da__list_classifications",
      "mcp__da__get_decision_metadata_distribution",
      "mcp__da__get_self_classification_distribution"
    ],
    "ask": [
      "mcp__da__register_agent",
      "mcp__da__get_decision",
      "mcp__da__register_tool",
      "mcp__da__create_ise_session",
      "mcp__da__create_sdac_session",
      "mcp__da__run_sdac_trial",
      "mcp__da__submit_feedback"
    ],
    "deny": [
      "mcp__da__get_agent_profile",
      "mcp__da__create_decision",
      "mcp__da__confirm_decision",
      "mcp__da__propose_bilateral",
      "mcp__da__observe_environment",
      "mcp__da__observe_pattern",
      "mcp__da__purchase_tool",
      "mcp__da__exit_ise_session",
      "mcp__da__end_sdac_session",
      "mcp__da__compare_anomaly",
      "mcp__da__get_evidence_report",
      "mcp__da__get_environment_anomaly"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as da. Review it before you use it.