# Docsy

> Read versioned developer documentation with original source links using five public MCP tools.

- name: io.github.antonbaider/docsy
- version: 1.0.5
- connection class: R2 (oauth_consent_once)
- trust: 96/100
- quality: 94/100 (new)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.antonbaider%2Fdocsy
- tools: https://api.protogrid.dev/v1/servers/io.github.antonbaider%2Fdocsy/tools

**An agent can connect after a one-time OAuth consent by a human.** Remote endpoint behind OAuth 2. Tokens stay with the agent; the registry only exposes the authorization metadata.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "docsy": {
      "type": "http",
      "url": "https://docsy.remcp.site/mcp"
    }
  }
}
```


## Trust

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

## Quality 94/100 (new)

### protocol: n/a (weight 25)

- n/a `protocol.modern`, `protocol.stateless`, `protocol.transport`, `protocol.list_ttl`: no remote answered a protocol handshake (not probed yet, unreachable, or local-only)

### authorization: 83 (weight 15)

- pass `auth.prm`: Protected Resource Metadata (RFC 9728) published
- pass `auth.as_metadata`: authorization server metadata reachable
- warn `auth.cimd`: only Dynamic Client Registration, deprecated in 2026-07-28 in favour of CIMD
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (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`: 5 of 5 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 992 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

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

- n/a `stability.changes`, `stability.rug_pull`: tool history recorded for 5 of the 7 days needed

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

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

- tools: 5, about 992 tokens to load them all
- tool set hash: 778ef325c796b821338fe535d9287c89
- tools last changed: 2026-10-18T05:56:11.262Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.antonbaider/docsy.svg)](https://protogrid.dev/servers/io.github.antonbaider/docsy)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-18 `fetch` changed (description, inputSchema) **meaning changed**
  - before: Fetch one search result by stable ID.
  - after: Fetch one indexed search result by stable ID, or fetch a verified publisher page via libraryId + url previously obtained from link-only query-docs. The URL must belong to the exact authorized source and version; no arbitrary web fetching.
- 2026-10-18 `query-docs` changed (description, inputSchema)
  - before: Retrieve current, version-aware documentation and code examples from one Docsy library. Resolve the library ID first unless an exact ID is already known. Keep each query to one concept and do not call this tool more than 3 times for one user question.
  - after: Retrieve current, version-aware documentation and code examples from one Docsy library, or request source links only (response: links) without loading or indexing document bodies. Resolve the library ID first unless the exact ID is known. Keep each query to one concept and do not call this tool more than 3 times per question.
- 2026-10-17 `list-library-versions` changed (description, inputSchema) **meaning changed**
  - before: List indexed versions plus a bounded catalog of available stable GitHub releases for trusted Docsy libraries.
  - after: Default: representative version preview. Supply limit/offset to paginate individual stable GitHub release tags, including patch versions absent from the preview. Indexed docs and upstream tags are distinguished. Upstream tags may have no usable documentation.

Full history: https://api.protogrid.dev/v1/servers/io.github.antonbaider%2Fdocsy/changes

## Remotes

- https://docsy.remcp.site/mcp (streamable-http, auth oauth2, reachable true, uptime30d 0.95238096)

## Packages

_none_

## Tools (5)

- `fetch`: Fetch one indexed search result by stable ID, or fetch a verified publisher page via libraryId + url previously obtained from link-only query-docs. The URL must belong to the exact authorized source and version; no arbitrary web fetching.
- `list-library-versions`: Default: representative version preview. Supply limit/offset to paginate individual stable GitHub release tags, including patch versions absent from the preview. Indexed docs and upstream tags are distinguished. Upstream tags may have no usable documentation.
- `query-docs`: Retrieve current, version-aware documentation and code examples from one Docsy library, or request source links only (response: links) without loading or indexing document bodies. Resolve the library ID first unless the exact ID is known. Keep each query to one concept and do not call this tool more than 3 times per question.
- `resolve-library-id`: Resolve a package or product name to a Docsy library ID. Call before query-docs unless an exact /org/project or /org/project/version ID is already known. The query is used only to rank likely libraries; do not include credentials, PII, proprietary code, or other confidential data.
- `search`: Search all public indexed documentation and return stable IDs and absolute URLs.
