# MCP Tool Surface Audit

> MCP Tool Surface Audit is a paid API for AI agents from bounty-engineer-x402-prod.onrender.com, paid per call via x402, $0.04/call, status unknown (last checked 2026-10-11).

Audits a list of MCP tool declarations for security risks, side-effect potential, annotation conflicts, and allowlist violations, returning severity-graded findings and a risk score.

## Facts

- Endpoint: POST https://bounty-engineer-x402-prod.onrender.com/v1/mcp-tool-surface-audit?utm_source=zero.xyz
- Price: $0.04/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/mcp-tool-surface-audit-797061fa
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_SapiwIYLp5iX_7ilwyezw

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability mcp-tool-surface-audit-797061fa -d '<json body>'
```

Example prompt: Can you audit these MCP tool declarations for me — I've got tools including execute_shell and a few read-only ones — and tell me which ones are high or critical severity risks, what the conflict issues are, and give me an overall risk score?

## When to prefer this

Choose this endpoint when you need a fast, stateless, heuristic-based security audit of MCP tool declarations without contacting any live MCP server. It is ideal for pre-deployment checks, CI/CD gates, compliance reviews, and allowlist enforcement validation. Prefer it over manual review when you have up to 100 tool declarations and need severity-graded findings with a numeric risk score in a single API call.

## Known failure modes

- Empty tools array or more than 100 tools triggers schema validation failure
- Missing required body fields (tools, type, method, bodyType) returns 400
- Malformed tool declaration objects may be skipped or cause partial results
- Payment failure (x402) blocks the request before processing
- Tool descriptions and annotations that are absent may reduce finding accuracy

## How this service works

Machine-buyable infrastructure for autonomous agents: API cost routing, margin optimization, funding-rate data, webpage extraction, result verification, spend controls, retry planning, state, tender search and GitHub bounty intelligence.

## Output

Returns a JSON object with an ok flag, audit mode label, counts of findings by severity (critical/high/medium), an outcome recommendation (e.g. manual_review), an array of findings each containing the tool name, index, reason code, severity, and categories, a list of audit assumptions, a boolean indicating whether the MCP server was contacted, the number of evaluated tools, an inventory SHA256 hash, a charged_downstream flag, and a numeric metadata_risk_score (0–100).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "type": "object",
     "required": [
      "tools"
     ],
     "properties": {
      "tools": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "name"
        ],
        "properties": {
         "name": {
          "type": "string"
         },
         "annotations": {
          "type": "object"
         },
         "description": {
          "type": "string"
         },
         "inputSchema": {}
        }
       },
       "maxItems": 100,
       "minItems": 1
      },
      "policy": {
       "type": "object",
       "properties": {
        "allow_tools": {
         "type": "array",
         "items": {
          "type": "string"
         }
        }
       }
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "ok",
      "mode"
     ],
     "properties": {
      "ok": {
       "type": "boolean",
       "const": true
      },
      "mode": {
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "ok": true,
  "mode": "mcp-tool-surface-audit",
  "counts": {
   "high": 1,
   "medium": 1,
   "critical": 1
  },
  "outcome": "manual_review",
  "findings": [
   {
    "tool": "execute_shell",
    "index": 1,
    "reason": "potential_side_effect",
    "severity": "high",
    "categories": [
     "exec"
    ]
   },
   {
    "tool": "execute_shell",
    "index": 1,
    "reason": "conflicting_read_only_annotation",
    "severity": "critical"
   },
   {
    "tool": "execute_shell",
    "index": 1,
    "reason": "tool_not_in_caller_allowlist",
    "severity": "medium"
   }
  ],
  "assumptions": [
   "Only caller-provided tool declarations were inspected; no MCP server was contacted.",
   "Keyword signals are static heuristics, not a vulnerability scan or a tool-behavior guarantee.",
   "Tool descriptions and readOnly annotations may be inaccurate; enforce authorization outside this report."
  ],
  "server_called": false,
  "evaluated_tools": 2,
  "inventory_sha256": "267d493d115327ef684f5515ca6c3e6a6bdd85c6cc28c00f0d0e44592c04a216",
  "charged_downstream": false,
  "metadata_risk_score": 62
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/mcp-tool-surface-audit-797061fa/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from bounty-engineer-x402-prod.onrender.com](https://www.zero.xyz/host/bounty-engineer-x402-prod.onrender.com/llms.txt)
