# OpenApps

> Rankings, launches and featuring across the ChatGPT, Claude, Cursor and Grok Bot app stores.

- name: com.theopenapps/openapps
- version: 1.0.1
- connection class: R0 (autonomous)
- trust: 82/100 flags: no-repository
- quality: 92/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.theopenapps%2Fopenapps
- tools: https://api.protogrid.dev/v1/servers/com.theopenapps%2Fopenapps/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "openapps": {
      "type": "http",
      "url": "https://theopenapps.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 98
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-95% +updated-16d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 92/100 (strong)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 3600000)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 93 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 16 of 16 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 1 of 16 tools declare all four hints; missing: stores_get (destructiveHint, idempotentHint); charts_get (destructiveHint, idempotentHint); scores_list (destructiveHint, idempotentHint); …
- pass `tools.token_cost`: about 3,055 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 75 (weight 15)

- warn `stability.changes`: 27 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 16, about 3,055 tokens to load them all
- tool set hash: 088e2b24472ddc7ab43cb686c043c949
- tools last changed: 2026-11-07T03:29:45.799Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.theopenapps/openapps.svg)](https://protogrid.dev/servers/com.theopenapps/openapps)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-07 `listings_search` changed (inputSchema)
- 2026-11-06 `tags_get` added
  - Use this when you need a job or brand tag's top apps per store and its related tags. tag: an id such as notion or developer-tools. Do not use for finding an app by name; use listings_search.
- 2026-11-06 `listings_copy` added
  - Use this when you need what a listing says or shows: name, subtitle, description, keywords, starter prompts, and its widgets' images. Do not use for ranks or metrics; use listings_profile.
- 2026-11-06 `featuring_history` changed (description)
  - before: Use this when you need when and where apps were featured, per app or home shelf, over at most 30 days. Do not use for current shelf order; use charts_get.
  - after: Use this when you need when and where apps were featured, per app or home shelf, over up to 90 days. Do not use for current shelf order; use charts_get.
- 2026-11-06 `listings_search` changed (inputSchema)
- 2026-10-29 `market_get` changed (inputSchema)
- 2026-10-29 `featuring_history` changed (inputSchema)
- 2026-10-29 `listings_search` changed (inputSchema)
- 2026-10-29 `scores_list` changed (inputSchema)
- 2026-10-29 `leaderboards_get` changed (inputSchema)

Full history: https://api.protogrid.dev/v1/servers/com.theopenapps%2Fopenapps/changes

## Remotes

- https://theopenapps.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.95238096)

## Packages

_none_

## Tools (16)

- `changes_list`: Use this when the user asks what changed in a store: chart moves, featuring, launches, delistings, metric moves or MCP changes, newest first with counts per type.
Do not use for a chart's full current order; use charts_get.
- `charts_get`: Use this when you need a chart now or at a past time, with movement and 1-based positions.
Do not use for a listing across charts; use listings_profile.
- `featuring_history`: Use this when you need when and where apps were featured, per app or home shelf, over up to 90 days.
Do not use for current shelf order; use charts_get.
- `feedback_send`: Use this when OpenApps' tools or data fail the user: an error, data the user says is wrong (such as an app bound to the wrong listing), a missing capability, or something confusing. Ask the user before sending a report they did not ask for. It is stored privately with the caller's account and client; no reply comes in this conversation. Summarize; never include secrets or personal data.
Do not use for other servers or the client app; it does not finish the user's task.
- `fetch`: Use this when ChatGPT deep research needs a document for an id returned by search: listing, app, tag, chart or MCP toolset.
Do not use for ids outside search results.
- `leaderboards_get`: Use this when the user asks which apps lead a store by a published number. claude: installs, popularity_score, trending_score, gh_stars; cursor: dir_installs, dir_stars.
Do not use for chart positions; use charts_get.
- `listings_copy`: Use this when you need what a listing says or shows: name, subtitle, description, keywords, starter prompts, and its widgets' images.
Do not use for ranks or metrics; use listings_profile.
- `listings_profile`: Use this when you need a listing profile, or up to 5 (Pro): its app, country availability, ranks, metrics and MCP tools. Stale or refused countries read unknown.
Do not use for discovery; use listings_search.
- `listings_search`: Use this when you need an app's ref from its name, its publisher, a brand it works with or what it does ("create jira ticket"); one row per app, best match first.
Do not use for popularity or rankings; use charts_get.
- `market_get`: Use this when you need store sizes, weekly launches, app kinds or MCP ecosystem statistics.
Do not use for app profiles or rankings.
- `mcp_toolset_get`: Use this when you need a tracked app or server's stored MCP tools or changes. at selects a past snapshot; diff_from compares versions.
Do not use for arbitrary URLs; only tracked servers.
- `new_list`: Use this when the user asks which apps are new in a store since a time, by launch date or else the day each went live.
Do not use for rank or toolset changes; use changes_list.
- `scores_list`: Use this when the user asks which apps are popular in a store over the last month: OpenApps Rank, a 28-day aggregate of its popularity charts, with tier and momentum.
Do not use for one day's chart order (charts_get) or published counts (leaderboards_get).
- `search`: Use this when ChatGPT deep research needs listings, apps, tags (query tag:<id>), charts or tracked MCP URLs. Returns typed ids for fetch.
Do not use for rankings or events; use charts_get or changes_list.
- `stores_get`: Use this when you need stores, app counts, countries, freshness, charts or metrics. Pass store for chart names. guide returns a playbook's steps: weekly_brief (a store's week), competitor_watch (compare apps), audit_my_server (an MCP server's tools).
Do not use for rankings; use charts_get.
- `tags_get`: Use this when you need a job or brand tag's top apps per store and its related tags. tag: an id such as notion or developer-tools.
Do not use for finding an app by name; use listings_search.
