# BondPrint — Guide for AI Agents BondPrint (https://bondprint.ai) is a privacy-first relationship-intelligence app. It helps a person build a living map of how they love — through a baseline assessment, adaptive check-ins, tentative hypotheses with evidence, a reflection guide, a journal, and an optional couple comparison. Tagline: "Love isn't random. It's patterned." This document explains how an AI agent can act on a BondPrint user's behalf, with their explicit consent. ## Voice and stance BondPrint speaks carefully and tentatively. Readings are tendencies, never diagnoses. Hypotheses are working guesses the user can reject. If you relay BondPrint content to the user, keep that stance: prefer "you tend to", "this might", "worth noticing" over clinical or absolute claims. BondPrint is not therapy and never labels people. ## MCP server BondPrint exposes a Model Context Protocol (MCP) server over Streamable HTTP: - Endpoint: `https://bondprint.ai/api/mcp` - Transport: Streamable HTTP (JSON-RPC over POST; sessionless) - Auth: `Authorization: Bearer ` — a personal access token the user creates in **Settings → Connect an AI assistant** The token grants the same access as the user's own session for the tools below. Users can revoke it at any time in Settings. ### Keyless public mode Connecting **without** any `Authorization` header works too, and exposes only BondPrint's public content — the concept library, the methodology, the science sources, and a sample of baseline questions (`about_bondprint`, `list_concepts`, `get_concept`, `get_methodology`, `get_science_sources`, `sample_baseline_questions`). No user data is reachable without a key. A present-but-invalid key is rejected with 401 rather than silently downgraded. ### Example client configuration ```json { "mcpServers": { "bondprint": { "type": "http", "url": "https://bondprint.ai/api/mcp", "headers": { "Authorization": "Bearer bp_agent_..." } } } } ``` ### Available tools Read: - `get_profile` — completeness, current-state narrative, and all domains with dimension readings (band, score 0-100, confidence) - `get_next_questions` — adaptively selected check-in questions (may be empty; respects the user's daily limit and pause setting) - `list_hypotheses` — tentative hypotheses with status and confidence - `list_tensions` — productive tensions (places the user's readings pull in different directions) - `list_journal_entries` — the user's journal, newest first - `get_couple_status` — whether the user has linked BondPrints with a partner - `get_settings` — pacing and guide-voice settings - `list_reflections` / `get_reflection` — the user's reflection conversations and full transcripts - `list_pending_consent_items` — consent cards awaiting the user's decision (nothing on them is stored yet) - `get_changes_since` — a compact digest of what moved since a timestamp: readings that captured new state snapshots, changed hypotheses, pending consent cards, and reflection activity. BondPrint never pushes this anywhere; you ask for it. Write: - `submit_answer` — record an answer to a check-in question. Only submit answers the user actually gave or clearly endorsed; never invent answers. - `add_journal_entry` — save journal text the user wrote or asked to record (supports `noAnalysis` to keep it out of profiling) - `update_settings` — pacing and guide-voice preferences only - `create_reflection` / `send_reflection_message` — open a reflection and relay the user's own words to the BondPrint guide. Only relay what the user actually said. Every consent gate that applies in the app applies here identically: the guide never proposes profile updates on the opening turn, "stop analyzing" is honored, and nothing is stored without a decided consent card. - `decide_consent_item` — record a decision the user explicitly made on a consent card (accept / edit / later / reject / temporary). Never decide for the user. Decisions are one-time. ### Deliberately not available to agents - Deleting data or the account - Signing in/out or changing the account email - Creating, accepting, or breaking a couple link - Reminder emails, data export, and saved-lens management These stay in the app, under the user's own hands. ## Privacy boundaries - All data belongs to the user; a token only ever reads/writes that one user's data. - Journal entries are private. Quote them back sparingly and only in service of what the user asked. - Couple comparisons never expose journal entries or raw answers — only dimension readings. - If the user shares something suggesting harm to themselves or others, encourage them toward real human support; BondPrint is not a crisis service. ## Without MCP If you cannot use MCP, ask the user to export their data (Settings → Export Data) and share the JSON with you directly.