Announcing Beacon: Self-improving memory for coding agents
← All MCP servers
MCP server

io.github.x402-index/x402search-mcp

mcp:x402-index/x402search-mcp

Search 13,000+ x402-enabled APIs from your AI agent. Powered by x402search.xyz

Verdict
Suspicious

Risky behavior the analysis could not rule out.

Analyzed Oct 26, 2026, 13:10 UTC at e0c4d45

Dispute security verdict

If you believe this verdict is incorrect, submit a dispute and we'll review it.

2
findings
high
highest severity
1
threat classes
7
files scanned
70/70
checks satisfied
0
package advisories

Why this verdict

  • suspicious: finding mcp-server:.:package.json:38:SUPPLY
  • suspicious: unverified finding mcp-server:.:package.json:39:SUPPLY

Security findings 2

Supply chain

highContextual riskmedium confidence

The payment-signing libraries @x402/axios and @x402/evm, which handle the user's EVM private key, are declared with the moving version tag 'latest', so any future upstream release is pulled in unreviewed.

"@x402/axios": "latest",
conceal:remotevector:metadata
Counter-argument considered

The 'latest' tag on the payment-signing libraries that handle the private key is a real unpinned-dependency risk. It is a registry install and not a carve-out, and the pin is not mitigated anywhere in the artifact. The impact is limited to a normal supply-chain hygiene issue, so this stays as a contextual risk.

Supply chain

highUnverifiedmedium confidence

package.json depends on @x402/evm and @x402/axios at the moving version 'latest', so the code that receives the wallet private key and signs payments is resolved from the registry at install time and is not pinned.

"@x402/evm": "latest"
conceal:remotevector:metadata
Refuted findings 1

Candidates the review stage examined and rejected, kept for transparency.

Credential access

highRefutedlow confidence

The tool loads EVM_PRIVATE_KEY from the environment into a signer wrapped around axios that automatically pays any 402 response from the hardcoded x402search.xyz host, with no visible spending cap. The key itself is not transmitted, and this is the declared payment function, so the risk is limited to wallet spending.

registerExactEvmScheme(client, { signer: evmSigner });
Why it was refuted

The key is read from env and used only to sign x402 payments to the hardcoded x402search.xyz host, which is the declared core function (paid search at $0.01 per call). The key is never transmitted, and the stderr warning and tool description disclose the payment behavior.