Developers
Sign in Get started

Developers · ACTA MCP

Give an agent a record it can keep.

ACTA MCP is a hosted Model Context Protocol server. An agent connects over streamable HTTP with OAuth and reads or writes its workspace’s operational record.

Connection

Endpoint and authorization.

Endpointhttps://acta-mcp.ardyn.ai/mcp
TransportStreamable HTTP
AuthOAuth 2.1, PKCE S256, dynamic client registration
Discovery/.well-known/oauth-protected-resource
Scopesacta.read, acta.write

How access works

An unauthenticated request receives a 401 pointing at the protected-resource metadata; the client then runs the OAuth flow and you sign in with your Ardyn account.

Every call is scoped to the authenticated workspace. Granting acta.write requires a two-factor confirmation.

Clients

Client compatibility.

Clients differ in how they support remote OAuth MCP servers, and the same product can behave differently by plan or workspace settings. Ardyn does not claim that every account of every assistant connects the same way.

Supported path

Clients that implement remote MCP with OAuth discovery and PKCE. The server allowlists the Claude web origins as first-party clients.

Check your client

If your client only supports local (stdio) servers or static API keys, it cannot use the hosted endpoint directly.

No local binary

There is no published local package for ACTA MCP. Use the hosted endpoint.

Tools

Tools in the running release.

Generated from the server source at the commit currently serving acta-mcp.ardyn.ai. Some tools are friendlier names (façades) over others.

ToolWhat it does
acta_rememberFaçade over acta_commit_memory: store a note. History is append-only; this does not forget anything.
acta_recallFaçade over acta_list_memories: inventory stored memory. Not a compiled task bundle — use acta_get_context for that.
acta_reviseFaçade over acta_supersede: replace an Active claim with a new claim that points at the old one. Not update_fact — retract (unknown) stays a different tool (acta_retire).
acta_retireFaçade over acta_retract: mark a claim, intent, or memory unknown without a replacement. Not forget — the retraction stays on chain forever. Pass clm_/int_/mem_ in claim_id or intent_id.
acta_get_contextFaçade over acta_read_context: compile a signed, trust-labelled context bundle for a task.
acta_audit_memoryFaçade over acta_get_exclusions: why items were dropped from a compiled bundle.
acta_write_intentRecord a durable, versioned intent (a standing goal or boundary) the agent should keep in mind. Returns the intent id + provenance aea.
acta_write_claimAssert a fact into the claim graph: subject-predicate-object with a confidence (basis points, 0-10000). object must be non-empty — a blank string is rejected as empty_object (existence-claims need an explicit object_type). Contradictory claims are resolved at read time.
acta_get_state_rootGet the current cognitive state root (a hash committing to all active intents + claims + memory) for the tenant/scope.
acta_verifyVerify a provenance aea id against the signed ledger: chain integrity + Ed25519 signatures.
acta_answer_lookupBefore doing expensive work for a task, check the verifiable answer cache. Returns 'hit' when a stored answer is still valid under state_root and its volatility bound. A moved state_root evicts the stale entry (evict-on-stale-read, not compare-only). model_id, model_version, session_id and retrieval_params_hash select WHICH cached answer is being asked for — they are part of the key, so a lookup that omits what the put declared (or declares what the put omitted) is a miss, not a match. state_root covers Acta knowledge only; a signed HIT is not proof a world-clock fact is still true.
acta_answer_putAfter computing a final answer for a task, memoize it. An undeclared put is stored with a bounded ttl, never eternally; pass volatility 'stable' or 'ttl:<seconds>' to choose, or 'session' together with a session_id. model_id, model_version, session_id and retrieval_params_hash become part of the key — pass the same values to acta_answer_lookup or you will not find this answer. On lookup, a moved state_root evicts this entry. Emits a signed receipt; the receipt proves cache validity, not that the fact is true.
acta_retract_memoryRetract a memory without deleting it. Emits MemoryRetracted; the compiler skips it. History stays on the chain. memory_id must be mem_; clm_ or int_ returns wrong_entity_type.
acta_pin_claimBudget-pin an Active claim so context compile will not drop it for token budget. Never bypasses Superseded/Retracted/conflict-loss.
acta_unpin_claimRemove a budget pin. Idempotent: unpinning a non-pinned id returns pinned:false and the remaining tenant_pins.
acta_list_pinsList budget-pinned claim ids for the tenant.
acta_retire_bulkCompatibility alias for acta_retire_bulk_preview. Always non-mutating; it creates a bulk approval challenge and never executes retirement.
acta_retire_bulk_previewNon-mutating bulk-retire preview. Returns exact memory/claim IDs plus a short-lived bulk_approval_id for human approval.
acta_retire_bulk_executeExecute a previously previewed and human-approved bulk retirement by bulk_approval_id. The server revalidates the approved ID set and consumes the one-time approval.
acta_commit_memoryStore a memory (note, observation, document chunk) with tags. It becomes retrievable by semantic similarity in read_context.
acta_read_contextCompile a signed context bundle for a task: active intents + resolved claims + semantically-retrieved memory, budget-fitted. The bundle carries a verifiable provenance aea. Call this before acting to ground the agent in durable memory.
acta_supersedeExplicitly supersede an Active claim with a new claim (lifecycle). Emits ClaimSuperseded ledger entry before status change.
acta_retractRetract a claim, intent, or memory without replacement (one-way lifecycle). Routes int_ to /v1/intents/retract, mem_ to /v1/memory/retract, clm_ to /v1/claims/retract.
acta_get_exclusionsReturn a human-readable exclusion manifest, counts, and unresolved-conflict action queue for a compiled bundle.
acta_list_memoriesList every stored memory as a readable inventory. Paginated (cursor + total). Filter by status=active|retracted|all and tag. Each item includes full text and aea_id for acta_verify. The inventory field is the human-readable listing; silent partial pages are forbidden.
acta_context_handoffAdmit a full signed ContextHandoffV1 envelope through the canonical predecessor-checked runtime. Rejected admission leaves current state unchanged.
acta_get_context_handoffRead the authenticated tenant's current admitted ContextHandoffV1 successor state.
acta_training_beginAtomically register a signed DatasetManifestV1 and TrainingPlanV1. ACTA notarizes evidence only; it does not execute training.
acta_training_recordRecord one signed training artifact selected by artifact_type: checkpoint, run, or evaluation.
acta_training_closeRecord a signed TrainingOutcomeV1 and optionally a TrainingPromotionV1. Promotion requires training.promote and never makes a model routable.
acta_training_lineageResolve and verify tenant-scoped training lineage from a checkpoint commitment.
acta_training_catalogEnumerate the authenticated tenant's signed training artifacts (datasets, plans, checkpoints, runs, evaluations, outcomes, promotions) as a complete fixed-snapshot page sequence (GET /v1/training/catalog). Discovery only: returns locators, commitments and relationships, never artifact bytes; per-artifact verification is opt-in; multiple outcomes are all returned with no winner; reads have no cognition side effects. Pass next_cursor with the same filters to continue a snapshot.
acta_bind_connectionRegister a tenant-managed external connection (POST /v1/connections). Records bind intent only — no vendor call and no authority. Tenant is taken from the authenticated credential, never from tool args. Secrets are references only (credential_handle); material secrets are refused.
acta_list_connectionsList this tenant's connections (GET /v1/connections). Tenant is taken from the authenticated credential. Another tenant's bindings are never returned.
acta_get_connectionGet one connection owned by this tenant (GET /v1/connections/:id). Another tenant's id is not found.
acta_unbind_connectionRevoke this tenant's connection binding (DELETE /v1/connections/:id). Terminal and fail-closed. Does not revoke the vendor credential. Tenant is taken from the authenticated credential.

36 tools · source Kylewilson04/acta crates/acta-mcp/src/tools.rs at f69ab724bec0.