---
title: "Read Docs"
description: "Read Charming documentation without web access."
sidebar:
  order: 15
---

<!-- Generated by apps/docs/scripts/generate-mcp-reference.mjs. -->

MCP name: `read_docs`

## Tool contract

```json
{
  "annotations": {
    "destructiveHint": false,
    "openWorldHint": false,
    "readOnlyHint": true,
    "title": "Read Docs"
  },
  "description": "Read Charming documentation without web access. Call without arguments to get the docs index, then pass a page path from that index (for example capabilities/data-storage.md). Use this when building an app or looking up the runtime, API, or capability reference. Returns Markdown in chunks of up to 20,000 characters; pass next_offset as offset with the same path to continue. For the full authoring reference, use llms-full.txt. Only public Charming docs can be read. Limited to 60 reads per caller per minute.",
  "execution": {
    "taskSupport": "forbidden"
  },
  "inputSchema": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "properties": {
      "offset": {
        "description": "Character offset returned as next_offset by the prior read. Defaults to 0.",
        "maximum": 9007199254740991,
        "minimum": 0,
        "type": "integer"
      },
      "path": {
        "description": "Path relative to /docs/, such as capabilities/data-storage.md or llms-full.txt. A copied docs/ prefix is accepted. Omitted or empty paths default to llms.txt (the docs index). Page slugs without .md also work. No full URLs, query strings, or fragments.",
        "maxLength": 300,
        "type": "string"
      }
    },
    "type": "object"
  },
  "name": "read_docs",
  "outputSchema": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "additionalProperties": false,
    "properties": {
      "markdown": {
        "type": "string"
      },
      "next_offset": {
        "anyOf": [
          {
            "type": "number"
          },
          {
            "type": "null"
          }
        ]
      },
      "path": {
        "type": "string"
      },
      "url": {
        "type": "string"
      }
    },
    "required": [
      "path",
      "url",
      "markdown",
      "next_offset"
    ],
    "type": "object"
  }
}
```

Found a bug or need a feature? [Tell us](/docs/capabilities/feedback) with `submit_feedback` or `POST /app/{id}/feedback`. Your feedback shapes what we build next.
