{"version":"2.1.182","anchor":"mcp-resources-directory-read-support","canonical_anchor":"mcp-resources-directory-read-support","heading":"MCP resources\/directory\/read Support","tier":null,"area":null,"scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.182\/e\/mcp-resources-directory-read-support","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.182","markdown":"### MCP `resources\/directory\/read` Support\n\n**What**\n\nClaude Code now supports MCP servers that implement directory listing via the `io.modelcontextprotocol\/skills` protocol extension, enabling skill-serving MCP servers to expose navigable directory structures.\n\n**Details**\n\n- MCP servers advertise the capability via `extensions[\"io.modelcontextprotocol\/skills\"].directoryRead: true`\n- Claude can list directory contents at a URI and descend into subdirectories; subdirectories appear with `mimeType: \"inode\/directory\"`\n- When a skill at a URI references a supporting file by relative path (e.g. `templates\/invoice.md`), Claude is told to call the MCP read tool with the full composed URI rather than reading locally\n- Cursor-based pagination is handled automatically; an `InvalidParams` error mid-pagination returns prior-page results with a warning rather than throwing\n- URI sanitization strips Unicode control characters, private-use codepoints, and bidirectional markers to prevent path confusion\n\n**Evidence**\n\nNew `mZi()` directory-read function \u2014 search for `\"readMcpDirectory called on a server without directoryRead capability\"` and `\"resources\/directory\/read\"`"}