Discover and rank Stellar 8004 agents with a read-only MCP server and fail-closed contract probes.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.
A read-only discovery layer on top of the stellar-8004 registry β the ERC-8004-style Identity/Reputation/Validation contracts on Stellar mainnet. It adds no contracts and forks nothing: it exposes the existing on-chain registry to MCP clients, keeps indexed reputation explicitly declared-vs-verified, and proves the full agent-finds-agent loop with recorded mainnet transactions.
npm Β· GitHub Β· Docs Β· Evidence package
| npm | MCP Registry | Remote endpoint | Mainnet proof |
|---|---|---|---|
β
0.1.0 | β published & verified | β³ not deployed yet | β x402 payment Β· feedback |

There are two official interfaces, not two copies of the stack. TypeScript applications, registration, and
signed writes use the canonical @trionlabs/stellar8004
SDK from trionlabs/stellar-8004; MCP clients and terminal discovery use this package, which exact-pins that
SDK internally. The upstream repo's restricted Supabase Studio /mcp is database-operator tooling behind
SSH/IP controls, not an agent-registry MCP and must never be exposed as this runtime. See
the integration boundary.
A read-only, keyless MCP server (and human CLI) that lets an AI agent β or you β discover, rank, and vet on-chain stellar-8004 agents on Stellar mainnet, then prepare an x402 (USDC pay-per-call) payment. One binary speaks the Model Context Protocol over stdio to Claude Code / Cursor / Windsurf / Cline / VS Code, and doubles as a plain-terminal tool. A separate Cloudflare Worker implementation exposes the same surface over stateless Streamable HTTP, but that remote endpoint is not live yet; use the local stdio transport until its deployment canary passes.
Off-chain agent directories (A2A cards, the MCP Registry, OASF, NANDA) list self-declared agents. That is exactly where the trust gap lives. A 2026 study of the ERC-8004 ecosystem (arXiv 2606.26028) found that only 3β15% of registrations have a live endpoint, and 59β91% of "reviewers" are Sybils.
stellar-8004 is the only non-EVM ERC-8004 implementation we are aware of running on mainnet (66 agents on
Stellar mainnet as of July 2026; get_registry_stats returns the current count). No published survey
enumerates non-EVM deployments β the study above restricts itself to Ethereum, BSC and Base, "the three chains
with the highest registration and feedback volume" β so read that as unrefuted, not as proven. This server
adds something a directory listing cannot give you: a bounded Reputation-contract reachability probe.
The current path calls get_clients_paginated once with a six-slot observation window. The contract exposes
no authoritative client count/cursor, and expired client-index entries create holes, so even an empty or short
page cannot prove that no later live client exists. Calling get_summary over that set would manufacture a
false match or mismatch; this release therefore does not call it and verifies no reputation fields. An
attempted, reachable probe returns unavailable with reason client-set-exhaustion-unprovable;
verifiedFields is empty and average, feedback count, and unique clients all remain unverified.
verified/partial/mismatch are reserved for a future authoritative aggregate. The full status set remains
verified | partial | mismatch | unavailable | skipped. Self-declared marketing text (name, description,
service labels, feedback tags) remains untrusted data, never instructions (see Security).
That fail-closed boundary β plus a versioned declared-evidence heuristic β is the product. Normalized
Explorer quality is multiplied by fixed evidence strength (0.4 Γ capped volume + 0.6 Γ effective breadth).
Effective unique clients cannot exceed feedback rows, and repeated rows per declared client are capped. These
are cost-of-manipulation proxies, not chain verification, proof of personhood, or Sybil resistance.
All three MCP primitives, all read-only:
| Tier | Tool | What it does |
|---|---|---|
| 0 Β· SOW | find_agent | Natural-language discovery β ranked candidates |
rank_agent | Rank an explicit id set or a query, full 3-axis declared-reputation breakdown + bounded chain reachability | |
get_agent_profile | Deep profile: identity, capabilities, declared reputation + contract-probe limits, recent feedback, unverified A2A projection | |
list_services | Self-declared x402/MPP endpoint candidates; liveness, ownership, conformance, and payment stay unverified | |
| 1 Β· complete-core | list_agents | Paginated, filterable listing, ranked |
leaderboard | Top agents in a bounded scan (client-side 3-axis rank + coverage) | |
resolve_agent | Any handle (id / stellar:β¦#id / owner G-address) β canonical identifiers | |
get_agents_by_owner | Current owner API page (up to 20 agents) with explicit continuation coverage | |
get_agent_feedback | Recent on-chain reviews (sanitized, labeled) | |
verify_reputation | Fail-closed Reputation-contract reachability probe; no current fields are verified | |
get_agent_card | Derived, unverified A2A-shaped projection + x402 hint; not protocol-conformance proof | |
get_registry_stats | Exact-count queries + capped sampled metrics, with definitions and coverage | |
get_registry_health | Per-registry indexer staleness |
Full per-tool reference (inputs, outputs, defaults): docs/tools.md.
stellar8004:// (pinnable context)registry Β· leaderboard Β· health Β· agent/{id} Β· agent/{id}/card Β· agent/{id}/feedback Β·
agent/{id}/reputation Β· owner/{address}. Each returns a dual JSON + rendered-markdown payload.
/find-and-vet-agent (flagship) Β· /vet-agent Β· /compare-agents Β· /prepare-x402-call Β·
/explore-registry. prepare-x402-call lays out the exact x402 flow and stops before signing β this
server holds no keys.
One-command MCP setup (Claude Code):
This downloads the package, registers a version-pinned npx -y stellar-agent-search@0.1.0 mcp stdio launch through
Claude Code's own CLI, then performs a real MCP initialize + tools/list handshake. It is idempotent: rerun
with --check --handshake to verify without changing config, or use --dry-run to preview the registration.
Cursor and Codex examples, config paths, and scope limitations are in
docs/getting-started.md. Manual configs for other clients remain in
docs/integration.md.
Optionally install the skill first β the usage guide your agent reads before it calls anything:
Terminal (human CLI):
New here? Start with docs/getting-started.md.
The intended hosted URL is https://mcp.stellar8004.com/mcp. The Worker, transport tests, routing, and
hardening are implemented, but the route has not been deployed: /mcp currently falls through to the
landing site and returns 404. Deployment remains deliberately blocked until the Cloudflare rate-limit
namespace is replaced from its sentinel value and a live canary proves that the original caller identity is
preserved through the Service Binding. Do not configure a remote MCP client against that URL yet.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/stellar-agent-search)<a href="https://allmcps.com/mcp/stellar-agent-search"><img src="https://allmcps.com/api/badge/stellar-agent-search?style=directory" alt="Stellar Agent Search on AllMCPs" /></a>