Cupie for agents: public files and MCP

Free, no key, read-only

cupie.app is the website of Cupie, a free iPhone and Android app for couples: you call your partner inside the app and play games together live on the video call. This page is for AI agents, search tools and developers. It lists what an agent can read on this site: every public page as HTML or markdown, plain text summaries for language models, the sitemap, discovery files, and a small read-only MCP server.

What this is, and what it is not

Everything here is public website content. The pages and files are static, and the MCP tools answer from the same public content. This is not an API to the Cupie app: Cupie accounts, calls, messages, recordings and other app data are not reachable from this site, and nothing here writes anything.

Authentication and limits

None. There is no API key, no token, no signup, no OAuth and no cost. There is no published rate limit, so keep your request rate polite and follow robots.txt. auth.md says the same in markdown.

Sandbox: try it now

There is no separate sandbox. Every endpoint is read-only, so you can try it on the real site. Copy this into a terminal to get the About page as markdown:

curl -H "Accept: text/markdown" https://cupie.app/about

Sample response (shortened):

# About Cupie
Cupie is a free iPhone and Android app for couples. You call your partner inside the app and play games together live on the video call: 14 games like Minigolf, Four in a Row, Tic Tac Toe, Truth or Dare and Pool, plus 239 quizzes and question decks.

Endpoints

EndpointReturns
GET /Homepage: static HTML, or markdown on request
GET /{page}A page from the sitemap: static HTML, or markdown on request
GET /llms.txtPlain text summary for language models
GET /llms-full.txtPlain text, full text of every guide
GET /sitemap.xmlXML list of every public page
GET /.well-known/api-catalogAPI catalog linkset (JSON)
GET /.well-known/mcp/server-card.jsonMCP server card (JSON)
GET /.well-known/agent-skills/index.jsonAgent skills index (JSON)
POST /mcpRead-only MCP server (JSON-RPC)

GET / (homepage)

The homepage. Send Accept: text/markdown for a markdown version built from the HTML. Any other Accept header, including */* or text/markdown;q=0, returns HTML. Markdown answers carry Vary: Accept, are never stored by shared caches and are marked noindex.

curl -H "Accept: text/markdown" https://cupie.app/
# Cupie
> Cupie is the free app to call your partner and play games together live: Minigolf, Four in a Row, Truth or Dare, quizzes and more. iPhone and Android.

GET /{page} (any page)

Any page in the sitemap, for example /about, /guides, /tools or /couples-quiz. Markdown works the same way as on the homepage. A page that does not exist returns 404: the HTML 404 page, or a short markdown note.

curl -H "Accept: text/markdown" https://cupie.app/tools

GET /llms.txt

A static plain text file with key facts about Cupie and a link to every guide, tool and agent file, in the llms.txt format.

curl https://cupie.app/llms.txt
# Cupie
> Cupie is a free video-call app for couples (iPhone and Android). You call your partner inside the app and play games together live, synced on both phones.

GET /llms-full.txt

The full text of every published guide in one static plain text file, for agents that want all content in one request.

curl https://cupie.app/llms-full.txt
# Cupie: full text of cupie.app guides

GET /sitemap.xml

Every public page with its last-modified date. Use it to find valid values for /{page}.

curl https://cupie.app/sitemap.xml
<url><loc>https://cupie.app/</loc><lastmod>2026-10-30</lastmod><priority>1.0</priority></url>

GET /.well-known/api-catalog

The API catalog (RFC 9727, application/linkset+json). It links to the OpenAPI file, this page, llms.txt and the MCP server card.

curl https://cupie.app/.well-known/api-catalog
{"linkset": [{"anchor": "https://cupie.app/", "service-desc": [{"href": "https://cupie.app/openapi.json"}]}]}

GET /.well-known/mcp/server-card.json

The MCP server card. It describes the endpoint at /mcp: Streamable HTTP, tools only, no auth, and the three tools with their input schemas.

curl https://cupie.app/.well-known/mcp/server-card.json
{"serverInfo": {"name": "cupie-app", "version": "1.0.0"}, "transport": {"type": "streamable-http", "endpoint": "/mcp"}, "authentication": {"required": false}}

GET /.well-known/agent-skills/index.json

Agent skills that explain how to help a couple find a free tool or get the Cupie app, each with a sha256 digest.

curl https://cupie.app/.well-known/agent-skills/index.json
{"skills": [{"name": "get-cupie-app", "type": "skill-md", "url": "/.well-known/agent-skills/get-cupie-app/SKILL.md"}]}

POST /mcp (MCP server)

A read-only Model Context Protocol server on the Streamable HTTP transport. It is stateless: send one JSON-RPC message per POST and get one JSON answer back. There are no sessions and no SSE stream, so GET /mcp returns 405. It offers tools only, no resources or prompts:

Add it to an MCP client as a remote Streamable HTTP server with the URL https://cupie.app/mcp and no auth. Or call it with curl. First initialize:

curl -X POST https://cupie.app/mcp -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'
{"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2025-11-25","capabilities":{"tools":{"listChanged":false}},"serverInfo":{"name":"cupie-app","title":"Cupie (cupie.app)","version":"1.0.0"}}}

Then send the initialized notification (the answer is 202 with no body), list the tools and call one:

curl -X POST https://cupie.app/mcp -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -H "MCP-Protocol-Version: 2025-11-25" -d '{"jsonrpc":"2.0","method":"notifications/initialized"}'
curl -X POST https://cupie.app/mcp -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -H "MCP-Protocol-Version: 2025-11-25" -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
curl -X POST https://cupie.app/mcp -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" -H "MCP-Protocol-Version: 2025-11-25" -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"search_public_pages","arguments":{"query":"date night ideas","limit":3}}}'
{"jsonrpc":"2.0","id":3,"result":{"content":[{"type":"text","text":"{\"query\": \"date night ideas\", \"pages\": [{\"title\": \"Date night ideas at home (2026): 40 easy ideas for couples\", \"url\": \"https://cupie.app/date-night-ideas-at-home\" ...

Errors: an unknown method returns JSON-RPC error -32601 and an unknown tool -32602. Invalid tool arguments return a tool result with isError: true. Malformed JSON and batches return 400, bodies over 16 KB return 413, a foreign Origin header returns 403 and an unsupported MCP-Protocol-Version returns 400. Supported protocol versions: 2025-11-25, 2025-06-18 and 2025-03-26.

Machine-readable files

Help

Questions, or something that does not work as described here: email [email protected] or visit the Help Center.