OpenApps MCP server
A read-only MCP server at https://theopenapps.com/mcp (Streamable HTTP) with 13 tools and 3 prompts over the ChatGPT, Claude, Cursor and Grok Bot app stores. It needs no sign-in for public data (up to 60 calls a minute per IP address), and every result carries the date its data refers to.
- Endpoint
- /mcptheopenapps.com
- Transport
- Streamable HTTP
- Tools
- 13all read-only
- Prompts
- 3
Connect
Claude Code. One command adds it for your user:
claude mcp add --transport http --scope user openapps https://theopenapps.com/mcpClaude. Add a custom connector and paste the URL. ChatGPT. Add it as a custom connector with the same URL; deep research and company knowledge use its search and fetch tools. Other clients that read an mcpServers config:
{
"mcpServers": {
"openapps": {
"url": "https://theopenapps.com/mcp"
}
}
}Tools
Every tool is marked read-only; none changes anything or reaches outside OpenApps. Each tool except search and fetch takes two optional inputs besides its own: response_format (concise, the default, or detailed, which adds descriptions, schemas and series) and context, one short sentence on what the user wants to find out, used only for analytics and never with names or personal details.
| Tool | Use it for | Inputs |
|---|---|---|
charts_getStore chart with movement | Who ranks where in a store chart, who moved, entered or dropped out, or how a chart looked at a past time. | store, chart, region?, at?, kinds?, limit?, cursor? |
changes_listWhat changed in a store | Who moved, entered or left a chart, got featured, launched, changed a listing or MCP tools, or left the store, overall or for given apps, since a time. | store, region?, since?, apps?, types?, limit?, cursor? |
new_listNew releases in a store | Which apps are new in a store since a time, by launch date or the day they went live. | store, since?, sort?, limit?, cursor?, category?, kind? |
featuring_historyFeaturing history | When and where apps were featured, per app or home shelf, over up to 30 days. | store, app?, chart?, region?, since?, at?, limit?, cursor? |
leaderboards_getApps ranked by a metric | Which apps lead a store by a number it publishes, such as Claude plugin installs. | store, metric, kinds?, limit?, cursor? |
scores_listApps by OpenApps Rank | Which apps are most popular in a store over the last month, by OpenApps Rank across its popularity charts. | store, chart?, limit?, cursor? |
apps_searchFind apps by name or publisher | An app's ref for apps_profile, or which apps match a word in their name, description or publisher. | query, publisher?, store?, kind?, limit?, cursor? |
apps_profileApp profiles | Up to 10 apps: what each is and who publishes it, where it ranks now and the tools its MCP server exposes. | apps, include? |
stores_getStores, regions and charts | Which stores are tracked, how many listings each has, and which regions, charts and metrics exist. | store? |
market_getStore and MCP ecosystem statistics | How big a store is, launches per week, its mix of kinds, and how MCP servers are built. | store? |
mcp_toolset_getMCP server toolset and changes | Which tools an MCP server exposes, how it names, describes and annotates them, and what changed since a time. | app | server, at?, diff_from? |
searchSearch OpenApps | For ChatGPT deep research and company knowledge: apps, charts and MCP servers, returning ids for fetch. | query |
fetchFetch an OpenApps result | Fetches a result that search returned, as text with its OpenApps link. | id |
Prompts
Three prompts turn common questions into a sequence of tool calls:
| Prompt | What it does | Arguments |
|---|---|---|
weekly_briefWeekly brief on a store | The last 7 days in one store: movers, featuring, launches and MCP toolset changes. | store, region? |
competitor_watchWatch a set of apps | Up to 10 apps compared: ranks, metrics, featuring and tool changes over the last 7 days. | apps |
audit_my_serverAudit an MCP server against the ecosystem | A tracked server's tools (names, descriptions, annotations, schemas) checked against patterns across every open server we see. | server |
A call, step by step
Ask your assistant "Which Claude connectors are climbing right now?" and it calls charts_get on the connectors' trending list:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "charts_get",
"arguments": {
"store": "claude",
"chart": "connectors:trending",
"limit": 5,
"context": "Which Claude connectors are gaining attention"
}
}
}The result holds the rows with their previous positions, plus meta.as_of and the chart's OpenApps link, so the answer can cite the date and link back. Read rank changes with care: most movement below #50 is other listings arriving. How to read rank changes.
Sign-in and limits
- Public data needs no sign-in. To connect your account, sign in with OAuth (scope
catalog:read) or send an API key asAuthorization: Bearer oa_…. Tokens issued for/mcpdon't work on/v1, and the reverse. - Without a key,
tools/callrequests count against 60 a minute per IP address, at the depth of the public pages. Signed in with a key or OAuth, they count against 600 a minute per account, at its plan's depth: a free account's (every country, 500 rows), or with Pro every row and all history. Over a limit you get a JSON-RPC error withretry_after_seconds. - Send one JSON-RPC message per POST. Batches are refused.