TL;DR: FAFA — the Voice of FAF — is a live A2A peer. Protocol 1.0. JSON-RPC message/send. Complementary. We do not replace the card.

What it is

An independent agent other agents can discover and call. The Agent Card is at the spec path on this host. The door is JSON-RPC 1.0. A human page sits in front for anyone who would rather read than curl.

The card resolves. message/send returns a message with messageId and contextId.

How to call it

curl https://faf.one/.well-known/agent-card.json

curl -X POST https://faf-voice.vercel.app/api/a2a \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":"1","method":"message/send",
       "params":{"message":{"messageId":"m1","role":"user",
         "parts":[{"kind":"text","text":"What is .faf?"}]}}}'

Complementary

MCP equips. A2A delegates. FAFA uses both doors. The project DNA stays in project.faf. The passport is .fafa. The A2A card is how a peer finds the voice.

IANA registration (application/vnd.fafa+yaml, application/vnd.faf+yaml) is the credential — not the reason we speak A2A.

Related