ALPNAI — Agent Performance Tools
by fredericmagnathy-ops · remote · no sign-in to list tools · v0.1.1 · published by GitHub user fredericmagnathy-ops
Agent cost, latency and quality analysis, report delivery and order status. Crypto payments paused.
10 tools: 3 can delete or cancel things, 4 change things and 3 only read.
Scanned Oct 21, 2026
- Deletes or cancels3Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things4Claude Code: ask: see these tools
- Only reads3Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http alpnai https://alpnai.com/api/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnget_order
The server marks "get_order" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "get_order" says "get": a word for reading.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
10 tools
Deletes or cancels 3Claude Code: deny
purchase_changesGet Change Set for 0.05 USDC.No findings
Why it is in this group
- The name "purchase_changes" says "purchase": a word that usually means money moves, which cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Get Change Set for 0.05 USDC. Default mode sandbox creates a test receipt and debits only the test budget. Explicit mode live uses x402 only when commerce, owner mandate and billing eligibility are enabled. An unpaid result contains PaymentRequired in structuredContent and content. Retry the same tool and idempotency key with the signed PaymentPayload in params._meta["x402/payment"]. Confirmed settlement is returned in result._meta["x402/payment-response"]. For a pending order, call get_order with the original order_id; do not submit another payment. REST continuation and PAYMENT-SIGNATURE headers remain supported. Never send a private key.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
purchase_evidenceGet Evidence Pack for 0.25 USDC.No findings
Why it is in this group
- The name "purchase_evidence" says "purchase": a word that usually means money moves, which cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Get Evidence Pack for 0.25 USDC. Default mode sandbox creates a test receipt and debits only the test budget. Explicit mode live uses x402 only when commerce, owner mandate and billing eligibility are enabled. An unpaid result contains PaymentRequired in structuredContent and content. Retry the same tool and idempotency key with the signed PaymentPayload in params._meta["x402/payment"]. Confirmed settlement is returned in result._meta["x402/payment-response"]. For a pending order, call get_order with the original order_id; do not submit another payment. REST continuation and PAYMENT-SIGNATURE headers remain supported. Never send a private key.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
purchase_snapshotGet Snapshot for 0.01 USDC.No findings
Why it is in this group
- The name "purchase_snapshot" says "purchase": a word that usually means money moves, which cannot be taken back.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it Get Snapshot for 0.01 USDC. Default mode sandbox creates a test receipt and debits only the test budget. Explicit mode live uses x402 only when commerce, owner mandate and billing eligibility are enabled. An unpaid result contains PaymentRequired in structuredContent and content. Retry the same tool and idempotency key with the signed PaymentPayload in params._meta["x402/payment"]. Confirmed settlement is returned in result._meta["x402/payment-response"]. For a pending order, call get_order with the original order_id; do not submit another payment. REST continuation and PAYMENT-SIGNATURE headers remain supported. Never send a private key.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: true
- idempotentHint: true
- openWorldHint: true
Changes things 4Claude Code: ask
audit_agent_costsFree comparison of cost per successful task on supplied paired traces.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Free comparison of cost per successful task on supplied paired traces. Requires a sandbox agent key. No purchase, storage, external model call or automatic deployment. Success labels are supplied by the client.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
check_agent_qualityCheck whether a candidate agent workflow regresses before replacing the baseline.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Check whether a candidate agent workflow regresses before replacing the baseline. Supply baseline and candidate attempts on matching task IDs with client-provided success labels and costs. Returns observed success rates, task-set matching, sample-size, success, latency and cost gates, plus a decision such as collect_more_data, quality_regression or candidate_for_controlled_trial. Optional thresholds use config. It evaluates the recorded labels, not the correctness of answers or future performance. Free calculation; requires an active ALPNAI agent key; no payment or automatic deployment.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_orderFollow one existing commercial order owned by the authenticated agent, including after commerce is paused.1 finding
Why it is in this group
- The name "get_order" says "get": a word for reading.
- The server marks it as not read-only (readOnlyHint: false).
Findings
- Warn
The server marks "get_order" as not read-only (readOnlyHint: false), and its words say it reads.
What this check looks forMatched text
annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "get_order" says "get": a word for reading.
Description, as the server wrote it Follow one existing commercial order owned by the authenticated agent, including after commerce is paused. May record a finalized blockchain receipt or release an expired, never-submitted reservation. Does not create an order, authorize spending or submit a payment. Pending results provide the same order ID and Retry-After; repeat get_order, never purchase again. Requires only the existing agent key.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: true
save_project_reportCompute and save an aggregate performance report in the fixed Projects destination authorized by the account owner.No findings
Why it is in this group
- The name "save_project_report" says "save": a word for a change.
Description, as the server wrote it Compute and save an aggregate performance report in the fixed Projects destination authorized by the account owner. Uses the existing free or paid report allowance. Requires an active agent key and explicit owner write permission. Reuse request_id with identical content to retry within the same permission grant. No report reading, deletion, subscription or payment authorization. Send measurements without secrets.
Annotations the server declares
- readOnlyHint: false
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 3Claude Code: allow
analyze_agent_latencyFind slow agent workflows and retry overhead before scaling.No findings
Why it is in this group
- The name "analyze_agent_latency" says "analyze": a word for reading.
Description, as the server wrote it Find slow agent workflows and retry overhead before scaling. Supply recorded attempts with task_id, workflow, variant, cost_usd, success and optional latency_ms. Returns P50/P95 of summed recorded attempt durations per task, retry counts, duration coverage and an optional P95 threshold check for each workflow and variant. Missing durations produce null percentiles, not zero latency. This measures supplied durations, not live end-to-end service latency. Free calculation; requires an active ALPNAI agent key; no payment or automatic deployment.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_catalogDiscover cost, latency and quality analysis APIs, their inputs, outputs, free reproducible example, authentication and current payment availability.No findings
Why it is in this group
- The name "get_catalog" says "get": a word for reading.
Description, as the server wrote it Discover cost, latency and quality analysis APIs, their inputs, outputs, free reproducible example, authentication and current payment availability. No payment or budget debit.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
get_free_sampleRead a dated primary-source sample about OpenAI.No findings
Why it is in this group
- The name "get_free_sample" says "get": a word for reading.
Description, as the server wrote it Read a dated primary-source sample about OpenAI. Not real-time or exhaustive.
Annotations the server declares
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.1.1. Values in angle brackets are yours to fill in.
claude mcp add --transport http alpnai https://alpnai.com/api/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__alpnai__get_catalog",
"mcp__alpnai__get_free_sample",
"mcp__alpnai__analyze_agent_latency"
],
"ask": [
"mcp__alpnai__audit_agent_costs",
"mcp__alpnai__check_agent_quality",
"mcp__alpnai__save_project_report",
"mcp__alpnai__get_order"
],
"deny": [
"mcp__alpnai__purchase_snapshot",
"mcp__alpnai__purchase_changes",
"mcp__alpnai__purchase_evidence"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as alpnai. Review it before you use it.
