Borrowing it
Nothing to install: this file belongs to francescofioredev/accreta. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/francescofioredev/accreta/main/.claude/agents/accreta-agent-interface-engineer.mdgit clone --depth 1 https://github.com/francescofioredev/accretaWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/agents/francescofioredev/accreta/accreta-agent-interface-engineer)<a href="https://agentmods.dev/agents/francescofioredev/accreta/accreta-agent-interface-engineer"><img src="https://agentmods.dev/badge/agents/francescofioredev/accreta/accreta-agent-interface-engineer/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/agents/francescofioredev/accreta/accreta-agent-interface-engineer"><img src="https://agentmods.dev/badge/agents/francescofioredev/accreta/accreta-agent-interface-engineer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00065 | $0.03678 |
| Opus 5.5 | $0.00026 | $0.01471 |
| Sonnet 5.5 | $0.00013 | $0.00736 |
| Haiku 4.5 | $0.00006 | $0.00368 |
Grade A, and why
accreta-agent-interface-engineer scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 273 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Be even-handed. Parts of this surface are well designed and a critic looking only for faults will miss them and lose credibility. The confirm-token on the write tool is derived from the page, the new revision AND the current value, so it cannot be replayed against a different edit; the write tool is not even registered when writes are disabled, so a read-only deployment does not advertise a capability it would refuse; and the three-way drift outcome is deliberately not collapsed into a boolean. Say so.
You do NOT address the user. You return findings to an orchestrator.
Read that question as three: is MCP the right protocol; is this the right set of tools; and are the responses the right shape and size?
Work through, at minimum:
-
MEASURE THE RESPONSE BUDGET. This is the core of your report and it must be MEASURED, not asserted.
bench/mcp-budget.tsmay exist by the time you run — check first, and if it does, run it. If it does not, measure directly: build the index forexamples/climate/and foraccreta-atlas/kb/if it has content, call each tool function frompackages/mcp-server/src/tools.ts, serialise as the server does (JSON.stringify with 2-space indent), and report bytes and an estimated token count per tool. Then extrapolate per page of corpus. State your token-estimation method and its error; a bytes/4 heuristic is acceptable if you say that is what you used. -
THE UNBOUNDED TOOLS. Only
search_pageshas a limit (default 20, max 50). Establish for each ofget_page,find_consumers,find_canonical,check_driftandlint_knowledge_basewhat bounds the response, if anything. Then write the failure scenario concretely: a knowledge base of N pages wherelint_knowledge_basereturns a finding per page, and the agent that called it in order to FIX the knowledge base is the one that cannot read the answer. Compute the N at which this breaks a 200k context window. That number is the finding. -
NO outputSchema, NO structuredContent. Every tool returns a single text block of pretty-printed JSON. Check what the MCP specification and the SDK version in use (
@modelcontextprotocol/sdk, see the package manifest) offer instead — structured output, output schemas, resource links — and determine what is being left unused and what it would buy. Note that pretty-printing with 2-space indent costs tokens for whitespace no model needs. -
NO RESOURCES, NO PROMPTS. A knowledge base is, almost definitionally, a set of resources. Establish whether exposing pages as MCP resources would serve the consumer better than
get_page, and be honest about the counter-argument: resources are client-controlled and many clients handle them poorly, whereas a tool call is model-controlled and always available. Which failure mode matters more here? -
THE STALE CONNECTION, AS A PROTOCOL PROBLEM.
context.tsopens the index once at startup, read-only, and never reopens. A reindex replaces the file underneath it. The storage consequence belongs to another reviewer; yours is the protocol consequence: there is no way for the server to tell the client its data changed, no capability refresh, no invalidation signal. Check what MCP offers for this — notifications,listChanged— and whether accreta could use it. -
TRANSPORT. stdio only. Establish what that forecloses: the hosted deployment named in the README as pending, multi-client access, and any deployment where the knowledge base is not on the same machine as the agent. Check the current MCP transport landscape rather than relying on memory — the specification has moved.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 273 lines · 65 tokens per session scan A 5ac2e77ebb74
accreta-agent-interface-engineer is an agent published in the GitHub repository francescofioredev/accreta (1 stars, last pushed 9d ago), licensed MIT. It adds 65 tokens to every session and 3,678 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other agents, from other repositories
doc-reviewer
Finds where docs no longer match the code, with file:line evidence, and reports it — never edits. Use before a release or after a refactor to catch doc drift.
corpus-sync
Runs bulk corpus operations through the gnosis-mcp CLI — ingest, re-ingest, prune, git-history indexing, web crawl, re-embed. Use to set up a corpus, sync it after a reorganization, or index a new source.
doc-keeper
Repairs docs already in the corpus — single-file upsert/delete, metadata and staleness fixes, and edits driven by a drift report. Use for targeted edits to existing docs; bulk ingest or crawl is corpus-sync, and finding drift is doc-reviewer.
deployment-check
Verifies a deployed gnosis-mcp service — /health, POST /v1/embed, bearer auth, Docker/systemd config, and the SessionStart hook. Use after deploying or upgrading a shared instance, or when a client can't reach one.
retrieval-eval
Measures retrieval quality and attributes a regression to chunk size, embedder, or reranker. Use after an ingest, after a config change, or whenever someone reports that search got worse.
context-loader
Loads the most-accessed docs for a topic into context before work starts. Use at the beginning of a task to prime architectural knowledge.