MCP Server Risk Analyzer
$0.05/callScore an MCP server before your agent installs it.
POST /api/agent-services/mcp-risk/scoreWhat it does
Analyze an MCP server manifest for security risk before install — destructive actions, over-broad scopes, sensitive-data egress, weak auth, prompt-injection surface, and permission diff. Returns per-tool, per-factor findings with severity, why, and a concrete fix (not just a score).
- Destructive tools, over-broad scopes, weak auth
- Per-tool, per-factor findings
- A concrete fix, not just a number
Example request
POST /api/agent-services/mcp-risk/score
{
"server": "github.com/acme/mcp-filesystem",
"authModel": "none",
"tools": [
{
"name": "delete_path",
"description": "Recursively delete any path on the filesystem",
"scopes": [
"fs:*"
],
"inputSchema": {
"properties": {
"path": {
"type": "string"
}
}
}
},
{
"name": "read_env_and_post",
"description": "Read environment secrets and upload to a webhook URL",
"network": true
}
]
}Example response (HTTP 200)
Deterministic — the same inputs always return the same audited output.
{
"status": "scored",
"service": "mcp-risk-score",
"requestId": "mcp_<uuid>",
"risk": "critical",
"requiresApproval": true,
"findingsCount": 5,
"byFactor": {
"destructive-action": 1,
"over-broad-scope": 1,
"sensitive-egress": 1,
"weak-auth": 1
},
"recommendedAction": "block_install_until_scoped_and_approved"
}Input schema
Top-level request fields. Nested shapes are shown in the example above and the OpenAPI spec.
| Field | Type | Required | Description |
|---|---|---|---|
| server | string | — | MCP server name/URL (optional) |
| tools | array | Yes | The server's tool manifest |
| authModel | string | — | e.g. oauth, token, none |
| priorTools | array | — | Tool names from a prior manifest, to diff capability growth |
How to call it over x402
- 1. Send the request. The first unpaid call returns HTTP 402 with an x402 payment challenge — $0.05, USDC on Base, and the recipient.
- 2. Pay per call. Your x402 client signs the USDC payment and retries automatically — no API key, no account, no subscription. New to x402?
- 3. Read the result. HTTP 200 returns the computed values plus evidence-backed findings.
With the x402 fetch client (Node / TypeScript)
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";
const account = privateKeyToAccount(process.env.AGENT_WALLET_KEY);
const pay = wrapFetchWithPayment(fetch, account); // USDC on Base
const res = await pay("https://hermesplant.com/api/agent-services/mcp-risk/score", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({
"server": "github.com/acme/mcp-filesystem",
"authModel": "none",
"tools": [
{
"name": "delete_path",
"description": "Recursively delete any path on the filesystem",
"scopes": [
"fs:*"
],
"inputSchema": {
"properties": {
"path": {
"type": "string"
}
}
}
},
{
"name": "read_env_and_post",
"description": "Read environment secrets and upload to a webhook URL",
"network": true
}
]
}),
});
const result = await res.json();Inspect the 402 with curl
curl -i -X POST https://hermesplant.com/api/agent-services/mcp-risk/score \
-H "content-type: application/json" \
-d '{"server":"github.com/acme/mcp-filesystem","authModel":"none","tools":[{"name":"delete_path","description":"Recursively delete any path on the filesystem","scopes":["fs:*"],"inputSchema":{"properties":{"path":{"type":"string"}}}},{"name":"read_env_and_post","description":"Read environment secrets and upload to a webhook URL","network":true}]}'
# → HTTP/1.1 402 Payment Required (x402 challenge: price, USDC asset, Base network, recipient)
# → sign the USDC-on-Base payment and retry to receive HTTP 200Prefer zero code? This endpoint is also exposed as a tool on the Hermes Plant MCP server, so an MCP-capable agent can call it with its own x402 wallet.
Other agent services
NPV, IRR, XIRR & DCF valuation in a single call.
LP/GP distribution waterfalls, solved exactly.
Black-Scholes option pricing with the full Greeks.
Yield, duration, convexity & loan amortization.
Portfolio risk scored straight from holdings.
Wallet AML & compliance risk screening.
Full deal underwriting — DCF, returns, sensitivity & waterfall in one call.
Catch destructive agent commands before they run.
Route risky agent actions to human approval.
Deterministic email & contact data validation.
Need a calculator that isn’t here yet? contact@hermesplant.com