read_contextLABSCO SUMMARY
The failure mode tells you which files to exclude, instead of just refusing.
Blowing the size limit is the normal way this goes wrong, and the error names the ten largest files that got you there — so the fix is one edit away rather than a guessing game. The other design choice worth knowing: the model can narrow the scope itself, so "read context for the tests" works without you rewriting a config.
What it is
A context tool with an MCP server and a CLI. It concatenates the relevant files of a project into one document, each preceded by a path header.
What you get
- read_context — the tool the model calls, taking a project_root, a list of targets and a list of rules, and returning the concatenated content
- usage — returns the README as a string, so the model can look up its own options
- Opinionated defaults that exclude binaries, dotfiles, hidden directories and the usual logs, build directories and temp files
- Granular control through .contextfiles, which work like .gitignore but define inclusions and take priority over it; .gitignore itself is respected automatically
- list_only mode returning just the relative paths, and size_limit_mb to override the limit
- A size guard: over the limit — 100MB by default — it aborts with an error naming the 10 largest contributing files
- A CLI for the same job, writing to a file or to standard output
Requirements
uv installed, then a client config running uvx with jinni-server. Optionally add --root with an absolute path to confine the server to one tree. Cursor users should know that Cursor can silently drop oversized context — if the tool call seems not to have happened, narrow what you are pulling in.
Setup effort
One command — pip install jinni
USE CASES
Getting a model up to speed on a project
One call brings in the relevant files with path headers, instead of a dozen reads.
Focusing on one module
Ask for context on the part you are working in and let the server resolve which files that means.
Checking what would be included before you pull it
Use list-only mode to see the paths without the content.
Keeping a model inside one directory tree
Start the server with a root path so it cannot read outside it.
2 tools
Listed in project docs. Your client may show a different list.
usageBEFORE YOU INSTALL
What to know first
Tools you get
2 tools named in the project's documentation.
Requires
uvx on PATH
Where it runs
All 3 documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
pip install jinniMCP Clients
Cursor, Roo, Claude Desktop
{
"mcpServers": {
"jinni": {
"command": "uvx",
"args": [
"jinni-server"
]
}
}
}