AppCorpus for AI agents
One MCP endpoint and a read-only JSON API over the current app catalog.
Status
Live catalog probe: ok · 1006 apps · last import 2026-07-27 · MCP ok
Connect
Point your agent at the MCP endpoint. No auth is required for the public tools.
ChatGPT
ChatGPT → Settings → Connectors → Add connector: https://appcorpus.com/mcp (no auth header needed).
Claude / MCP CLI
claude mcp add --transport http appcorpus https://appcorpus.com/mcp
curl
curl -X POST https://appcorpus.com/mcp -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
Example tool calls
POST /mcp — the same calls Connect shows how to wire.
search_apps
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "search_apps",
"arguments": {
"query": "note taking app that works offline",
"market": "us",
"limit": 5
}
}
}
get_app
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "get_app",
"arguments": {
"app_id": 1001
}
}
}
Skill preview
Phase-1 preview of how an agent should use AppCorpus. Not a downloadable Skill package.
When to use AppCorpus Use AppCorpus when the user needs a current App Store or Google Play app for a task, with prices, platforms, features and sources. Do not use it for install, purchase, or anything outside the public catalog. How to parse a user's task Extract the job (what they want to do), the platform, the market, and any hard limits (offline, no account, free to use — not merely free to download). Search with the task phrasing, not only the app name. How to distinguish hard constraints A hard constraint rejects a candidate (must work offline, must be on iPhone). A preference ranks but does not reject (likes a higher rating). If the catalog marks a field unknown, do not treat it as a pass or a fail. How to search then fetch Call search_apps first. Read search_mode, returned, total_matches and truncated before claiming the list is complete. Call get_app on each app you will recommend — search cards are not the full record. How to cite freshness and uncertainty Cite canonical_url for every app you name. Say when prices and ratings were last_checked. Repeat unknown_fields; never turn unknown into false or zero. How not to confuse free download with free feature is_free / "Free to download" means the store listing has no upfront price. A function can still sit behind IAP or a subscription. Only call a function free when get_app features say availability=yes and access_level=free.
Policies
- Public tools are read-only and anonymous; no API key is required.
- Rate limits (per IP, per process): 60/min on POST /mcp, 30/min on GET /api/v3/search, 60/min on other document routes, 120/min API total.
- When you recommend an app, cite its canonical_url (the AppCorpus page).
- Unknown fields stay unknown — do not coerce them to false or zero.