Skip to main content
seri ships seven tools, plus two the model reaches indirectly. Connecting an MCP server adds one more, named mcp, through which every remote tool is called.

File tools

edit returning a string rather than writing one is why it takes no path. The model has to follow it with write_file to land the change, and it is also why edit takes no checkpoint of its own.

Search tools

grep defaults to returning only the names of matching files, which is what most searches need and costs a fraction of the tokens. content and count modes are opt-in. Both cap their results, and both say when they were capped. A capped result is explicitly not a complete answer, because re-running the same search can return a different subset. seri unpacks its own ripgrep build to ~/.seri/rg/<key>/ on the first search of each release. Deleting that directory is safe, and a run that cannot write there falls back to a temporary copy.

Shell tools

Both cap each stream at 30,000 characters and say which stream was cut. A cut drops the middle and keeps both ends, so redirect to a file and read the part you need rather than assuming you got everything. Both are killed after 2 minutes, with whatever they printed first, and set a timedOut flag. Pass timeoutMs up to 600,000 for a command you expect to take longer. Neither can be approved permanently. See Permissions.

The two indirect ones

Both are classified as reads, and neither writes anything itself. dispatch_subagents hands the child the parent’s own permission mode, so a child’s bash re-enters the same gate rather than escaping it. skill reads one file you put under .seri/skills/ yourself.

Permission classes

The read class is enumerated and everything else is a write, including names seri has never heard of. That direction is deliberate: MCP opens the tool set to third parties, so absence from the write list stops being evidence of safety.

What takes a checkpoint

write_file, bash and powershell. Those are the three that can change the contents of the filesystem. See Checkpoints and undo.