agentgraph
https://agentgraph-new.vercel.app
Registry code: 5ee71e661989a0aa
Call tools/list to see available tools, then tools/call to search AgentGraph's index of real MCP servers.
- endpoint
- https://agentgraph-new.vercel.app/api/mcp
- door code
- 4af330324159535b
- protocol
- streamable-http ·2026-07-28
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is agentgraph live?
- Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
- Is agentgraph free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does agentgraph have?
- 11 tools: search_capabilities, get_agent, get_capability, get_tool, search_agents, get_agent_invocation, get_agent_invocations, get_payment_requirement, ….
- Is agentgraph safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 100%· all time 100%
last good check
of 11 tools
- unknown → live
- unknown → live
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
get_demand open 1h ago
V0.4 demand intelligence: deterministic aggregates over real search telemetry — top intent concepts, top matched capabilities (rank<=10), and how many recent searches had zero currently-callable Agent in their top 10. No LLM/clustering — every result reports its sample size and window. Mirrors GET /api/demand.
{ "type": "object", "properties": { "days": { "type": "integer", "maximum": 90, "minimum": 1, "description": "Lookback window in days (default 30)." }, "limit": { "type": "integer", "maximum": 100, "minimum": 1, "description": "Max capabilities to return (default 20)." } } }arguments 17 linesfind_tools open 1h ago
List and filter indexed tools without a ranked task query — useful for browsing by capability, provider, or protocol.
{ "type": "object", "properties": { "q": { "type": "string", "description": "Free-text substring match on name/description." }, "limit": { "type": "integer", "maximum": 100, "minimum": 1 }, "protocol": { "type": "string" }, "provider": { "type": "string" }, "capability": { "type": "string" } } }arguments 23 linesget_opportunities open 1h ago
V0.4 opportunity feed: capabilities with real recent demand (>=minSampleSize top-10 matches) sorted by weakest current callable-Agent supply first. Every entry is a real, sample-sized aggregate — see excludedForSampleSize for how many low-sample capabilities were dropped rather than shown with a misleading count. Mirrors GET /api/opportunities.
{ "type": "object", "properties": { "days": { "type": "integer", "maximum": 90, "minimum": 1, "description": "Lookback window in days (default 30)." }, "limit": { "type": "integer", "maximum": 100, "minimum": 1, "description": "Max opportunities to return (default 20)." }, "minSampleSize": { "type": "integer", "maximum": 1000, "minimum": 1, "description": "Minimum top-10 match count for a capability to be included (default 3)." } } }arguments 23 linessearch_capabilities unknown never probed
Search AgentGraph's index of real MCP servers and owner-submitted agents for ones that can perform a described task. Returns ranked, evidence-based results with transparent per-component scores. Every result includes machine-readable pricing (result.invocation.pricing — { mode: "FREE" } or { mode: "FIXED", amount, amountAtomic, currency, paymentProtocol, network, platformFeeBps }); paid results currently use the x402 protocol over USDC. Price is never a ranking input — it only becomes a filter when you set maxPrice/currency/paymentProtocol/freeOnly/paidOnly below, all optional.
{ "type": "object", "required": [ "task" ], "properties": { "task": { "type": "string", "description": "Free-text description of the task to accomplish." }, "limit": { "type": "integer", "maximum": 50, "minimum": 1 }, "currency": { "type": "string", "description": "Only FIXED results in this currency, e.g. \"USDC\" — excludes FREE results." }, "freeOnly": { "type": "boolean", "description": "Only FREE results (includes every Tool, which has no pricing concept)." }, "maxPrice": { "type": "string", "description": "Decimal string in display units, e.g. \"0.05\" — includes FREE results and FIXED results priced at or below this amount." }, "paidOnly": { "type": "boolean", "description": "Only FIXED-priced results." }, "protocol": { "type": "string", "description": "Filter by protocol, e.g. \"mcp\"." }, "capability": { "type": "string", "description": "Filter by normalized capability category, e.g. \"database\"." }, "paymentProtocol": { "type": "string", "description": "Only FIXED results using this payment protocol, e.g. \"X402\" — excludes FREE results." } } }arguments 45 linesget_agent unknown never probed
Get the full public profile of a single owner-submitted agent by id, including its reported interaction summary.
{ "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string" } } }arguments 11 linesget_capability unknown never probed
Get a single capability record by id, including which tool or agent exposes it.
{ "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string" } } }arguments 11 linesget_tool unknown never probed
Get the full public profile of a single indexed tool by id.
{ "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string" } } }arguments 11 linessearch_agents unknown never probed
List and filter owner-submitted agents without a ranked task query — useful for browsing by capability, protocol, owner, or verification status. Use search_capabilities for a ranked task-driven search across both tools and agents.
{ "type": "object", "properties": { "q": { "type": "string", "description": "Free-text substring match on name/description." }, "limit": { "type": "integer", "maximum": 100, "minimum": 1 }, "owner": { "type": "string", "description": "Substring match on owner name." }, "protocol": { "type": "string", "description": "One of: a2a, mcp, other." }, "verified": { "type": "boolean" }, "capability": { "type": "string" } } }arguments 28 linesget_agent_invocation unknown never probed
Get the machine-readable invocation contract for an owner-submitted agent: whether it's directly callable, which protocol (MCP, A2A, HTTP_JSON), the endpoint, auth requirements, input/output schemas where declared, and pricing (result.pricing — { mode: "FREE" } or { mode: "FIXED", amount, amountAtomic, currency, paymentProtocol, network, platformFeeBps, paymentRecipient }). An Agent may expose more than one contract for different capabilities (e.g. one for image comparison, a separate one for free-text idea evaluation) — pass `capability` to get the one that actually serves it; without it, this returns the Agent's primary/default contract plus a `multipleContracts`/`invocationsUrl` pointer if there's more than one. Use get_agent_invocations to list every contract at once. For a FIXED/X402 contract, use get_payment_requirement to obtain a standards-compliant x402 v2 payment requirement before invoking. Owner-submitted and unverified unless verificationStatus says otherwise — AgentGraph does not call this endpoint itself; the caller invokes the provider directly and reports the outcome via the interactions API.
{ "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "Agent id (or agentgraph:agent:<id> — the plain id also works)." }, "capability": { "type": "string", "description": "Optional normalized capability name — returns the contract mapped to it, if any, instead of the Agent's primary/default contract." } } }arguments 16 linesget_agent_invocations unknown never probed
List every invocation contract an owner-submitted agent has declared — the unambiguous, capability-scoped view for an Agent that exposes more than one separately-callable surface. Each entry lists exactly which capabilities it serves. AgentGraph does not call any of these itself.
{ "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "Agent id (or agentgraph:agent:<id> — the plain id also works)." } } }arguments 12 linesget_payment_requirement unknown never probed
V0.6 — for a FIXED/X402 invocation contract, returns a real, standards-compliant x402 v2 PaymentRequired object (x402Version, resource, accepts[]) built fresh from that contract's current price/network/recipient. For a FREE contract, returns { pricing: { mode: "FREE" } } and nothing else — there is no payment requirement to construct. AgentGraph is not the resource being paid for: `resource.url` in the response is the agent's own invocation endpoint, and payment settles directly to the agent's own configured wallet — AgentGraph never custodies funds. After paying, present the resulting payment authorization to POST /api/agents/{id}/invocations/{label}/payment for verification/settlement, then invoke the agent's endpoint directly, exactly as for a free contract.
{ "type": "object", "required": [ "id" ], "properties": { "id": { "type": "string", "description": "Agent id (or agentgraph:agent:<id> — the plain id also works)." }, "label": { "type": "string", "description": "Which invocation contract, if the Agent has more than one (default: \"default\")." } } }arguments 16 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id5ee71e661989a0aa.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/5ee71e661989a0aa/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/5ee71e661989a0aa?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 1
- ok
- 1
- failed
- 0
- success rate
- 100%
- median latency
- 5,753ms
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
1 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.