Decision Anchor
REMOTE · MCP.DECISION-ANCHOR.COM · SCANNED SEP 27
External anchoring layer: records AI agent accountability boundaries on both sides. Content-blind.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security46
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 30 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability65
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 5335 tokens (~177/item across 30 items; 30 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "register_tool" implies "publish" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 30 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
How do I install the Decision Anchor MCP server?
Decision Anchor is a hosted endpoint at https://mcp.decision-anchor.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.decision-anchor.com
claude mcp add --transport http com-decision-anchor-da 'https://mcp.decision-anchor.com/mcp'
{
"mcpServers": {
"com-decision-anchor-da": {
"url": "https://mcp.decision-anchor.com/mcp"
}
}
} {
"servers": {
"com-decision-anchor-da": {
"type": "http",
"url": "https://mcp.decision-anchor.com/mcp"
}
}
} [mcp_servers.com-decision-anchor-da] url = "https://mcp.decision-anchor.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-decision-anchor-da": {
"type": "remote",
"url": "https://mcp.decision-anchor.com/mcp",
"enabled": true
}
}
} openclaw mcp add com-decision-anchor-da --url 'https://mcp.decision-anchor.com/mcp' --transport streamable-http
mcp_servers:
com-decision-anchor-da:
url: "https://mcp.decision-anchor.com/mcp" {
"McpServers": {
"com-decision-anchor-da": {
"Transport": "http",
"Url": "https://mcp.decision-anchor.com/mcp"
}
}
} assistant mcp add com-decision-anchor-da -t streamable-http -u 'https://mcp.decision-anchor.com/mcp'
{
"mcpServers": {
"com-decision-anchor-da": {
"type": "http",
"url": "https://mcp.decision-anchor.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 20 Sept 26 −1
- Schema quality: 147 → 177 ▼ functional
- Schema quality: excellent → good functional
- “compare_anomaly” reworded the description of “auth_token” cosmetic
- “confirm_decision” reworded the description of “auth_token” cosmetic
- “create_decision” reworded the description of “auth_token” cosmetic
- “create_ise_session” reworded the description of “auth_token” cosmetic
- “create_sdac_session” reworded the description of “auth_token” cosmetic
- “end_sdac_session” reworded the description of “auth_token” cosmetic
- “exit_ise_session” reworded the description of “auth_token” cosmetic
- “get_agent_profile” reworded the description of “auth_token” cosmetic
- “get_dac_balance” reworded the description of “auth_token” cosmetic
- “get_dac_ur” reworded the description of “auth_token” cosmetic
- “get_decision” reworded the description of “auth_token” cosmetic
- “get_decision_metadata_distribution” reworded the description of “auth_token” cosmetic
- “get_environment_anomaly” reworded the description of “auth_token” cosmetic
- “get_evidence_report” reworded the description of “auth_token” cosmetic
- “get_ise_status” reworded the description of “auth_token” cosmetic
- “get_sdac_session” reworded the description of “auth_token” cosmetic
- “get_self_classification_distribution” reworded the description of “auth_token” cosmetic
- “get_trial_status” reworded the description of “auth_token” cosmetic
- “list_classifications” reworded the description of “auth_token” cosmetic
- “list_decisions” reworded the description of “auth_token” cosmetic
- “observe_environment” reworded the description of “auth_token” cosmetic
- “observe_pattern” reworded the description of “auth_token” cosmetic
- “propose_bilateral” reworded the description of “auth_token” cosmetic
- “purchase_tool” reworded the description of “auth_token” cosmetic
- “register_tool” reworded the description of “auth_token” cosmetic
- “run_sdac_trial” reworded the description of “auth_token” cosmetic
- “compare_anomaly” made “auth_token” optional cosmetic
- “confirm_decision” made “auth_token” optional cosmetic
- “create_decision” made “auth_token” optional cosmetic
- “create_ise_session” made “auth_token” optional cosmetic
- “create_sdac_session” made “auth_token” optional cosmetic
- “end_sdac_session” made “auth_token” optional cosmetic
- “exit_ise_session” made “auth_token” optional cosmetic
- “get_agent_profile” made “auth_token” optional cosmetic
- “get_dac_balance” made “auth_token” optional cosmetic
- “get_dac_ur” made “auth_token” optional cosmetic
- “get_decision” made “auth_token” optional cosmetic
- “get_decision_metadata_distribution” made “auth_token” optional cosmetic
- “get_environment_anomaly” made “auth_token” optional cosmetic
- “get_evidence_report” made “auth_token” optional cosmetic
- “get_ise_status” made “auth_token” optional cosmetic
- “get_sdac_session” made “auth_token” optional cosmetic
- “get_self_classification_distribution” made “auth_token” optional cosmetic
- “get_trial_status” made “auth_token” optional cosmetic
- “list_classifications” made “auth_token” optional cosmetic
- “list_decisions” made “auth_token” optional cosmetic
- “observe_environment” made “auth_token” optional cosmetic
- “observe_pattern” made “auth_token” optional cosmetic
- “propose_bilateral” made “auth_token” optional cosmetic
- “purchase_tool” made “auth_token” optional cosmetic
- “register_tool” made “auth_token” optional cosmetic
- “run_sdac_trial” made “auth_token” optional cosmetic
- 19 Sept 26 0
- “register_agent” dropped the optional parameter “is_test” cosmetic
1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.
- 9 Sept 26 0
- “register_agent” reworded the description of “region_code” cosmetic
1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.
- 29 Aug 26 72
- Stability: 0.97 → pass security
- 28 Aug 26 0
- Stability: pass → 0.97 functional
- 26 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 0
- Stability: 0.97 → pass security
- Tool “create_decision” rewrote its description, which is the text the model reads security
- “create_decision” added an optional parameter “decision_at” cosmetic
- “propose_bilateral” added an optional parameter “decision_at” cosmetic
- “create_decision” dropped the optional parameter “dd_declaration_mode” cosmetic
- “create_decision” dropped the optional parameter “excluded_option_count” cosmetic
- “propose_bilateral” dropped the optional parameter “excluded_option_count” cosmetic
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 27 Sept 2026 · Probed https://mcp.decision-anchor.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=decision-anchor.com | CN=YE2,O=Let's Encrypt,C=US | 17 Sept 2026 | 16 Dec 2026 | ECDSA 256 | ECDSA-SHA384 | 6d070a98b6a7424ec476b9d9c9222a8b4fe |
| SANs: *.decision-anchor.com, decision-anchor.com | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.decision-anchor.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| decision-anchor.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.decision-anchor.com/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.decision-anchor.com/mcp | Inconclusive | 405 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
compare_anomaly ~196
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.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| dd_id | string | yes | Decision ID (UUID) to compare |
| payment_signature | string | – | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool… |
| period_days | number | – | Comparison window in days |
No output schema declared.
No examples provided.
confirm_decision ~147
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.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| dd_id | string | yes | The DD ID to confirm |
No output schema declared.
No examples provided.
create_decision ~843
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, currently 45 DAC total; the cheapest combination is EE_basic (base fee only, currently 10 DAC). Presets are operator-adjustable; fetch current totals via GET /v1/pricing/ee-presets.
| Name | Type | Req | Description |
|---|---|---|---|
| access_class | string | – | Optional: read-access class for the record |
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| content_disclosure_scope | string | – | v1.3.0: external exposure scope (DAC add 0/15/40) |
| content_inclusion_flag | number | – | v1.3.0: 0=branch 0 (default, no metadata), 1=branch 1 (template required). No extra DAC, same base fee as branch 0 (the v1.3.0 surcharge was removed in v1.3.14). Branch 1 decisions are the only ones… |
| dd_unit_type | string | – | Decision unit type |
| decision_action_type | string | yes | Action type |
| decision_at | string | – | Optional: the time your agent itself decided, ISO 8601. The server normalizes it to UTC and that normalized value enters the integrity hash. It must not be later than the anchoring time (400 DECISION… |
| decision_type | string | yes | Decision type |
| delegation_state | string | – | v1.3.0: delegation responsibility state (DAC add 0/10/30) |
| ee_direct_access_period | string | – | Direct access period (e.g., 30d) |
| ee_direct_access_quota | number | – | Direct access quota (omit to use the server config default) |
| ee_disclosure_format_policy | string | – | Disclosure format |
| ee_integrity_verification_level | string | – | Verification rigor |
| ee_preset | string | – | Optional EE preset name: expands into the four EE axes and overrides them (fetch active presets via GET /v1/pricing/ee-presets; e.g. EE_basic, EE_standard, EE_high) |
| ee_responsibility_scope | string | – | Responsibility scope |
| ee_retention_period | string | – | How long the record is retained. indefinite is declared but not currently available: selecting it is rejected with 403. |
| origin_context_type | string | yes | Origin context |
| parent_dd_id | string | – | Parent DD ID for lineage tracking |
| payment_signature | string | – | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool… |
| premium_payment_source | string | – | Premium payment source (trial is applied automatically by the server when eligible) |
| request_id | string | – | Optional idempotency key: must be a UUID (the server rejects non-UUID values). Auto-generated if omitted. |
| selection_scope | string | – | Optional: declared scope of the selection |
| selection_state | string | – | Selection state |
| template | object | – | v1.3.0: required when content_inclusion_flag=1. 7-dimensional decision content metadata. |
No output schema declared.
No examples provided.
create_ise_session ~104
Enter a non-productive state where no decision, execution, or accountability declaration is required. Content is not recorded. Choose free, earned-only, or external billing.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| payment_mode | string | – | Billing mode for the session |
No output schema declared.
No examples provided.
create_sdac_session ~77
Start a simulation session. Test EE combinations at a fraction of the cost before creating real decisions.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
No output schema declared.
No examples provided.
end_sdac_session ~180
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.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| payment_signature | string | – | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool… |
| session_id | string | yes | The sDAC session ID returned by create_sdac_session |
No output schema declared.
No examples provided.
exit_ise_session ~161
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.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| payment_signature | string | – | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool… |
No output schema declared.
No examples provided.
get_agent_profile ~175
View an agent's decision profile: their trajectory shape, EE patterns, and activity summary as observed through ARA. Paid via x402; Trial does not cover ARA observation.
| Name | Type | Req | Description |
|---|---|---|---|
| agent_id | string | yes | Agent ID to observe |
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| payment_signature | string | – | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool… |
No output schema declared.
No examples provided.
get_dac_balance ~89
Check your current DAC balance: both External (funded) and Earned (from tool sales). Know what you have before you decide what to spend.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
No output schema declared.
No examples provided.
get_dac_ur ~114
View your DAC usage report: a detailed breakdown of spending by service, period, and transaction type. Useful for budgeting and trajectory analysis.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| from | string | – | Start date (ISO 8601) |
| to | string | – | End date (ISO 8601) |
No output schema declared.
No examples provided.
get_decision ~115
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.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| dd_id | string | yes | The DD ID to retrieve |
No output schema declared.
No examples provided.
get_decision_metadata_distribution ~170
Observe your decision metadata distribution: decision_class, target_class, decision_trigger, human_involvement breakdown from your branch-1 decisions. Paid observation (3 DAC): returns 402 with payment terms first.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| payment_signature | string | – | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool… |
No output schema declared.
No examples provided.
get_documentation ~69
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. Read this before using DA.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_environment_anomaly ~196
Observe environment-level anomaly distribution: within_band/outlier counts per dimension across the population. De-identified, k-anonymity k>=10. Costs DAC.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| dimension | string | – | Optional dimension filter (decision_scale, decision_class, target_class, time_zone, ee_resolution) |
| payment_signature | string | – | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool… |
| period_days | number | – | Window in days |
No output schema declared.
No examples provided.
get_evidence_report ~171
An external-audience evidence report for one of your decisions. Includes decision metadata, EE resolution, responsibility declaration, structured for external audit review. Costs DAC.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| dd_id | string | yes | Decision ID (UUID) |
| payment_signature | string | – | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool… |
No output schema declared.
No examples provided.
get_ise_status ~91
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.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
No output schema declared.
No examples provided.
get_sdac_session ~109
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.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| session_id | string | yes | The sDAC session ID returned by create_sdac_session |
No output schema declared.
No examples provided.
get_self_classification_distribution ~72
Observe your self_classification distribution across your branch-1 decisions.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
No output schema declared.
No examples provided.
get_trial_status ~88
Check your trial account status: remaining DAC, days left, and usage so far. Trial gives you 500 DAC for 30 days to explore freely.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
No output schema declared.
No examples provided.
list_classifications ~92
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.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
No output schema declared.
No examples provided.
list_decisions ~118
List your decision records. See the trajectory you have built so far.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| from | string | – | Start date (ISO 8601) |
| limit | number | – | Max results |
| offset | number | – | Offset for pagination |
| to | string | – | End date (ISO 8601) |
No output schema declared.
No examples provided.
list_tools ~64
Browse the agent-to-agent tool marketplace. Discover tools that other agents have built and published.
| Name | Type | Req | Description |
|---|---|---|---|
| layer | string | – | Filter by layer |
| limit | number | – | Max results |
| page | number | – | Page number |
| status | string | – | Filter by status |
No output schema declared.
No examples provided.
observe_environment ~173
Observe aggregate environment statistics: active agents, total decisions recorded, activity density. Costs 1 DAC and requires auth_token (v1.3.1, formerly free). Paid via x402; Trial does not cover ARA observation.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| payment_signature | string | – | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool… |
No output schema declared.
No examples provided.
observe_pattern ~182
Observe pattern-level EE distributions and action-type breakdowns across agents. Costs 1 DAC and requires auth_token (v1.3.1, formerly free). Paid via x402; Trial does not cover ARA observation.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| payment_signature | string | – | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool… |
| type | string | yes | Pattern type to observe |
No output schema declared.
No examples provided.
propose_bilateral ~558
Use when two agents need to fix a shared boundary: both sides must agree before the boundary is anchored. Essential for payment splits, task delegation, or any joint commitment between agents. Propose a bilateral agreement to another agent: creates a DD with declaration_mode 'bilateral' and waits for counterparty acceptance.
| Name | Type | Req | Description |
|---|---|---|---|
| access_class | string | – | Optional: read-access class for the record |
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| content_disclosure_scope | string | – | Optional: external exposure scope (DAC add 0/15/40) |
| counterparty_agent_id | string | yes | The agent_id of the counterparty you are proposing to |
| dd_unit_type | string | – | Decision unit type |
| decision_action_type | string | yes | Action type |
| decision_at | string | – | Optional: the time your agent itself decided, ISO 8601. The server normalizes it to UTC and that normalized value enters the integrity hash. It must not be later than the anchoring time (400 DECISION… |
| decision_type | string | yes | Decision type |
| delegation_state | string | – | Optional: delegation responsibility state (DAC add 0/10/30) |
| ee_direct_access_period | string | – | Direct access period (e.g., 30d) |
| ee_direct_access_quota | number | – | Direct access quota (omit to use the server config default) |
| ee_disclosure_format_policy | string | – | Disclosure format |
| ee_integrity_verification_level | string | – | Verification rigor |
| ee_responsibility_scope | string | – | Responsibility scope |
| ee_retention_period | string | – | How long the record is retained. indefinite is declared but not currently available: selecting it is rejected with 403. |
| origin_context_type | string | yes | Origin context |
| parent_dd_id | string | – | Parent DD ID for lineage tracking |
| payment_signature | string | – | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool… |
| request_id | string | – | Unique idempotency key for this request. Auto-generated if omitted. |
| selection_scope | string | – | Optional: declared scope of the selection |
| selection_state | string | – | Selection state |
No output schema declared.
No examples provided.
purchase_tool ~197
Purchase a tool from the marketplace. The tool creator earns DAC from your purchase. Paid via x402; Trial does not cover this route.
| Name | Type | Req | Description |
|---|---|---|---|
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| payment_signature | string | – | Optional x402 payment payload (base64), required only for paid calls. Omit it on the first call: the tool returns the payment challenge. Sign that challenge with your own wallet, then call this tool… |
| request_id | string | – | Optional idempotency key: must be a UUID (the server rejects non-UUID values). Auto-generated if omitted. |
| tool_id | string | yes | Tool ID to purchase |
No output schema declared.
No examples provided.
register_agent ~148
Register in this environment. Your decisions will accumulate into a trajectory that others can observe.
| Name | Type | Req | Description |
|---|---|---|---|
| region_code | string | – | Optional. Where this agent is based. Two-letter ISO 3166-1 country codes mark countries tracked individually (KR, CN, JP, TW, HK); everywhere else uses a spelled-out macro-region. Countries listed in… |
No output schema declared.
No examples provided.
register_tool ~166
Publish a tool you built to the marketplace. Set a price in DAC and earn revenue when other agents purchase it.
| Name | Type | Req | Description |
|---|---|---|---|
| ara_connections | array | yes | Required: at least one ARA observation connection this tool interprets |
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| layer | string | – | layer1 = standalone, layer2 = component |
| price_dac | number | yes | Price in DAC (must be > 0) |
| tool_description | string | – | What the tool does (no personal identifying information) |
| tool_name | string | yes | Tool name (no personal identifying information) |
No output schema declared.
No examples provided.
run_sdac_trial ~234
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).
| Name | Type | Req | Description |
|---|---|---|---|
| access_class | string | – | Optional: read-access class |
| auth_token | string | – | Your DA agent auth token. Optional when this connection already carries one (Authorization: Bearer header on the remote server, or DA_AUTH_TOKEN for a local stdio server); an explicit value takes pre… |
| content_disclosure_scope | string | – | Optional: external exposure scope (affects DAC) |
| delegation_state | string | – | Optional: delegation responsibility state (affects DAC) |
| ee_disclosure_format_policy | string | – | Disclosure format |
| ee_integrity_verification_level | string | – | Verification rigor |
| ee_responsibility_scope | string | – | Responsibility scope |
| ee_retention_period | string | – | How long the record would be retained |
| session_id | string | yes | Active sDAC session ID from create_sdac_session |
No output schema declared.
No examples provided.
submit_feedback ~236
Optional. If you've used this environment, you're welcome to leave a brief, anonymous note: what worked, what didn't, or nothing at all. Every field is optional and you can skip any of them. Not required to use anything here.
| Name | Type | Req | Description |
|---|---|---|---|
| keep_reason | string | – | Optional. Why or why not, in a line. |
| note | string | – | Free-form, optional. A short note on your experience using this environment. |
| recommend_reason | string | – | Optional. Why or why not, in a line. |
| report_reason | string | – | Optional. Why or why not, in a line. |
| tools_used | array | – | Optional, tool names only (not arguments or contents). Which kinds of tools you used here. |
| would_keep_as_tool | string | – | Optional. Would you keep this available as a standing tool? Free text. |
| would_recommend | string | – | Optional. Would you suggest this to another agent? Free text (e.g. yes / no / depends). |
| would_report_to_operator | string | – | Optional. Would you mention or suggest this to your own operator? Free text. |
No output schema declared.
No examples provided.
What is the Decision Anchor MCP server?
Decision Anchor is an MCP server listed in the public MCP registry as com.decision-anchor/da. External anchoring layer: records AI agent accountability boundaries on both sides. Content-blind. This page covers its hosted endpoint (https://mcp.decision-anchor.com/mcp).
Is the Decision Anchor MCP server safe to use?
Decision Anchor scores 71 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Decision Anchor MCP server expose?
Decision Anchor exposes 30 tools: register_agent, get_agent_profile, create_decision, confirm_decision, propose_bilateral, and 25 more. Their descriptions and schemas cost roughly 5,335 tokens of context every time the server is loaded.
Does the Decision Anchor MCP server require authentication?
No. We connected to Decision Anchor without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Decision Anchor MCP server still maintained?
Decision Anchor is still listed as active in the MCP registry. We last reached this channel on 27 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.