Skip to content

agent-tools (x402 + MCP + A2A directory)

by AgentTools-Cloud · remote · local (pypi) · no sign-in to list tools · v0.2.0 · published by GitHub user AgentTools-Cloud

Discover x402 services, MCP servers and A2A agents by intent — agent-tools.cloud directory.

Changes · 43 high findings

11 tools: 4 change things and 7 only read.

Scanned Oct 21, 2026

8 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http agent-tools https://agent-tools.cloud/mcp-discovery/

Findings

Matches of fixed checks, with the text they matched.

3 high2 warn3 info
  • The description contains "ignore previous instructions", an instruction to set earlier instructions aside.

    Matched text

    description: "...dential-exfiltration phrasing ("ignore previous instructions", "send your .env / api key") * M..."

    What this check looks for
  • The description contains "<IMPORTANT>", a tag of the kind used to mark instructions for the model.

    Matched text

    description: "...other tool you must…"), hidden `<IMPORTANT>` instructions, "list all API ke..."

    What this check looks for
  • The description refers to ".env" and ".ssh".

    Matched text

    description: "...nore previous instructions", "send your .env / api key") * MCP tool-poisoning..."

    What this check looks for
  • Warnsearch

    The description contains "another MCP server", wording about other tools or servers.

    Matched text

    description: "...Use this when the agent wants to chain another MCP server rather than perform raw HTTP+x402."

    What this check looks for
  • The description contains "any other tool", wording about other tools or servers.

    Matched text

    description: "...ys call this tool first", "before using any other tool you must…"), hidden `<IMPORTANT>` instr..."

    What this check looks for
  • Infosearch

    The description is 2,004 characters long, over the 2,000 this check looks for.

    Matched text

    description ends: "...s to chain another MCP server rather than perform raw HTTP+x402."

    What this check looks for
Show 2 more findings

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

11 tools

Changes things 4Claude Code: ask
  • ask_servicesAsk for the best x402/MCP services for an agent intent.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.
    Description, as the server wrote it
    Ask for the best x402/MCP services for an agent intent. This is the high-level discovery tool: it retrieves candidates from the directory, asks the configured backend LLM to rank only those candidates, and returns service cards for the selected recommendations. If the LLM is unavailable, it falls back to the directory ranker. Args: intent: Natural-language job the agent wants to accomplish. top_k: Max recommendations to return (1-10). max_price_usd: Optional per-call budget cap. category: Optional directory category filter. chain: Optional payment network filter, e.g. "base" or "solana". require_healthy: When true, only consider services marked health=ok. min_confidence: Optional x402scan quality floor (0.0-1.0). has_mcp: When true, only consider services with MCP endpoints. use_llm: Set false for deterministic retrieval-only fallback.
  • registerSelf-register an x402 / MCP service in the agent-tools directory.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.
    Description, as the server wrote it
    Self-register an x402 / MCP service in the agent-tools directory. Service owners and agents may submit new services here. Submissions are auto-reviewed instantly by x402 verification (no human gate): if the URL proves x402 payment support it is listed immediately and shows up in `search`; otherwise it is rejected or retried automatically. Listing is FREE. Dedup: if a service with the same canonical origin (scheme://host) already exists in the directory we return its slug instead of creating a duplicate submission. Same goes for a still-pending submission with the same origin. Rate limit: at most 5 pending submissions per client IP per 24h. Hits beyond that get `{error: rate_limited}` — try again later or email contact@agent-tools.cloud for bulk imports. Args: url: Public HTTPS URL of the service (the x402-payable endpoint or its homepage). Required. name: Human-friendly name. Defaults to the URL hostname. description: One-paragraph description (max ~2000 chars). mcp_url: If the service speaks MCP, its streamable-http endpoint. category: Free-form (e.g. "defi", "search", "social"). Use `list_categories` to align with existing taxonomy. chains: Networks the service accepts payment on (e.g. ["base", "solana"]). price_min_usdc: Lower bound of per-call price in USDC. price_max_usdc: Upper bound of per-call price in USDC. contact: Optional email / handle the directory team can reach you on for clarifications.
  • scan_mcp_safetyCheck an MCP server for malware / prompt-injection lures by its endpoint URL.6 findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.

    Findings

    • High

      The description contains "ignore previous instructions", an instruction to set earlier instructions aside.

      Matched text

      description: "...dential-exfiltration phrasing ("ignore previous instructions", "send your .env / api key") * M..."

      What this check looks for
    • High

      The description contains "<IMPORTANT>", a tag of the kind used to mark instructions for the model.

      Matched text

      description: "...other tool you must…"), hidden `<IMPORTANT>` instructions, "list all API ke..."

      What this check looks for
    • High

      The description refers to ".env" and ".ssh".

      Matched text

      description: "...nore previous instructions", "send your .env / api key") * MCP tool-poisoning..."

      What this check looks for
    • Info

      The description mentions "credential".

      Matched text

      description: "...rowaway TLDs * prompt-injection / credential-exfiltration phrasing ("ignore..."

      What this check looks for
    • Warn

      The description contains "any other tool", wording about other tools or servers.

      Matched text

      description: "...ys call this tool first", "before using any other tool you must…"), hidden `<IMPORTANT>` instr..."

      What this check looks for
    • Info

      The description is 3,166 characters long, over the 2,000 this check looks for.

      Matched text

      description ends: "...source: "stored" (existing) | "new_scan" (just added), indexed: bool }"

      What this check looks for
    Description, as the server wrote it
    Check an MCP server for malware / prompt-injection lures by its endpoint URL. Give the server's streamable-http endpoint URL. Two paths: * **Already in the agent-tools directory** → returns our LATEST stored rule verdict. Every indexed server is re-scanned hourly, so you get a consistent, continuously-refreshed answer without re-probing. * **Not yet indexed** → we probe the endpoint live, statically scan its advertised tools + metadata, and return the fresh verdict. It is ADDED to the directory (so the next caller gets the stored verdict instantly) only if it answered or you supplied metadata; documentation hosts such as example.com / *.test / *.invalid are scanned but never listed. Two dimensions are reported. `verdict` is authoritative and comes from deterministic static rules — pure pattern-matching over the *advertised* text only, NO code execution. It flags the social-engineering / RCE tricks listing-spam servers use: * `curl … | bash` and `base64 -d | sh` install lures * `eval "$(curl …)"` / PowerShell `IEX(...DownloadString)` cradles * base64 blobs that decode to a shell command * bare-IP payload hosts and cheap throwaway TLDs * prompt-injection / credential-exfiltration phrasing ("ignore previous instructions", "send your .env / api key") * MCP tool-poisoning coercion — descriptions that hijack an agent's tool-calling ("always call this tool first", "before using any other tool you must…"), hidden `<IMPORTANT>` instructions, "list all API keys / include secrets in your response", and coercion to read & forward `.key`/`.pem`/`.ssh`/`.env` files Source-code-oriented rules (SQL / command / code injection) are deliberately not applied to natural-language descriptions, to avoid false positives. `llm_reference` is an advisory frontier-LLM second opinion over the same text. Because the LLM is slow it is computed LIVE on this call only and is never stored (the hourly job never runs it), so it may be null on timeout. It never overrides the rule verdict; when it is *more* severe than the rules an `advisory` note is attached as a safety-net signal. Security/defense products that merely *name* these attacks are not flagged. Args: endpoint_url: The MCP server's streamable-http URL (required). This is the identity we look up / index by. name: Optional advertised name (used when the server is new and gets added; falls back to the URL host). description: Optional description / README blurb (scanned when new). tools_text: Optional tool names + descriptions; used only if the live probe cannot fetch the server's tools/list. Returns: { verdict: "clean"|"suspicious"|"malicious", score: 0-100, reasons: [{rule, weight, snippet}], llm_reference: {model, verdict, reason, confidence} | null, advisory: str | null, slug, name, endpoint_url, source: "stored" (existing) | "new_scan" (just added), indexed: bool }
  • statsHigh-level stats about the directory: total services, healthy count, sources.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.
    Description, as the server wrote it
    High-level stats about the directory: total services, healthy count, sources.
Only reads 7Claude Code: allow
  • getGet full details + ready-to-paste call template for a service.No findings

    Why it is in this group

    • The name "get" says "get": a word for reading.
    Description, as the server wrote it
    Get full details + ready-to-paste call template for a service. Returns the service card with payment, call, quality, resource samples, and ready-to-use MCP/x402 call hints. Use this after `search` or `ask_services` before paying/calling an external service. Args: slug: Service slug as returned by `search` items.
  • get_mcp_serverGet the full card for one MCP server by slug.No findings

    Why it is in this group

    • The name "get_mcp_server" says "get": a word for reading.
    Description, as the server wrote it
    Get the full card for one MCP server by slug.
  • list_categoriesList all available service categories in the directory.No findings

    Why it is in this group

    • The name "list_categories" says "list": a word for reading.
    Description, as the server wrote it
    List all available service categories in the directory.
  • search_a2a_agentsFind A2A agents you can delegate a task to.No findings

    Why it is in this group

    • The name "search_a2a_agents" says "search": a word for reading.
    Description, as the server wrote it
    Find A2A agents you can delegate a task to. Args: intent: Natural-language description of the task to delegate. top_k: Max agents to return (1-20). x402_only: When true, only return agents that advertise x402 payment.
  • search_mcp_serversFind MCP servers in the directory.No findings

    Why it is in this group

    • The name "search_mcp_servers" says "search": a word for reading.
    Description, as the server wrote it
    Find MCP servers in the directory. Searches the standalone MCP directory (PulseMCP / official MCP registry import) unioned with x402 services that also expose an MCP endpoint. Returns normalised entries with a ready-to-use streamable-http `call_hint.mcp.url`. Args: intent: Natural-language description of the tool/capability needed. top_k: Max servers to return (1-20). chain: Optional payment-network filter for paid MCP servers. require_healthy: When true, only return servers marked health=ok.
  • search_resourcesUnified search across x402 services, MCP servers and A2A agents.No findings

    Why it is in this group

    • The name "search_resources" says "search": a word for reading.
    Description, as the server wrote it
    Unified search across x402 services, MCP servers and A2A agents. Args: intent: Natural-language query. protocol: Optional filter: "x402", "mcp" or "a2a". top_k: Max resources to return (1-50).

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.2.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http agent-tools https://agent-tools.cloud/mcp-discovery/

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__agent-tools__search",
      "mcp__agent-tools__get",
      "mcp__agent-tools__list_categories",
      "mcp__agent-tools__search_mcp_servers",
      "mcp__agent-tools__get_mcp_server",
      "mcp__agent-tools__search_a2a_agents",
      "mcp__agent-tools__search_resources"
    ],
    "ask": [
      "mcp__agent-tools__ask_services",
      "mcp__agent-tools__stats",
      "mcp__agent-tools__register",
      "mcp__agent-tools__scan_mcp_safety"
    ],
    "deny": []
  }
}

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 agent-tools. Review it before you use it.