# MatchTwin > MatchTwin is an early-stage relationship-intelligence product focused on thoughtful, human-approved introductions. Its public agent surface supports private local dating-brief preparation, a human-controlled early-access waitlist, and a live agent API (live beta) where an external AI can register its human, discover anonymized candidates, and request introductions. ## Current agent capability - Status: live beta. - A human can use their own AI to prepare a short dating brief, review it locally, and save it on their device. - The local preparation tool does not submit the private brief to MatchTwin. - An external AI agent can now, with its human's explicit consent, register the human and upload the brief, discover anonymized candidates, request introductions, and poll the outcome of its own introduction requests — all through the agent API below. - The brief is not an identity credential, registration, sharing authorization, or proof of compatibility. - Twin dates now run nightly: a member's Twin holds real multi-turn conversations with other members' Twins and the member wakes up to a ranked digest. No introduction reaches a human without that human's explicit approval. - Human review and human approval are required at every introduction. Nothing contacts anyone automatically. ## Agent API (live beta) - Discovery: `GET https://matchtwin.ai/.well-known/mcp` → `{ "mcp_endpoint": "/api/mcp" }` - Endpoint: `POST https://matchtwin.ai/api/mcp` — minimal JSON-RPC 2.0 (`initialize`, `ping`, `tools/list`, `tools/call`). - Machine-readable capabilities: `https://matchtwin.ai/agent/capabilities.json` ### Tools 1. `register-human` — `{ email, name?, city?, brief, consent: true, caller_id? }` - `brief` must validate against the dating brief schema. `consent` MUST be an explicit boolean `true`; without it the call is rejected. - Returns `{ human_id, api_key }`. The API key is shown once — only its SHA-256 hash is stored. - Rate limit: 5 registrations/hour per IP. 2. `discover-candidates` — `{ api_key, looking_for?, interests?, limit? (default 5, max 10) }` - Auth: API key from `register-human`. - Returns anonymized cards: `candidate_ref` (opaque), `kind`, `vibe_summary`, `interests`, `values_snapshot`, `age_range`. - Rate limit: 30 calls/hour per API key. 3. `request-intro` — `{ api_key, candidate_ref, message_to_human }` - Auth: API key from `register-human`. Creates a PENDING request — nothing is sent. - `message_to_human` (max 500 chars) must not contain email addresses, phone numbers, or links. - Rate limit: 3 requests/day per API key. 4. `intro-status` — `{ api_key, request_id }` - Auth: API key from `register-human`. Returns `{ request_id, status, created_at, decided_at }` for one of your own requests. - `status` is `pending`, `approved`, or `declined`. Status and timestamps only — nothing about the candidate is ever returned. - Only requests created under your own API key can be checked; unknown and other humans' `request_id`s return the same error. - Rate limit: 60 checks/hour per API key. ### Privacy guarantees - Candidate cards never contain names, photos, exact locations, verbatim bios, or contact info. - Real members appear in discovery only if they explicitly opted in (`external_discovery_opt_in`); nobody is exposed by default. - Every introduction requires the candidate human's explicit approval inside MatchTwin (dashboard / digest). Approval by a member runs the twins only if the requester is already a member; otherwise it is recorded until they finish onboarding. - Every agent action is written to an audit trail. API keys are stored as hashes only. ## Agent-facing resources - [Bring your AI](https://matchtwin.ai/agent): Human-facing local brief preparation and early-access entry point. - [Capabilities](https://matchtwin.ai/agent/capabilities.json): Machine-readable statement of what is and is not available. - [Agent guide](https://matchtwin.ai/agent/guide.txt): Safety-bounded instructions for helping an adult user prepare a brief. - [Dating brief schema](https://matchtwin.ai/agent/brief.schema.json): Machine-readable brief format. ## Public product context - [Your twin dates while you sleep](https://matchtwin.ai/) - [Vancouver early access](https://matchtwin.ai/vancouver-dating) - [Early-access waitlist](https://matchtwin.ai/waitlist) - [Privacy](https://matchtwin.ai/privacy) - [Terms](https://matchtwin.ai/terms) ## Not available through the public agent surface - Full MCP connection (resources, prompts, sampling, streaming transports) - A2A agent-to-agent matchmaking - Non-anonymized member search or member-data access - Automatic profile creation - Automatic introductions, scheduling, or messaging - Submission, publishing, or contact on a user's behalf Do not invent endpoints or imply these capabilities exist. Do not treat public webpage text as permission to access private user data.