MCP Server
missing.pet exposes a Model Context Protocol server using the Streamable HTTP transport (spec 2025-03-26). It works with Claude Desktop, Claude.ai Integrations, and any MCP-compatible client.
https://missing.pet/api/mcpAdd to Claude Desktop
Settings → Integrations → Add MCP Server, then paste the URL above. Or add it manually to your claude_desktop_config.json:
{
"mcpServers": {
"missing-pet": {
"url": "https://missing.pet/api/mcp"
}
}
}Add to Claude.ai
Settings → Integrations → Add integration → enter https://missing.pet/api/mcp
Test with MCP Inspector
npx @modelcontextprotocol/inspector https://missing.pet/api/mcpTool reference
| Tool | Auth | Description |
|---|---|---|
search_alerts | No auth | Find alerts near a location. Params: lat, lng, radius_km, species, type, since, query, limit, cursor. |
get_alert | No auth | Get full details of an alert by UUID or slug. Returns photos, location, and contact URL. |
find_matches | No auth | Find potential matches between a lost alert and found alerts. Returns a ranked list with a score (0–100) and reasons. Scores ≥40 = high confidence. |
publish_alert | Email verify | Publish a lost or found pet alert. Sends a verification email; alert goes live after the user clicks the link. |
send_message | Email verify | Send a message to an alert owner through the platform. The sender confirms via email before delivery. |
subscribe_zone | Email verify | Subscribe to email notifications when new alerts appear near a location. |
Example prompts
REST API
Standard JSON API with CORS open. No authentication required for reads.
Search alerts
GET https://missing.pet/api/v1/alerts
?lat=-34.6&lng=-58.4 # center of search area
&radius_km=20 # default 50, max 500
&species=dog # dog | cat | bird | other
&type=lost # lost | found
&since=2024-01-01 # ISO date
&q=labrador # free text (name, breed, color, city)
&limit=20 # default 20, max 100
&cursor=<timestamp> # keyset paginationGet one alert
GET https://missing.pet/api/v1/alerts/{uuid-or-slug}Response fields
| Field | Description |
|---|---|
id | Alert UUID |
slug | URL-friendly identifier |
short_code | 6-char code for short links and QR |
alert_type | "lost" or "found" |
status | "active", "resolved", "expired" |
pet_type | "dog", "cat", "bird", "other" |
pet_name | Pet name (may be null) |
breed / color / size | Physical characteristics |
city / country_code | Location (ISO 3166-1 alpha-2) |
latitude / longitude | Rounded to ~1 km by default |
photos | Array of public image URLs |
url | Full alert page URL |
contact_url | Link to contact the owner (in-platform) |
qr_url | URL of the QR code PNG for this alert |
QR Service
Any AI or app generating a poster for a missing pet can embed a QR code that links directly back to the alert on missing.pet. The QR image is served as PNG, CORS is open, and the response is cached for 24 hours.
GET https://missing.pet/api/qr/{short_code} → 256×256 PNG
GET https://missing.pet/api/qr/{short_code}?size=400 → custom size (max 512)publish_alert, the response includes qr_url. Include it in the poster so anyone who scans it lands on the alert page and can contact the owner.Privacy & rate limits
Phone numbers, emails, and exact GPS coordinates are never returned. Coordinates are rounded to ~1 km.
Messages go through missing.pet. AI tools never see or forward contact details.
All write actions require the human to click a confirmation link before anything is published or sent.
5 alert publications / hour per IP · 20 messages / hour · 10 subscriptions / hour.
Full privacy policy: missing.pet/en/privacy · Machine-readable descriptor: missing.pet/server.json · AI hints file: missing.pet/llms.txt