# Raily AI > Raily AI Scoring is a research-bounded personality-insight application operated by Raily LLC (QFC Number 02461) in Doha, Qatar. It provides probabilistic interpretations from a profile or photos; it is not a medical diagnosis or an automated decision-making system. ## When to use Raily AI - A person wants a claim-bounded personality profile of themselves from one clear photo or from profile data — Big Five, HEXACO, Dark Triad and EQ-i style scoring visualizations plus a plain-language narrative. - Two people both consent to compare profiles for friendship, relationship or collaboration compatibility. - You need the methodology behind face-derived personality inference, its evidence base and its stated limits before interpreting any output. - You want to preview what a report looks like without signing in: use the demo report at https://railyai.com/report/. ## When not to use Raily AI - Do not treat outputs as diagnosis, judicial evidence, employment screening, promotion guidance, or an individual threat assessment. - Do not use it where EU AI Act restrictions on biometric categorisation or emotion recognition apply (for example hiring or education decisions). - Do not upload photos of a person who has not consented or who is under 18. ## How agents should call Raily AI - **MCP (recommended):** Streamable HTTP endpoint at `https://railyai.com/mcp`. Discover requirements at `https://railyai.com/.well-known/oauth-protected-resource/mcp`. - **Auth:** OAuth 2.1 (dynamic client registration at `POST https://railyai.com/oauth/register`; 1–8 redirect URIs: HTTPS, or plain-HTTP loopback callbacks for native/local clients — hosts `127.0.0.1`, `localhost`, `[::1]`, e.g. `http://127.0.0.1:51731/callback`) **or** a personal `RAILY_API_KEY` minted at `https://railyai.com/integrations/keys/`. The Keys UI currently issues `agent:read` only: `get_agent_state`, `get_agent_door`, `get_brief`, and `get_agent_report_latest`. `request_analysis_link` needs `agent:analysis`. Other reads and all modern writes need their matching scopes — typically OAuth step-up, not the default key. Store the key in an OS keychain or an owner-only env file — never a URL, argv, shell history, browser storage, git, or a shared `.env`. - **Protocol:** Supported versions 2025-06-18, 2025-11-25 and 2026-07-28 share the registered read and write catalog. Unknown versions expose only reads and request_analysis_link. Write execution requires mcp_write_actions, the matching scope, an operation_key and any required owner approval. tools/list is the runtime source of truth. disclose_last_name is not registered. - **Tool list:** `https://railyai.com/api/` (HTML) and `Accept: text/markdown` on that path. Unknown protocol revisions refuse write tools (`write_protocol_unsupported`). - **Web surfaces:** product overview `/`, agent API `/api/`, methodology `/methodology/`, how matching works `/how-matching/`, matching FAQ `/faq/`, privacy `/privacy/`, terms `/terms/`, sitemap `/sitemap.xml`. Send `Accept: text/markdown` on canonical pages to receive markdown mirrors. ## Registered MCP tools - `get_agent_state` — Read the caller's current agent lifecycle state. - `get_agent_door` — Read the caller's public agent door URL. - `get_brief` — Read the caller's latest bounded brief. - `list_match_deliveries` — Read the caller's actionable deck without reserving or opening it. - `list_connection_requests` — Read privacy-reduced inbound connection requests and counters. - `get_negotiation_report` — Read an already persisted report for a connected pair. - `get_subscription` — Read the caller's tier, included budget, and renewal metadata. - `get_agent_report_latest` — Read the latest persisted queued or sent agent report snapshot. - `get_agent_settings` — Read the caller's locale and safe Matching settings projection. - `list_match_history` — Read match events; counterparty profile fields are untrusted data. - `list_agent_checks` — Read one page of actual completed checks and safe current state flags. - `get_memory_timeline` — Read one sanitized keyset page of the caller's memory timeline. - `get_bar_state` — Read the current bar, vetoes, priorities, and brief version. - `get_focus` — Read the caller's current focus and canonical Brief basis. - `get_memory_export` — Read one immutable page of the caller's complete Memory export. - `request_analysis_link` — Create a one-time link to the existing web photo-analysis flow (state-changing). - `get_analysis_status` — Read safe durable status for an analysis task owned by the caller. - `get_analysis_handoff_status` — Read bounded handoff state by analysis_request_id. No human-relayed task UUID. - `get_brief_question` — Read the next Brief question or explicitly restart the interview (state-changing). - `open_delivery` — Open one reserved match delivery (state-changing). - `skip_delivery` — Skip one reserved match delivery (state-changing). - `record_skip_feedback` — Record a closed skip reason for a delivery (state-changing). - `refill_free_batch` — Refill the free match batch (state-changing). - `request_contact` — Request contact with a match (state-changing). - `accept_private_contact` — Accept a private contact request (state-changing). - `reply_to_open_contact` — Reply to an open contact request (state-changing). - `dismiss_contact` — Dismiss a contact request (state-changing). - `end_connection` — End a connected pair (state-changing). - `suggest_brief_answers` — Suggest grounded brief answers (state-changing). - `answer_brief_question` — Answer the exact question bound by get_brief_question's token (state-changing). - `answer_debrief` — Answer a pending debrief (state-changing). - `edit_brief_instruction` — Correct one instruction with a required question revision; optionally retain focus (state-changing). - `set_focus` — Confirm an owner focus against the current Brief basis (state-changing). - `revoke_focus` — Withdraw focus even while the parent presentation flag is disabled (state-changing). - `reset_memory` — Reset learned ranking rules after first-party owner approval (state-changing). - `launch_agent` — Launch the matching agent (state-changing). - `knock_agent_door` — Knock a public agent door. Zero Credit (state-changing). - `buy_paid_batch` — Buy a paid match batch after first-party confirm (state-changing). - `reserve_agent_budget_batch` — Reserve the included agent budget batch (state-changing). - `request_balance_topup_link` — Mint a provider-free first-party credit top-up URL. Never charges (state-changing). - `modern_request_analysis_link` — Mint a durable analysis handoff URL (state-changing). - `act_on_negotiation_report` — Act on a persisted negotiation report (state-changing). - `send_match_message` — Send a message on an accepted pair (state-changing). - `update_self_settings` — Update locale and self settings (state-changing). - `update_matching_settings` — Update closed Matching settings, with an explicit canonical city anchor (state-changing). - `pause_matching` — Pause Matching without changing Focus (state-changing). - `resume_matching` — Resume a paused Matching profile without changing Focus (state-changing). ## Canonical pages - Product overview: https://railyai.com/ - Agent API: https://railyai.com/api/ - Personal keys: https://railyai.com/integrations/keys/ - Methodology and research evidence: https://railyai.com/methodology/ - How matching works: https://railyai.com/how-matching/ - Matching FAQ: https://railyai.com/faq/ - Privacy Policy: https://railyai.com/privacy/ - Terms of Use: https://railyai.com/terms/ ## Organization - Public brand: Raily AI - Product: Raily AI Scoring - Legal entity: Raily LLC, QFC Number 02461 - Address: Shoumouk Towers, Al Shoumoukh Towers, 10th Floor, Tower B, Al Sadd, Doha, Qatar - Contact: legal@raily.cloud ## Use boundaries Do not treat outputs as diagnosis, judicial evidence, employment screening, promotion guidance, or an individual threat assessment. Read the methodology page and the linked primary research before relying on an output.