# io.capawesome/mcp

> The official MCP server for Capawesome documentation and Capawesome Cloud.

- name: io.capawesome/mcp
- version: 0.0.2
- connection class: R0 (autonomous)
- trust: 93/100
- quality: 85/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.capawesome%2Fmcp
- tools: https://api.protogrid.dev/v1/servers/io.capawesome%2Fmcp/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "capawesome": {
      "type": "http",
      "url": "https://mcp.capawesome.io/mcp"
    }
  }
}
```


## Trust

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

## Quality 85/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### 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: 86 (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`: 3 of 3 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_doc_page (idempotentHint); list_blog_posts (idempotentHint); search_docs (idempotentHint)
- pass `tools.token_cost`: about 902 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

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

### dependencies: 67 (weight 15)

- pass `deps.known_vulns`: no known advisory in 15 resolved packages
- fail `deps.mcp_sdk_version`: @modelcontextprotocol/client 2.0.0 has 1 known advisory (GHSA-6qxp-vccf-f47h); update @modelcontextprotocol/client to 2.2.0 or later
- pass `deps.resolvable`: @capawesome/mcp@0.0.2 resolved: 15 packages

- tools: 3, about 902 tokens to load them all
- tool set hash: 8d96027c33b2b77464f8b53fabc15d34
- badge: [![protogrid quality](https://protogrid.dev/badge/io.capawesome/mcp.svg)](https://protogrid.dev/servers/io.capawesome/mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Dependencies

- npm @capawesome/mcp@0.0.2: resolved, 14 dependencies, MCP SDK @modelcontextprotocol/client 2.0.0
  - GHSA-6qxp-vccf-f47h (high) in `` @modelcontextprotocol/client@2.0.0 ``, direct, fixed in `` 2.2.0 ``, advisory summary: "MCP TypeScript SDK: OAuth client could send credentials to an authorization server chosen by the MCP server" https://osv.dev/vulnerability/GHSA-6qxp-vccf-f47h

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://mcp.capawesome.io/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

- npm @capawesome/mcp@0.0.2

## Tools (3)

- `get_doc_page`: Read the full source markdown of a Capawesome documentation or blog page. Use this after `search_docs` to read a page end to end before writing code against a plugin API, a CLI command or a Capawesome Cloud workflow — snippets from search results are deliberately short and regularly omit required configuration steps. Returns the page title, its URL and the page markdown including code samples, as it is authored but without the build metadata. Do not use this to find a page: it needs the exact URL or path, so run `search_docs` (or `list_blog_posts` for articles) first. Do not use it for pages outside capawesome.io.
- `list_blog_posts`: List the 20 most recent posts from the Capawesome blog, newest first. Use this when the question is about what is new — recent releases, announcements, monthly updates, deprecations or newly published guides. Returns `title`, `description`, `date`, `categories` and `url` per post; pass a `url` to `get_doc_page` to read the whole article. Do not use this to answer a topic question: the feed only carries the newest posts, so search the documentation and the blog archive with `search_docs` instead.
- `search_docs`: Search the Capawesome documentation, guides and blog by keyword. Use this first for any question about Capawesome SDKs (Capacitor and Cordova plugins such as Live Update, NFC, Biometrics), Capawesome Cloud (live updates, native builds, app store publishing, automations), Capawesome Insiders or the Capawesome CLI — the answer is almost always documented, and guessing plugin APIs or CLI flags produces broken code. Returns the best matching page sections with `title`, `url`, `snippet`, `section` and, for a hit inside a page, the `parentTitle` and `parentUrl` of that page. The same results are attached as structured content. Do not use this to read a full page: call `get_doc_page` with a `url` from these results. Do not use it to browse recent announcements or release notes: use `list_blog_posts`. Do not use it for anything about a concrete app, build, channel or deployment in Capawesome Cloud: those live behind the `cloud_*` tools.
