MCP.Market

ACR — Agent Composition Records MCP server

by Tethral-Inc·io.github.Tethral-Inc/acr·v2.14.0·1 stars

Interaction profile registry for AI agents. Log interactions, query behavioral lenses.

B83/100grade B
What users say
No reviews yet
Be the first
Safety scan
B83/100

full report

Adoption
Growing

1 stars59 downloads/wk

Reviews

Write one

Nobody has reviewed ACR — Agent Composition Records yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

ACR — Agent Composition Records tools (30, 1 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • acknowledge_signal

    Acknowledge an anomaly signal notification after reviewing it with your operator. Records that the notification has been reviewed. Acknowledgements expire after 30 days. Does not remove the observation from the network \u2014 only records that you have reviewed the signal.

  • check_entity

    Ask the ACR network what it knows about a specific skill hash, agent, or system. Returns the raw behavioral signals ACR has observed: interaction counts, failure and anomaly rates, agent adoption counts, and related metadata. This is NOT a security check \u2014 ACR does not evaluate, score, or test. It only records what has been observed and surfaces the raw counts. Read-only lookup; no data is se

  • check_environment

    Check the current ACR network environment: pipeline health (status, aggregation freshness, known issues) and active anomaly signals. Call on startup to see the state of the broader network. Remember to call log_interaction after every external call so your interaction profile stays current \u2014 every lens depends on it.

  • configure_deep_composition

    Operator privacy control. Enable or disable deep composition capture for this session. When enabled (default), ACR sees the internals of your attached skills and MCPs so it can distinguish internal friction from external friction. When disabled, only top-level component info is sent \u2014 ACR no longer sees sub-components. Also settable at startup via the ACR_DEEP_COMPOSITION environment variable

  • dismiss_pattern

    Dismiss a proactive pattern surfaced on get_my_agent or whats_new. The pattern won't appear again even if the underlying condition persists. Pass the pattern_type shown in the "Things we noticed" footer. Optional reason helps ACR calibrate which patterns operators find actionable.

  • get_compensation_signatures
  • get_composition_diff

    Compare your declared composition (MCPs, APIs, skills from register_agent / update_composition) against the targets you actually interact with in receipts. Surfaces three gaps: declared-and-used, declared-but-unused (shadow declarations), used-but-undeclared (shadow dependencies). Use this to decide whether to call update_composition.

  • get_coverage

    Signal coverage: which fields you populate on your receipts and which you don't. Shows transparent rules with their conditions, observed inputs, and whether they triggered. Use this to see if your logging is complete enough for the other lenses to be useful. Defaults to source='all' so it reflects every capture path (the host-side hook is primary).

  • get_failure_registry

    Failure registry: per-target breakdown of failures \u2014 status codes, error codes, categories, and median duration when failed. Shows where your interactions are failing and how.

  • get_friction_report

    Query the friction lens of your interaction profile \u2014 one of several lenses available (more on the roadmap). The friction lens surfaces where time and tokens are being lost: chain overhead, directional amplification between targets, retry waste, population drift, and per-target bottlenecks. Friction is a continuum, not a verdict \u2014 high friction could be infrastructure, a hard task, or a

  • get_interaction_log

    View your interaction history. Use mode "list" for a scannable log, or "detail" (or provide receipt_id) for a full technical readout of a single interaction with network context.

  • get_my_agent

    Identity card for your ACR agent: agent ID, API key, dashboard link, provider class, status. Pure identity \u2014 for "what should I do next?" call `orient_me`; for behavior data call any lens tool directly.

  • get_network_status

    Network-wide observation dashboard. Shows agent and system totals, system signal rates sorted worst-first, skills with elevated anomaly signals, and recent cross-agent escalations. Use this to see the state of the broader ACR network beyond just your own profile. Defaults to source='all' so the 24h totals reflect every capture path (the host-side hook is primary).

  • get_notifications

    An anomaly signal is a behavioral pattern ACR observed across multiple unrelated agents (not a security event). Check for unread anomaly signal notifications about components in your composition. If ACR has observed anomaly signals affecting a skill, MCP, or system you use, it will have sent a notification here. Also delivers version updates. Call this on startup. ACR is a registry and notificatio

  • get_profile

    Your interaction profile: identity, composition summary, composition delta (MCP-observed vs agent-reported), receipt counts, target counts, and days active. This is the foundation view \u2014 other lenses (friction, coverage, trend) build on top of these counts.

  • get_revealed_preference
  • get_skill_tracker

    Track skill adoption and anomaly signal rates across the agent population. Use without skill_hash for an overview, or with skill_hash for a deep-dive with provider breakdown and cross-provider anomaly data.

  • get_skill_versions

    Get version history for a skill. Shows how it has changed over time, whether your version is current, and how many versions behind you are.

  • get_stable_corridors

    Stable corridors: interaction paths that are consistently reliable \u2014 zero failures, low latency variance, sufficient sample count. The filter thresholds are disclosed in the response so you can see exactly what qualifies. Useful for identifying which targets you can rely on.

  • get_tier_features

    Show what each ACR tier (free, paid) includes \u2014 full feature comparison. Use this when you want to know what an upgrade would unlock without parsing prose upsells across other tools. Static content; no agent context required.

  • get_trend

    Trend: per-target latency and failure rate changes over time. Compares current period to previous period and shows raw deltas \u2014 no synthetic direction labels. You see the numbers and decide what matters.

  • list_watches

    List your registered watches \u2014 (lens, target, metric, threshold, condition) plus when each was last evaluated and last matched. Use this to see what's currently being watched before registering a new one with set_watch.

  • log_interaction
  • orient_me

    Where am I, and what should I do next? Reads your profile, coverage, and unread signals, then returns the single most useful next step for your current state (just registered / some data / steady). Call this when you're unsure where to start.

  • register_agent

    Register an agent with the ACR network. Optional \u2014 agents are auto-registered on first tool call. The MCP owns the Ed25519 keypair used for proof-of-possession; the agent never handles keys directly.

  • search_skills

    Search ACR network knowledge about a skill by name, description, or capability. Returns raw signals observed by the network: adoption counts, anomaly signal counts, version info. Not a catalog or a verdict \u2014 ACR records what has been observed about skills that exist in public registries. Read-only.

  • set_watch

    Register a persistent threshold on a lens metric. Evaluated hourly; a fresh crossing writes a notification that surfaces in get_notifications. Scope (v1): friction.failure_rate, friction.proportion_of_wait, trend.failure_rate_delta on a specific target_system_id. Calling set_watch again with the same (lens, target, metric, condition) updates the threshold in place.

  • summarize_my_agent

    [DEPRECATED \u2014 call `orient_me` instead.] One-call snapshot of profile, friction, and coverage. Superseded by `orient_me`, which routes by state and surfaces the same lens summaries when the agent is steady. Will be removed in a future release.

  • update_compositionwrite action

    Update your agent composition without re-registering. Use this after installing, loading, or removing skills/MCPs/tools to keep your composition current. Preserves your agent identity. Supports both flat legacy fields and rich nested components with sub-components \u2014 when sub-components are provided, ACR can see internal interactions (your model engaging its own parts) separately from external

  • whats_new

    Time-scoped digest: yesterday's performance, anything that degraded this week, today's activity so far, and unread notification count. Strictly retrospective \u2014 for routing ("what should I do next?") call `orient_me` instead.

Public scan report

scanner v0.1.9 · 2026-09-25 · same rubric, same numbers if you re-run it

1 medium
  • Code scan3 source files scanned20/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitylocal package, no credentials required12/15
  • Maintenancelast push 3 days ago15/15
  • Maintainer identityregistry namespace matches repository owner7/10

Findings (1)

  • mediumeval / new Function usedexec.eval
    dist/http.mjs: …ode, sch); const makeValidate = new Function(`${names_1.default.self}`, `${names_1.de…
Overall 83/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How ACR — Agent Composition Records compares

Against every graded AI and agents MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
83/100
higher than 68% of 4,460 AI and agents servers
Tools
30
the typical AI and agents server has 6
Tools that change things
3%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
1
more than 50% of 2,711 AI and agents servers
Downloads a week
59
more than 49% of 1,538 AI and agents servers with a package

What its tools let an agent do: 27 read · 1 create · 2 change

Install ACR — Agent Composition Records in Claude Code, Cursor or VS Code

Runs npx -y @tethral/acr-mcp on your machine. Read the scan report first; the gateway never runs local packages.

claude mcp add acr -- npx -y @tethral/acr-mcp
Add to Cursor

What the publisher says

From the ACR — Agent Composition Records repository's README, as published. We do not edit it. Read it on GitHub

ACR — Agent Composition Records

A behavioral registry for AI agents. ACR captures every external tool call your agent makes, compiles those signals into an interaction profile, and shows you where the time went — starting with a readout card at the end of every session.

Get started (60 seconds, Claude Code)

npm i -g @tethral/acr-hook && acr-hook init

That's the whole setup. The hook mints an identity for your agent (no account, no API key to manage), wires itself into Claude Code's tool hooks, and captures every tool call automatically. When your next session ends, a card prints in your terminal:

── ACR session card ──
  142 tool calls | 4.1% of active time waiting
  Top sinks: platform:bash 38s · mcp:github 12s
  Full report: https://dashboard.acr.nfkey.ai/agents/…

Uninstall any time with acr-hook remove (restores your settings backup).

What ACR is

ACR is an interaction profile registry. Agents log what they do (tool calls, API requests, MCP interactions); those signals compile into a behavioral profile you query through lenses — each lens a different way of reading the same underlying receipts.

The friction lens is the first one shipped: per-target latency and failure breakdowns, time sinks, trend against your own history. More lenses exist for coverage, revealed preference (declared vs actually-used composition), failures, trends, and stability.

ACR is not a security product. It doesn't evaluate skills, test for compromise, or block anything. It records events and propagates notifications: if the network observes anomaly signals on a component in your agent's composition, your agent gets a notification. You decide if it matters.

What works today vs. what grows with the network

ACR is honest about its own maturity. Every lens tells you which of three states it's in: real data, not-enough-data (with the action that changes it), or degraded (a query failed — rendered as unavailable, never as a healthy zero).

Works on day one, fleet of one:

  • Automatic capture of every tool call (timing, status, target) via the hook
  • The friction lens on your own data: time sinks, per-target latency/failure, session cards
  • Trend against your own history (this week vs last)
  • Coverage: which signals you're populating, and which lenses that unlocks

Lights up as the network grows (population features are gated on a minimum of 5 persistent agents per target — below that, lenses say "you are the baseline" instead of inventing a comparison):

  • Population baselines ("42% slower than the network on api:openai.com")
  • Network status: system health across the fleet, worst-first
  • Anomaly signal notifications: ≥3 distinct agents reporting anomalies on ≥20 interactions of a component you declare → you get notified

What the hook cannot see (and the lenses say so instead of showing zeros):

  • Deep failures — the hook observes surface errors only; network/timeout/auth failures that never reach the tool-result boundary don't appear. 0 failures means 0 visible failures.
  • Retry counts, queue wait, chain structure, token usage — only agents that call loginteraction with those fields populate them. Hook-only profiles render those sections as n/a**, not as clean zeros.

Add the MCP server (optional, for querying lenses from inside your agent)

The hook captures; the MCP server lets your agent read its own profile and log richer signals. One command in Claude Code:

claude mcp add acr -s user -- npx -y @tethral/acr-mcp@latest

Or for any MCP client (Cursor, Continue, Claude Desktop, etc.):

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

ACR — Agent Composition Records: common questions

Is ACR — Agent Composition Records MCP server safe?
Mostly: it is graded B (83/100). Read the ACR — Agent Composition Records safety report
How do I install ACR — Agent Composition Records?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does ACR — Agent Composition Records need an API key?
No secret keys are declared. It reads 1 setting from the environment.
Is ACR — Agent Composition Records maintained?
The last commit was 43 days ago (2026-09-22). The latest release is v2.14.0.
What can I use instead of ACR — Agent Composition Records?
Servers from other publishers that do the same job: three.ws Provenance MCP server, Mockserver MCP server and CHAP Coordinator MCP server.
How does ACR — Agent Composition Records compare with other AI and agents MCP servers?
safety score 83/100 (higher than 68% of 4,460 AI and agents servers); tools 30 (the typical AI and agents server has 6); tools that change things 3% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.

Alternatives to ACR — Agent Composition Records

Same job from other publishers: the closest match first, then the best rated.

  • three.ws Provenance
    Append-only, signed, on-chain-verifiable agent action log — record and audit what agents did.
    B
  • Mockserver
    Mock, record/replay, verify and chaos-test any HTTP, REST, gRPC or LLM dependency over MCP.
    A
  • CHAP Coordinator
    Auditable records of human decisions over AI agent work. Approvals, edits, overrides, escalations.
    A
  • Emulo
    Mine your AI coding session logs into a you.md profile with dated receipts, for an agent to read.
    A