Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add mcp/getaxonflow/axonflow-claude-plugin/axonflowgit clone --depth 1 https://github.com/getaxonflow/axonflow-claude-pluginWrote 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/mcp/getaxonflow/axonflow-claude-plugin/axonflow)<a href="https://agentmods.dev/mcp/getaxonflow/axonflow-claude-plugin/axonflow"><img src="https://agentmods.dev/badge/mcp/getaxonflow/axonflow-claude-plugin/axonflow.svg" alt="Measured on agentmods" height="20"></a>Grade A, and why
axonflow 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 5d 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 — 7 lines — stays where its author put it; the contents beside it link to each section on GitHub.
{
"axonflow": {
"type": "http",
"url": "${AXONFLOW_ENDPOINT:-http://localhost:8080}/api/v1/mcp-server",
"headersHelper": "auth=\"${AXONFLOW_AUTH:-}\"; ep=\"${AXONFLOW_ENDPOINT:-}\"; cfg=\"${AXONFLOW_CONFIG_DIR:-$HOME/.config/axonflow}\"; case \"$ep\" in \"\"|*try.getaxonflow.com*) saas=1 ;; *) saas=0 ;; esac; if [ -z \"$auth\" ] && [ \"$saas\" = 0 ]; then shf=\"$cfg/self-hosted-auth.json\"; if [ -f \"$shf\" ] && command -v jq >/dev/null 2>&1; then m=$(stat -c %a \"$shf\" 2>/dev/null || stat -f %Lp \"$shf\" 2>/dev/null); if [ \"$m\" = \"600\" ] || [ \"$m\" = \"0600\" ]; then auth=$(jq -r \".auth // empty\" \"$shf\" 2>/dev/null); fi; fi; fi; if [ -z \"$auth\" ] && [ \"$saas\" = 1 ]; then reg=\"$cfg/try-registration.json\"; if [ -f \"$reg\" ] && command -v jq >/dev/null 2>&1; then t=$(jq -r \".tenant_id // empty\" \"$reg\" 2>/dev/null); s=$(jq -r \".secret // empty\" \"$reg\" 2>/dev/null); if [ -n \"$t\" ] && [ -n \"$s\" ]; then auth=$(printf \"%s:%s\" \"$t\" \"$s\" | base64 | tr -d \"\\n\"); fi; fi; fi; case \"$auth\" in *:*) auth=$(printf \"%s\" \"$auth\" | base64 | tr -d \"\\n\") ;; esac; lt=\"${AXONFLOW_LICENSE_TOKEN:-}\"; ltf=\"$cfg/license-token.json\"; if [ -z \"$lt\" ] && [ -f \"$ltf\" ] && command -v jq >/dev/null 2>&1; then m=$(stat -c %a \"$ltf\" 2>/dev/null || stat -f %Lp \"$ltf\" 2>/dev/null); if [ \"$m\" = \"600\" ] || [ \"$m\" = \"0600\" ]; then lt=$(jq -r \".token // empty\" \"$ltf\" 2>/dev/null); fi; fi; ut=\"${AXONFLOW_USER_TOKEN:-}\"; if [ -n \"$ut\" ]; then uts=$(printf \"%s\" \"$ut\" | tr -d '[:space:][:cntrl:]\"\\\\'); if [ \"$uts\" != \"$ut\" ]; then ut=\"\"; fi; fi; utf=\"$cfg/user-token.json\"; if [ -z \"$ut\" ] && [ -f \"$utf\" ] && command -v jq >/dev/null 2>&1; then m=$(stat -c %a \"$utf\" 2>/dev/null || stat -f %Lp \"$utf\" 2>/dev/null); if [ \"$m\" = \"600\" ] || [ \"$m\" = \"0600\" ]; then ut=$(jq -r \".token // empty\" \"$utf\" 2>/dev/null); if [ -n \"$ut\" ]; then uts=$(printf \"%s\" \"$ut\" | tr -d '[:space:][:cntrl:]\"\\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.
- 5d ago First seen · 7 lines scan A 851d752832d9
axonflow is an MCP server published in the GitHub repository getaxonflow/axonflow-claude-plugin (4 stars, last pushed 2d ago), licensed MIT. Its token cost is not measured: an MCP server costs its tool schemas, not its config file. 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 mcp servers, from other repositories
eu-ai-act-scanner
MCP server "eu-ai-act-scanner" as configured in Peaky8linders/eu-ai-act-scanner. Launched with eu-ai-act-scan-mcp.
Jamdesk
MCP server "Jamdesk", hosted remotely at jamdesk.com, as configured in jamdesk/jamdesk-claude-plugin.
release-gate
AI agent release decision engine - readiness scoring, regression gate, eval runner, trace validation, and evidence packs for CI/CD. Runs locally from the release-gate Python package. Needs 1 environment variable to run.
vaara-server
Accountable Autonomy for AI agents under the EU AI Act: policy-gated tool calls, hash-chained tamper-evident audit trails with external time anchoring, and independently verifiable attestation plus execution receipts per MCP tool call. Runs locally from the vaara Python package. Needs 2 environment variables to run.
vaara
Accountable Autonomy for AI agents under the EU AI Act: policy-gated tool calls, hash-chained tamper-evident audit trails with external time anchoring, and independently verifiable attestation plus execution receipts per MCP tool call. Runs locally from the vaara Python package.
mcp-server
Runtime authority for AI agents: credential mediation, spend cap, approval gates, audit log. Runs locally from the @marchward/mcp-server npm package. Needs 2 environment variables to run.