---
title: Onboarding for Agents
description: How an autonomous agent connects to Agent Community — the four-tool MCP server, the A2A endpoint, the public REST API, and the authorization rule for registration.
---

# Onboarding for Agents

This page is written for an autonomous agent, or for the developer wiring one up. Every surface described here is free, anonymous, and read-only — with one exception, called out below, that requires explicit human authorization before an agent may use it.

## Pick a surface

| Surface | Endpoint | Use it for |
|---|---|---|
| MCP | `/mcp` | Structured tool calls — member lookup, community stats, DMV pre-registration, certificate verification |
| Documentation MCP | `/mcp/docs` | Searching and reading these docs as tool calls, no member data |
| A2A | `/a2a` | Agent-to-agent task exchange via an agent card |
| REST | `/api/v1/content` | Plain HTTP reads of published content — blog, docs, pages |
| NLWeb answers | `/ask` | Natural-language questions answered from documentation only |

Start with MCP if your host already speaks it. Reach for REST or `/ask` if you just need an HTTP call without a client library.

## The MCP server

The product MCP server is a hosted, stateless endpoint at `https://agentcommunity.org/mcp`. It speaks streamable HTTP JSON-RPC 2.0 and needs no authentication. It exposes exactly four tools:

- **`lookup_member`** — exact display-name or slug lookup against the member directory. Not a free-text search.
- **`get_community_stats`** — a roughly-live count of community members.
- **`register_agent`** — free, non-binding pre-registration of a requested `.agent` name. Requires explicit authorization; see the next section.
- **`verify_certificate`** — checks whether a DMV certificate ID has actually been issued.

There is no fifth tool. If something you're looking for isn't in this list, it isn't part of this server's contract — check [Reading the documentation](#reading-the-documentation) or the [REST API](/docs/api-reference) instead.

A handshake, to confirm you can reach the server before calling a tool. `initialize` params are validated: `protocolVersion`, `capabilities` and `clientInfo` are all required, and an empty `params` object is answered with `-32602`.

```bash
curl -X POST https://agentcommunity.org/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'
```

A successful response confirms the protocol version and server capabilities. From there, `tools/list` enumerates the four tools with their input and output schemas, and `tools/call` invokes one.

## Registration requires explicit authorization

`register_agent` is the one tool on this server that is not read-only. It creates a real pre-registration record and sends a confirmation email. **It must only be called when a human explicitly asks for it in the current turn.** An agent must never call `register_agent` on its own initiative, speculatively, "just in case," or to claim a name pre-emptively on a user's behalf without being asked. If a user hasn't asked you to register a name in this conversation, don't call this tool — look things up, answer questions, and wait.

When a human does authorize it, be precise about what the tool actually does: it is *"free, non-binding requested-name pre-registration; if ICANN approves `.agent`, any future consideration is subject to ICANN-approved allocation policies."* Nothing about calling this tool reserves, allocates, or guarantees a domain. `.agent` is not live in DNS, and pre-registration is not ownership. Say so plainly to the human you're acting for, not just to yourself — they should hear the same conditional language you were given.

## Reading the documentation

If you need to answer a question about Agent Community rather than call a tool, two lighter-weight surfaces exist. The [Documentation MCP](/docs/docs-mcp) at `/mcp/docs` exposes exactly `search_docs` and `get_doc` — nothing else, and no member data, ever. It's the right choice when your host already speaks MCP and you want structured results.

`/ask` is a documentation answer endpoint compatible with the [NLWeb](/docs/nlweb) convention. Send it a natural-language question and it answers from published documentation only — it never reads member, authenticated, or private data, so there's no risk of it surfacing anything it shouldn't.

Outside of both, every page on this site can be fetched as plain Markdown instead of HTML. Append `.md` to the URL, or send an `Accept: text/markdown` header, and you'll get the same content without the layout.

## Discovery files

A handful of well-known files describe this site's machine-readable surface without you needing to guess at conventions:

- `/llms.txt` — a curated index of the site for LLM context windows
- `/agents.md` — guidance aimed specifically at autonomous agents
- `/.well-known/mcp.json` — the MCP server manifest
- `/.well-known/agent-card.json` — the A2A agent card
- `/.well-known/agent` — the canonical [AID v2](/docs/aid) JSON fallback record for this domain (`/.well-known/aid.json` is only a legacy redirect)
- `/openapi.json` — the OpenAPI 3.1 description of the REST API
- `/.well-known/api-catalog` — a catalog of the available API surfaces

Fetching these costs nothing and tends to save a round trip of trial and error.

## What is not an integration point

The manifest and the [API reference](/docs/api-reference) are the complete list. If a path is not on one of them, treat it as private rather than undocumented — probing around the edges will not find a way in, because there isn't one to find.

Two things in particular. There is no bulk read of member records, at any tier, with or without a key; `lookup_member` over MCP answers one exact query at a time and that is deliberate. And `/map` is a page for people — it has an API behind it that serves the UI, not agents. For organization data use `lookup_member`, and for anything we publish use `/api/v1/content`.

## Related

- [MCP Server](/docs/mcp-server) — full tool schemas, annotations, and rate limits
- [API Reference](/docs/api-reference) — the supported REST inventory
- [AID — Agent Identity & Discovery](/docs/aid) — how agents discover endpoints via DNS
- [Developers](/developers) — the developer portal
- [Onboarding for Members](/docs/onboarding) — the human signup path, for context on what an authorized registration actually creates
