What are MCP roots?
MCP roots are a client feature for telling servers which filesystem directories and files the client considers relevant, shared as file URIs so servers can focus their operations.
Also written: Model Context Protocol roots, roots/list
Explained
Roots let a client describe the workspace it is working in. Each root has a URI, which the current specification requires to be a file:// URI, and an optional human-readable name. A server asks for them by returning an InputRequiredResult that contains a roots/list request, and the client answers on the retry. A client that supports the feature declares the roots capability. Typical sources are a workspace or project picker, which can be combined with detection from version control or project files, though the spec does not require any particular interface. A user with several repositories could expose each one as a separate root.
The spec is explicit that roots are informational guidance and not an access-control mechanism. The protocol does not force servers to stay inside them. Even so, it asks servers to respect root boundaries and validate paths against the provided roots. Clients must expose only roots with appropriate permissions, validate root URIs to prevent path traversal, and should ask for user consent before sharing them.
Status note: as of the 2026-07-28 revision (checked 2026-10-26), the page marks the roots feature as deprecated. It stays in the specification for at least twelve months from that revision's release. New implementations should not adopt it, and existing ones should switch to passing directories or files through tool parameters, resource URIs or server configuration.
Primary source
Roots (modelcontextprotocol.io), read Oct 26, 2026
This entry paraphrases the page above. Sources change; check it for the current wording.
Listings that use this
The 5 top-ranked listings tagged for MCP roots. Rank weighs adoption, freshness, documentation and publisher identity; how we rank and grade. Money never changes the order.
- 0.831score
jCodemunch MCP
jgravelle
Retrieves code by symbol via tree-sitter.
ConnectorAFreshness: ALocal★ 2.8K↓ 21.2K/wkClaude Code +5 - 0.772score
Benzi
varianttech.net
Compiler-backed code intelligence: calls, data flow, references and class hierarchy as tools.
ConnectorAFreshness: ALocal★ 170↓ 99/wkClaude Code +5 - 0.769score
Hex Graph
levnikolaevich
Deterministic layered code graph MCP server with framework overlays and SCIP interop.
ConnectorAFreshness: ALocal★ 583↓ 59/wkClaude Code +5 - 0.766score
Sem
Ataraxy-Labs
Entity-level code intelligence: semantic diff, impact analysis, blame, and context for AI agents
ConnectorAFreshness: ALocal★ 3.4K↓ 2.1K/wkClaude Code +5 - 0.761score

code-graph
cyberchronos00
Local dependency graph: callers, entry points and file:line evidence for what a change affects.
ConnectorAFreshness: ALocal★ 4↓ 1.5K/wkClaude Code +5
Related
Cite this page
What are MCP roots?. Agent Mart. https://agentmart.dev/glossary/mcp-roots (last updated 2026-10-26)
Written Oct 26, 2026, updated Oct 26, 2026. All glossary terms