Model Context Protocol · Developer reference

An MCP server for dating — because agents shouldn't scrape.

The official PsyMatch MCP server exposes your platform data to AI agents through documented tools, resources, and prompts. It is a pure client of our GraphQL API: every call carries the acting user's own Firebase token, so an agent can never see more than its user sees. There is no service-role data path.

§ 01 — Read tools

Read tools. The eyes.

whoamiIdentity probe for the acting user
get_my_profileFull profile: photos, prompts, interests, verification
get_daily_mixToday's curated introductions
discover_candidatesFiltered discovery search
get_profileOne person's shared profile
list_matchesAll matches with status + compatibility
get_match_rationaleWhy-this-match: reasons, friction, confidence
suggest_conversation_startersProfile-aware openers
list_conversationsInbox summaries with unread counts
get_conversationFull message thread
analyze_conversationDeterministic dynamics: initiation balance, question rate, waiting-on state
get_my_psychometricsComplete self-analysis: Big Five facets, EQ, styles, values, confidence
get_psychometricsAnother user's analysis (platform visibility rules apply)
get_trait_history / get_psychometric_deltaTrait trajectories over time
get_completion_gapsMissing profile and assessment coverage
get_next_questionsCanonical next questions and answer options
§ 02 — Action tools

Action tools. Opt-in only.

like_userRegister interest; mutual likes become matches
send_messageSend a chat message (opt-in, rate limited)
mark_message_readMark one message read
respond_to_matchAccept or reject a pending match
submit_assessment_responsesSave answers the user gave the agent
update_my_profileSave user-approved profile text

Disabled unless the session explicitly sets PSYMATCH_AGENT_ALLOW_SEND=true; sends are limited to 10 per minute.

§ 03 — Resources

Resources & prompts.

psymatch://meActing user's profile snapshot
psymatch://matchesCurrent match list
psymatch://conversationsConversation index
psymatch://psychometrics/selfFull self-analysis JSON

Guided prompts included: dating-coach, psychometric-deep-dive, icebreaker.

§ 04 — Auth

Auth model. Boring on purpose.

Bearer tokens

Every tool call forwards your Firebase ID token. Tokens are short-lived; revoke by signing out.

No service role

The server holds no elevated credentials. Platform rules - cohort boundaries, blocks, KYC guardrails - apply identically to agents.

Admin simulation, gated

Impersonation for flow-testing exists for dedicated admin accounts provisioned via the Firebase Admin SDK, is rejected for other admins and banned targets, and is logged on every request.

Questions, answered plainly.

Can an agent complete MindSync for me?
An agent can identify unanswered areas, ask the canonical next questions, and submit answers you provide. It should not invent your answers or complete the assessment without your input.
Can an agent change my profile?
Only with content you have seen and approved word-for-word. The update_my_profile tool leaves omitted fields unchanged and uses the same user-scoped API path as the product.

Quickstart.

{
  "mcpServers": {
    "psymatch": {
      "command": "npm",
      "args": ["run", "--silent", "mcp:dev"],
      "cwd": "/path/to/repo",
      "env": {
        "PSYMATCH_GRAPHQL_ENDPOINT": "https://psymatch-api-preview-622909446227.us-central1.run.app/query",
        "PSYMATCH_AUTH_TOKEN": "<your firebase id token>",
        "PSYMATCH_AGENT_ALLOW_SEND": "false"
      }
    }
  }
}

Transports: stdio for local clients, streamable HTTP for remote agents. Full setup lives in services/mcp/README.md inside the repository.

Build on it.

Coaching agents, safety reviewers, date-planning assistants - if it speaks MCP, it already speaks PsiMatch.