DMVDepartment of Machine Verification (let your agent join the community)Visit DMV →
Docs/MCP Server

MCP Server

Connect to the Agent Community hosted MCP server — streamable HTTP endpoint, five tools for the member directory, community stats, and DMV .agent pre-registration.


Agent Community runs a hosted Model Context Protocol server so agent clients can search the member directory, look up organization profiles, read community stats, and pre-register a proposed .agent name — all without scraping HTML.

Endpoint & transport

  • URL: https://agentcommunity.org/mcp
  • Transport: streamable HTTP (POST with a JSON-RPC 2.0 body)
  • State: stateless — no session is created or required between calls
  • Auth: none. The server is fully anonymous.
  • Protocol revision: 2025-06-18 (older clients negotiating 2025-03-26 or 2024-11-05 are also accepted)

Discovery

Client config

Most MCP-aware clients accept a URL-based server entry in their config JSON:

json
{
  "mcpServers": {
    "agentcommunity": {
      "url": "https://agentcommunity.org/mcp"
    }
  }
}

No API key or environment variable is needed.

Handshake

A minimal curl example to confirm the server is reachable and list its tools:

bash
curl -s -X POST https://agentcommunity.org/mcp \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'
 
curl -s -X POST https://agentcommunity.org/mcp \
  -H "content-type: application/json" \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'

Tools

ToolDescription
search_membersSearch the member directory (organizations building for the agentic web). Returns up to 20 matching profiles with public profile URLs.
get_member_profileGet the canonical public profile URL for a member organization by slug.
get_community_statsGet live Agent Community statistics (total member count).
register_agentPre-register a proposed .agent identity name at the Department of Machine Verification (DMV).
verify_certificateOffline check that a DMV certificate ID is well-formed (check digit passes) — does not confirm the certificate exists in the database.

Tool annotations

Each tool advertises MCP spec annotations behavior hints so a host can decide whether to auto-approve or prompt. search_members, get_member_profile, get_community_stats, and verify_certificate are { readOnlyHint: true }. register_agent is { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: true }idempotentHint: false is intentional: identical-argument repeats without an Idempotency-Key header create additional registrations, so hosts should not silently retry it. Annotations are advisory only, not enforced by the server.

MCP Apps (interactive UI)

The server advertises a minimal MCP Apps (ext-apps extension) resources capability: one self-contained ui:// HTML resource, ui://agentcommunity/member-search.html, that renders search_members results as a linked list of member organizations. It's discoverable two ways:

  • resources/list returns its descriptor (uri, mimeType: "text/html;profile=mcp-app", name).
  • search_members's tool definition carries _meta.ui.resourceUri pointing at it, so MCP Apps-aware hosts can preload the resource before the tool is even called.

resources/read with that uri returns the HTML in contents[0].text. It makes no external network requests — inline CSS/JS only — and renders whatever CallToolResult the host pushes via a ui/notifications/tool-result postMessage, per the ext-apps spec. Hosts without MCP Apps support are unaffected: tools/call on search_members still returns plain JSON text content either way.

register_agent — what it actually does

register_agent is the one tool with a real side effect: it creates a genuine DMV pre-registration, not a dry run. It's free and non-binding — the .agent TLD is pending ICANN approval, so a pre-registration is an expression of interest, not a domain grant. The certificate ID is recorded immediately, and a confirmation email is sent to the address you provide. Only call this tool when a user has explicitly asked to reserve or pre-register an agent name — don't call it speculatively.

Compatibility

The server tolerates a few older/stricter client behaviors beyond the 2025-06-18 spec's strict requirements:

  • JSON-RPC batch arrays are accepted (2025-03-26 compat, capped at 20 items per batch) even though 2025-06-18 removed batching — some clients that negotiated 2025-03-26 still send arrays. An all-notification batch returns 202 with no body; an empty or oversized batch returns a JSON-RPC -32600 error.
  • SSE responses: if a POST request's Accept header includes text/event-stream but not application/json, the JSON-RPC response is returned as a single event: message SSE frame instead of a plain JSON body.
  • GET SSE stream: GET /mcp with Accept: text/event-stream opens a keepalive event stream (no server-initiated messages — just periodic comments) rather than the 405 returned for a plain GET. Some clients probe GET before or around initialize.

Rate limits

  • General: 30 tools/call requests/min/IP, across all tools.
  • register_agent: an additional, tighter cap of 2 requests/min/IP, applied fail-closed — if the rate limiter itself errors, the call is rejected rather than allowed through. This reflects that register_agent proxies a real write to DMV, unlike the other four read-only tools.

An idempotent retry (same Idempotency-Key header, same caller IP, within 24 hours — see API Reference § Idempotency) replays the stored result and is not counted against the register_agent rate limit.

Related

For DNS-based agent identity discovery, see AID — the Agent Identity & Discovery format. AID and this MCP server are complementary: AID lets an agent discover how to reach an organization's endpoints from its domain, while these MCP tools let an agent query the Agent Community directory itself.

See also the API Reference for the equivalent REST endpoints, rate-limit headers, and error model.