files/read
Read a text file by absolute path and return raw contents; use line or byte ranges to page large files and avoid truncation.
Instructions
Reads a text file and returns its contents as raw text (no line numbers or metadata). Read-only; path must be absolute. To find a file use files/find, for size or mode files/list, to check whether it is binary files/filetype (binary files are refused with cannot read binary file). Selection: start_line/end_line (1-indexed, inclusive; start_line alone reads to the end, end_line alone starts at line 1) take precedence over the byte range offset/limit. With no selection, or offset without limit, at most 10240 bytes come back followed by a [WARNING: File truncated ...] line, so page large files with start_line/end_line or pass limit. There is no streaming: one call reads into memory, and a line over 64 KiB fails line mode. A start_line past the end is an error; an empty file returns an empty string. privileged: true (needs a grant, and a paths: entry for root) reads files your account cannot.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path of the file to read | |
| limit | No | Number of bytes to return (no upper cap). With no selection at all, the first 10240 bytes are returned | |
| offset | No | Byte offset to start at; ignored when start_line/end_line is given. Without limit at most 10240 bytes are returned | |
| end_line | No | Last line to return (inclusive); alone it starts at line 1. Ignored if below start_line | |
| privileged | No | Run as root. Needs a grant for this tool in mcp-sudo.yaml and a `paths:` entry covering the path, otherwise refused | |
| start_line | No | First line to return (1-indexed). With or without end_line it takes precedence over offset/limit; alone it reads to the end of the file |