Skip to main content
Glama

context_pack

Specify file paths with optional line ranges; reads them from the project root, applies a character budget, and stores the bundle under a key for context_ref—no more hand-pasting code.

Instructions

Point, don't paste. The reasoning models can't see your repo, but THIS server runs locally next to it — so instead of hand-pasting code, NAME the files (and optional line ranges) you want and let the server read them, apply a character budget, and store the bundle on the context bus under key. Then pass context_ref='<key>' on ask / councils exactly as usual. Each spec is path or path:START-END (1-indexed inclusive), relative to the configured project root; reads never escape that root, and .git//.env* are refused. Requires an operator-configured project root (config project_root or the ASK_FABLE_PROJECT_ROOT env var) — returns not_configured if unset. Over-budget or unreadable specs are reported in skipped with a reason and complete:false; nothing is silently truncated, and if nothing can be packed the store is left untouched.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyYesStable key to store the packed bundle under; then pass context_ref='<key>' on `ask`. Reusing a key overwrites it.
pathsYesFile specs to read from the configured project root — each a path relative to that root, optionally with a 1-indexed inclusive line range as `path:START-END` (e.g. 'src/app/db.py' or 'src/app/db.py:40-80').
max_charsNoOptional cap on total packed characters (default ~24000). Files that don't fit are reported in `skipped`, never silently truncated.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv0.12.0

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden and does so thoroughly. It discloses the security boundary ('reads never escape that root'), the hard refusal of `.git/`/`.env*`, the `not_configured` failure mode, the `skipped` reporting mechanism with reasons and `complete:false`, the no-silent-truncation guarantee, and the untouched-store guarantee when nothing can be packed. This is model-friendly and trust-building.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but every sentence carries distinct information: the core value proposition, the usage pattern, the spec syntax, the safety boundary, the configuration prerequisite, and failure semantics. It is front-loaded with 'Point, don't paste' and flows logically from motivation to mechanics to edge cases. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema, this description is complete. It tells the agent what inputs are expected, how to form paths, what happens on configuration failure, how partial failures are surfaced, and how the result is consumed by sibling tools. The only minor omission is the exact success return shape, but the 'skipped/complete' references make the contract understandable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description raises it by adding meaning beyond the schema. It specifies the default character budget (~24000), the project-root configuration requirement (config or env var), and the semantics of spec formats. These details help an agent pick good values and anticipate failure without needing extra research.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a memorable, specific framing — 'Point, don't paste' — and then states the exact function: name files and optional line ranges, have the server read them, apply a character budget, and store the bundle under `key` on the context bus. It clearly distinguishes this from the ask/council siblings by explaining that the context_ref from this tool is then passed to them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells the agent when to use the tool: instead of hand-pasting code when the repo isn't visible to the model, with the local server reading files. It also explains the follow-up flow — pass `context_ref='<key>'` on `ask`/councils. It does not explicitly contrast with context_write/context_read siblings, but the 'don't paste' instruction strongly implies the file-based use case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/baggybin/ask-fable'

If you have feedback or need assistance with the MCP directory API, please join our Discord server