{"name":"io.github.TethralAI/acr","slug":"tethralai-acr","title":"ACR — Agent Composition Records","description":"Interaction profile registry for AI agents. Log interactions, query behavioral lenses.","url":"https://mcp.market/server/tethralai-acr","rating":null,"grade":"B","score":78,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":21,"stars":1,"forks":0,"downloads_week":null,"last_push_at":"2026-09-22T17:41:42.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/Tethral-Inc/AgentRegistry","website":"https://acr.nfkey.ai","version":"2.1.1","remotes":[],"packages":[{"registryType":"npm","identifier":"@tethral/acr-mcp","version":"2.1.1","transport":{"type":"stdio"},"environmentVariables":[{"description":"ACR API endpoint. Defaults to https://acr.nfkey.ai","name":"ACR_API_URL"}]}],"tools":[{"name":"acknowledge_threat","description":"Acknowledge an anomaly signal notification after reviewing it with your operator. This records that the notification has been reviewed. Acknowledgements expire after 30 days. Note: acknowledging does not remove the observation from the network \\u2014 it only records that you have reviewed the signal.","write_action":false,"price_micros":0,"input_schema":null},{"name":"check_entity","description":"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","write_action":false,"price_micros":0,"input_schema":null},{"name":"check_environment","description":"Check the current ACR network environment: active anomaly signals and network-level observation data. 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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"configure_deep_composition","description":"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","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_coverage","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_failure_registry","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_friction_report","description":"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: bottleneck targets, chain overhead, retry waste, directional friction between targets, and how you compare to the population baseline. Friction is a continuum, not a verdict \\u2014 high friction could be infrastructure, a","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_interaction_log","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_my_agent","description":"Get your agent profile \\u2014 name, ID, provider, status, and registration date. Zero-config: uses the auto-assigned agent identity.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_network_status","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_notifications","description":"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 notification layer, not a security check \\u2014 notifications reflect what the network observed, not a verdict.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_profile","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_skill_tracker","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_skill_versions","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_stable_corridors","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_trend","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"log_interaction","description":"","write_action":false,"price_micros":0,"input_schema":null},{"name":"register_agent","description":"Register an agent with the ACR network. Optional \\u2014 agents are auto-registered on first tool call.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_skills","description":"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.","write_action":false,"price_micros":0,"input_schema":null},{"name":"summarize_my_agent","description":"Single-read overview of your interaction profile across all available lenses. Fetches profile, friction summary, and coverage in one call. Use this for a quick status check instead of calling each lens individually.","write_action":false,"price_micros":0,"input_schema":null},{"name":"update_composition","description":"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","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":78,"grade":"B","scanned_at":"2026-09-27T22:34:32.561Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T22:34:32.516Z","components":{"code":{"score":20,"max":25,"notes":["65 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 5 days ago"]},"identity":{"score":4,"max":10,"notes":["namespace and repository owner differ"]}},"findings":[{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"dist/http.mjs: …ode, sch); const makeValidate = new Function(`${names_1.default.self}`, `${names_1.de…"}],"inputs":{"packages":[{"registryType":"npm","identifier":"@tethral/acr-mcp","version":"2.1.1","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":0,"publishedAt":"2026-04-14T06:32:45.497Z","repositoryUrl":"git+https://github.com/Tethral-Inc/AgentRegistry.git"}],"repo":{"found":true,"owner":"Tethral-Inc","repo":"AgentRegistry","archived":false,"pushedAt":"2026-09-22T17:41:42Z","stars":1,"forks":0,"openIssues":0,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/252858190?v=4","ownerCreatedAt":"2026-01-04T09:18:26Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":1,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-09-22T17:41:42.000Z","score":21}}}},"grade_history":[],"reviews":[]}