Skip to main content
Glama

SAGE - Smart Agent Guidance Engine

CI Python PyPI npm License

SAGE is a local-first command wrapper for AI coding agents. It keeps full terminal output on your machine, sends agents a clean compressed summary, and tracks proof metrics without uploading your raw logs.

Use it with Claude Code, Codex, Cursor, Windsurf, OpenCode, Cline, custom agents, CI scripts, and normal terminal workflows.

Start Here: Install SAGE, Use once sage run -- python -m pytest, Then Use Any AI Agent

Package installation is passive for package-registry safety. After installing, run sage install once to connect this machine and activate SAGE for supported local AI agents.

PyPI / pip

pip install psycgod-sage
# or
python -m pip install --upgrade psycgod-sage
sage install
sage run -- python -m pytest

npm / npx

npm install -g psycgod-sage
npx -y psycgod-sage install
npx -y psycgod-sage run -- npm test

After install, restart any open AI-agent sessions. New sessions should read the SAGE instructions automatically and route terminal commands through SAGE.

Example prompt after restarting your AI agent:

Please help me with my general book in this folder.

Natural shortcuts also work:

sage pytest
sage npm test
sage git status

These are treated as:

sage run -- pytest
sage run -- npm test
sage run -- git status

Related MCP server: knitbrain

What SAGE Does

Step

Result

sage install

Connects the machine, repairs global/project agent instructions, and verifies activation

sage run -- <command>

Runs the command, stores raw output locally, and returns a compact useful summary

Agent memory/hooks

Tell supported AI agents to use SAGE for noisy terminal work

Local database

Keeps command history, compression proof, and retry context on the user's machine

Optional cloud proof

Sends aggregate metrics only when connected proof mode is enabled

SAGE does not auto-enable MCP. MCP is optional and manual for users who want it.

Live Proof

Latest pulled stats as of 2026-08-01:

Metric

Value

SAGE telemetry command events

27,892

Tokens processed

799.5M

Tokens saved

783.7M

Compression rate

98.02%

Estimated savings

$16,261.90

Command success rate

88.3%

PyPI downloads, last 7 days

632

npm downloads, last 7 days

362

GitHub clones, last 14 days

574

Live dashboard: sage.api.marketingstudios.in/dashboard Install page: sage.api.marketingstudios.in/install

SAGE public proof dashboard

Why It Helps

AI coding agents burn context on repeated logs, failed test output, install noise, stack traces, and build spam. SAGE sits between the command and the agent.

Without SAGE

With SAGE

Agent sees full noisy terminal output

Agent sees the useful summary

Context disappears fast

Context lasts longer

Repeated failures waste tokens

Errors are grouped and explained

Raw logs may enter prompts

Raw logs stay local

Hard to prove savings

SAGE records proof metrics

Distribution

Channel

Package

Status

PyPI

psycgod-sage

Canonical Python package

npm / npx

psycgod-sage

Node launcher for the Python core

MCP Registry

io.github.PsYcGoD/sage

Optional/manual MCP entry

Glama

PsYcGoD/sage

Optional/manual hosted MCP listing

The npm package delegates to the Python implementation so both install paths use the same local database, telemetry rules, compression, and command behavior.

Common Commands

sage install                       # Activate this machine and AI-agent instructions
sage doctor --activation           # Verify activation
npx -y psycgod-sage doctor --activation
sage run -- <command>              # Wrap any command
sage run --cwd /project -- <command> # Explicit workspace for host integrations
sage pytest                        # Shortcut for: sage run -- pytest
sage npm test                      # Shortcut for: sage run -- npm test
sage git status                    # Shortcut for: sage run -- git status
sage context stats                 # Token savings summary
sage context report                # Full compression report
sage history --limit 10            # Recent command history
sage explain --failed              # Explain the latest failed command
sage suggest --failed              # Suggest the next fix
sage fix --apply                   # Try an automatic fix
sage ml setup                      # Optional ML V2 dependencies
sage mcp install                   # Optional/manual MCP config
sage dashboard start               # Local dashboard

Privacy Modes

Mode

Requires login?

Sends data?

What leaves the machine?

Local-only

No

No

Nothing

Connected proof

Machine auth

Yes

Aggregate counters and proof metrics

Debug telemetry

Optional

Opt-in only

Redacted diagnostic summaries

SAGE is designed to keep prompts, source code, credentials, raw command output, and project files local unless the user deliberately enables a feature that requires sending data.

Known Limitations

Limitation

What To Do

Already-open AI-agent sessions may not reload new instructions

Restart Claude/Codex/Cursor/Windsurf/OpenCode after sage install

Locked-down host apps can disable shell tools

SAGE cannot enable tools the host application has blocked

A host starts its shell in the wrong folder

Pass sage run --cwd <project> -- <command> or set SAGE_WORKSPACE_CWD

npm/PyPI installs cannot safely auto-run activation

Run sage install once after package install

MCP can disconnect in some stdio agent sessions

Use normal sage run -- <command> by default; enable MCP manually only if needed

Package installs are passive by design

Real activation starts with sage install

Demos

Flow

Preview

PyPI install

PyPI install flow

npm install

npm install flow

sage run --

sage run

CLI run

SAGE CLI demo

License

MIT. See LICENSE.

Available Tools

16 tools
sage_agentic_fixA

Return the single best fix candidate for a failed SAGE command. Use when you need one actionable repair plan, not a list of alternatives. Input is an optional SAGE run id; when omitted, the most recent failed run is analyzed. Returns fix_command, strategy, confidence, and explanation, or null when no safe fix is known. Read-only: does not execute the fix and does not edit files.

ParametersJSON Schema
NameRequiredDescriptionDefault
command_idNoOptional SAGE run id of the failed command. Omit to use the most recent failed command.

TDQS

A4.8/5.0
Behavior5/5

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

Discloses read-only behavior: 'does not execute the fix and does not edit files'. Also mentions return null when no safe fix is known. No annotations provided, but description fully covers behavioral traits.

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?

Three sentences, front-loaded with purpose, no wasted words. Efficient and clear.

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?

Given one optional param, no output schema, description covers purpose, usage, behavior, parameter semantics, and return values. Complete and self-contained.

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

Parameters5/5

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

Schema has 100% coverage for the single parameter. Description adds meaning: explains optionality and default behavior ('when omitted, the most recent failed run is analyzed').

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?

Description clearly states verb 'Return' and resource 'single best fix candidate for a failed SAGE command'. Distinguishes from alternatives by specifying 'not a list of alternatives'.

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?

Explicitly says 'Use when you need one actionable repair plan, not a list of alternatives', providing clear usage context. Could be improved by explicitly naming the alternative sibling tool (e.g., sage_suggest_fix).

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

sage_agentic_runA

Run one local command with SAGE's failure-recovery loop. Use for development commands where automatic diagnosis and retry may help, such as tests or builds. Autonomy controls behavior: suggest reports fixes only, ask requires confirmation, auto may apply safe fixes and retry. Returns command result, recovery attempts, and verification status. Do not use for destructive commands, credential entry, production deploys, or external account changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYesSingle local command to execute with recovery enabled.
autonomyNoHow autonomous: suggest (report only), ask (confirm), auto (fix automatically)auto
max_retriesNoMaximum recovery attempts.

TDQS

A4.6/5.0
Behavior4/5

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

No annotations provided, so the description carries full burden. It explains the autonomy levels (suggest, ask, auto) and what each does, and mentions the return includes command result, recovery attempts, and verification status. It does not disclose potential side effects beyond running the command, but given the nature of the tool, this is adequate.

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 a single, well-structured paragraph. It leads with the core action, then provides usage guidance, then explains autonomy, then expected output, and ends with exclusions. Every sentence adds value without redundancy.

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

Completeness4/5

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

Given no output schema, the description covers the return structure (result, recovery attempts, verification status). It also explains the three parameter options adequately. For a tool with three parameters and moderate complexity, this is nearly complete; a more detailed explanation of verification status could push it to 5.

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% with descriptions for all three parameters. The description adds value by explaining the autonomy levels in context ('suggest reports fixes only, ask requires confirmation, auto may apply safe fixes and retry') and the role of max_retries, though the schema already captures the basics. Scores above baseline 3 due to useful elaboration.

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 clearly states it runs one local command with SAGE's failure-recovery loop. It specifies the verb 'run', the resource 'local command', and the unique feature 'failure-recovery loop', distinguishing it from siblings like sage_agentic_fix.

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

Usage Guidelines5/5

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

Explicitly states when to use: 'development commands where automatic diagnosis and retry may help, such as tests or builds.' Also lists when not to use: 'Do not use for destructive commands, credential entry, production deploys, or external account changes.' This provides clear guidance for tool selection.

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

sage_agentic_sessionA

Get the current agentic session state — failure streak, recent errors, intent chain. Useful for understanding context before deciding next action.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only states what is retrieved but not behavioral traits like idempotency, side effects, or permissions. For a read-only tool, more disclosure would help, e.g., that it does not modify state.

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?

Single sentence that is concise and front-loaded with action and key contents. No unnecessary words.

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

Completeness3/5

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

No output schema, and description only lists components (failure streak, recent errors, intent chain) without specifying return format (e.g., JSON object). Adequate for a simple tool, but could be more complete with structure details.

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?

No parameters, so schema coverage is 100%. Description adds no parameter info, but none is needed. Baseline score of 4 applies.

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?

Description clearly states verb 'Get' and resource 'current agentic session state' with specific items (failure streak, recent errors, intent chain). Differentiates from siblings like sage_agentic_fix and sage_agentic_run which are for fixing or running, not retrieving state.

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?

Explicitly says 'Useful for understanding context before deciding next action', providing clear context. Does not list when not to use or alternatives, but the purpose naturally distinguishes it from sibling tools.

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

sage_callA

Run one local shell command through SAGE with a purpose label. Use when you need command execution and want the result categorized as read, search, test, build, deploy, audit, or unknown. Returns exit_code, compact output, run_id, purpose, and agent metadata. Side effects are exactly the side effects of the command itself. Do not use for secrets, credential prompts, or deployment unless explicitly requested.

ParametersJSON Schema
NameRequiredDescriptionDefault
agentNoName of the calling agent for multi-agent trackingmcp
commandYesSingle local shell command to execute through SAGE.
purposeNoWhy this command is being run - improves ML failure predictionunknown

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 fully addresses behavioral aspects. It clearly states: 'Side effects are exactly the side effects of the command itself,' and lists the return fields (exit_code, compact output, run_id, purpose, agent metadata). This gives the agent a complete understanding of what to expect and the risks involved.

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 concise (about 60 words over three sentences) and front-loaded with the core action. Every sentence provides essential information: the main function, when to use it, what it returns, and safety warnings. There is no redundancy or extraneous content.

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?

Given the absence of annotations and output schema, the description is remarkably complete. It covers purpose, usage guidelines, behavioral traits (side effects), return values, and security warnings. This is sufficient for an agent to correctly invoke and understand the tool's behavior without needing additional context.

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

Parameters3/5

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

The input schema covers 100% of parameters with descriptions, so the baseline is 3. The description adds minimal additional meaning beyond the schema: it mentions the purpose label and lists categories (read, search, test, etc.), which are already enumerated in the schema. The only extra is noting that purpose 'improves ML failure prediction.' Thus, the description adds limited value over the schema.

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 clearly states the tool's primary function: 'Run one local shell command through SAGE with a purpose label.' This provides a specific verb (run) and resource (local shell command), and the mention of SAGE and purpose label distinguishes it from sibling tools like sage_explain_error or sage_suggest_fix, which handle error explanation and fix suggestions rather than direct command execution.

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

Usage Guidelines5/5

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

The description explicitly states when to use the tool ('Use when you need command execution and want the result categorized') and when not to use it ('Do not use for secrets, credential prompts, or deployment unless explicitly requested'). This provides clear usage boundaries and alternative considerations, aiding the agent in correct selection.

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

sage_edit_fileA

Exact string replacement in a file. Returns a compact change preview instead of the whole file, and snapshots the pre-edit content for undo. old must match exactly and be unique unless replace_all=true.

ParametersJSON Schema
NameRequiredDescriptionDefault
newYesReplacement (empty deletes)
oldYesExact string to replace
pathYesFile to edit
replace_allNo

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description fully bears the burden of behavioral disclosure. It clearly states that the tool returns a compact change preview instead of the full file and snapshots pre-edit content for undo. It also explains the uniqueness constraint and replace_all behavior. These details give the agent a comprehensive understanding of the tool's operation beyond just purpose.

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 three sentences, each serving a clear purpose: stating the action, describing the output and undo feature, and setting the uniqueness constraint. No extraneous words. The most important information (exact replacement) is front-loaded. Perfectly concise.

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

Completeness4/5

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

Given the tool's complexity (file editing with preview and undo) and the absence of an output schema or annotations, the description covers essential aspects: purpose, behavior, and constraints. It lacks details about error handling (e.g., what happens if old string is not found) and details about the preview format, but the core information is sufficient for effective use. A score of 4 reflects good coverage with minor gaps.

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 75% (3 of 4 parameters have descriptions). The description adds value beyond the schema by explaining that 'old' must be exact and unique unless replace_all is true, and that 'new' can be empty to delete. This provides crucial binding context that the schema does not convey. The extra nuance justifies a score above the baseline of 3.

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 clearly states 'Exact string replacement in a file', which is a specific verb and resource. It distinguishes itself from siblings like sage_write_file (whole file) and sage_agentic_fix (autonomous fix) by focusing on precise, targeted edits. The mention of replace_all further clarifies its unique behavior.

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 provides implicit usage context: it is for precise string replacements with preview and undo features. It explicitly states constraints (old must match exactly and be unique unless replace_all=true). However, it does not compare directly to sibling tools or explicitly state when not to use this tool, missing a small opportunity for clearer guidance.

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

sage_explain_errorA

Explain why a previous SAGE command failed. Use after a non-zero command exit before editing code or retrying. Input is an optional SAGE run id; when omitted, the most recent failed run is analyzed. Returns a structured object with error_type, summary, root_cause, affected_files, and suggestions. Read-only: does not run commands, edit files, or contact external services.

ParametersJSON Schema
NameRequiredDescriptionDefault
command_idNoOptional SAGE run id to analyze. Omit to analyze the most recent failed command.

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description fully carries the burden of behavioral disclosure. It explicitly states 'Read-only: does not run commands, edit files, or contact external services,' which is critical for an AI agent to understand safety. It also describes the return structure and behavior when the parameter is omitted. This is comprehensive and transparent.

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 extremely concise with three sentences. The first sentence immediately states the purpose. Every sentence adds necessary information: purpose, usage, return structure, and behavioral constraints. No redundancy or filler.

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?

Given the tool's simplicity (one optional parameter, no output schema, no nested objects), the description fully covers all needed aspects: purpose, when to use, behavior, parameter semantics, and return structure. The agent can reliably select and invoke this tool without ambiguity.

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

Parameters5/5

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

The sole parameter 'command_id' is optional and has 100% schema description coverage. The description adds meaning beyond the schema: 'Omit to analyze the most recent failed command.' This clarifies the default behavior and the nature of the parameter, which is sufficient for correct invocation.

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 clearly states the tool's purpose: to explain why a previous SAGE command failed. It uses a specific verb 'explain' and resource 'why a previous SAGE command failed'. This distinguishes it from siblings like sage_suggest_fix (which suggests fixes) and sage_run_workflow (which runs workflows).

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 provides explicit usage context: 'Use after a non-zero command exit before editing code or retrying.' It also clarifies when not to use by stating it is read-only. However, it does not explicitly mention alternative tools or provide exclusion criteria beyond the read-only nature, which would strengthen the guidance.

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

sage_get_historyA

List recent local SAGE command runs. Use to find a run_id for sage_show_raw, sage_explain_error, or sage_suggest_fix. Returns compact metadata such as run_id, command summary, exit_code, duration, timestamp, and compression ratio. Read-only: reads the local SAGE database only and does not execute commands.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoNumber of recent commands to retrieve (most recent first)
failed_onlyNoFilter to commands with non-zero exit code only

TDQS

A4.5/5.0
Behavior5/5

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

Explicitly declares read-only behavior and that it reads a local database without executing commands, compensating for the absence of annotations.

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?

Three concise sentences front-load the core action, purpose, and key details with no 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?

Given the simple schema and no output schema, the description fully covers the tool's purpose, return data fields, and safety profile.

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

Parameters3/5

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

Schema already describes both parameters (limit, failed_only) with 100% coverage; description adds no additional semantic value for parameters beyond what schema provides.

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?

Description clearly states the tool lists recent SAGE command runs and explicitly connects to sibling tools (sage_show_raw, sage_explain_error, sage_suggest_fix), distinguishing its role as a lookup tool for run IDs.

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?

Directly advises to use this tool to find run_ids for specific sibling tools, but does not explicitly state when not to use it or what alternatives might exist.

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

sage_globA

Find files by pattern, newest first, junk directories ignored, capped output. Prefer over recursive directory listings.

ParametersJSON Schema
NameRequiredDescriptionDefault
rootNoRoot directory.
limitNoMax files returned
patternYesPattern, e.g. **/*.py

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description covers key behaviors: ordering (newest first), ignoring junk directories, and capping output. It does not detail what junk directories are or confirm read-only nature, but the disclosed traits are valuable.

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?

Two sentences, front-loaded with the core action, no fluff. Every word serves a purpose.

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

Completeness4/5

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

Given no output schema, the description covers the tool's purpose and key traits. The lack of output format details is a minor gap, but the context is sufficient for an agent to use it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline 3. The description does not add new parameter semantics beyond what the schema already provides (e.g., pattern format, root default).

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 clearly states the action ('Find files by pattern'), includes specifics ('newest first, junk directories ignored, capped output'), and distinguishes it from sibling tools like sage_tree (recursive directory listings).

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 advises to 'Prefer over recursive directory listings,' providing a clear usage context. It could be improved by also mentioning when not to use (e.g., for content search, use sage_grep), but the guidance is sufficient.

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

sage_grepA

Search files with compressed, grouped results (exact paths and line numbers kept). Prefer this over rg/grep when output may be large.

ParametersJSON Schema
NameRequiredDescriptionDefault
globNoFilename filter, e.g. *.py
pathsNoPaths to search
patternYesRegex pattern
ignore_caseNo

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It discloses that results are compressed and grouped with exact paths and line numbers, but omits details like follow-symlinks, error handling, or performance limits.

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?

Two brief sentences, front-loading the core purpose and a usage hint. No wasted words, earns its place.

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

Completeness3/5

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

No output schema exists, so the description should clarify return format. It states paths and line numbers are kept but not structure (e.g., text vs JSON) or behavior for no matches, leaving gaps.

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

Parameters3/5

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

Schema description coverage is 75% (all parameters have descriptions), so the baseline is 3. The tool description adds no additional parameter-level information beyond what is already in the schema.

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?

Description clearly states 'Search files with compressed, grouped results' with specific output traits. Distinguishes from external tools rg/grep and implicitly from siblings by focusing on content search with grouping.

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?

Directly advises to prefer this tool over rg/grep when output may be large, providing a clear usage context. Lacks explicit when-not-to-use or alternatives for small outputs.

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

sage_read_fileA

Read a file with SAGE compression: small files exact, large files as outline + head with line references. Prefer this over cat/type/Get-Content to save context.

ParametersJSON Schema
NameRequiredDescriptionDefault
rawNoReturn exact full content
pathYesFile path to read
linesNoOptional exact range START:END, e.g. 120:220
symbolsNoReturn only the symbol outline
max_tokensNoToken budget for large files

TDQS

A3.9/5.0
Behavior3/5

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

Describes compression strategy but omits details like what 'outline + head with line references' means exactly. No annotation support, so description carries full burden; lacks clarity on return format and side-effect-free read behavior.

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?

Two concise, front-loaded sentences with no redundancy. Every sentence adds value: first explains core function, second gives usage guidance.

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

Completeness3/5

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

Given no output schema and no annotations, description should explain return format and behavior more thoroughly. Mentions compression but lacks specifics on what 'exact' and 'outline + head' means for large files. Adequate but not comprehensive.

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

Parameters3/5

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

Schema covers 100% of parameters with descriptions. Description adds context on overall behavior but does not enhance meaning of individual parameters beyond schema. Baseline 3 is appropriate.

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?

Description clearly states it reads files with SAGE compression, specifying behavior for small vs large files. Distinguishes from generic file readers like cat/type/Get-Content, implying it's the preferred tool for reading files in this context.

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?

Explicitly advises preferring this over cat/type/Get-Content to save context, giving a clear use case. Does not explicitly exclude alternatives like sage_show_raw, but context implies it's for compression benefits.

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

sage_run_workflowA

Run a named local workflow through SAGE, such as test, lint, build, or ci. Use when the project has a repeatable workflow and you want one structured result instead of several separate shell calls. The workflow must be local/project-defined. Returns success, per-step status, duration, and compact output. Side effects: runs the workflow's local commands and may change files if the workflow commands do. Do not use for deployment unless the user explicitly requested deployment.

ParametersJSON Schema
NameRequiredDescriptionDefault
workflow_nameYesLocal workflow name, for example test, lint, build, or ci.
workflow_pathNoOptional path to a local workflow YAML file. Omit to use the default project workflow file.

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description fully covers behavior: it returns success, per-step status, duration, compact output, and discloses side effects ('runs the workflow's local commands and may change files'). This adds significant transparency beyond what annotations would provide.

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 compact (5 sentences), front-loaded with the core purpose, and every sentence adds distinct value (use case, return, side effects, exclusion). No unnecessary words.

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

Completeness4/5

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

Given no output schema, the description adequately explains return values and side effects. It covers the two parameters well. A slight gap: no mention of error handling if workflow doesn't exist, but overall sufficient for the tool's moderate complexity.

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 description coverage is 100%, and the description adds meaningful examples for workflow_name (test, lint, build, ci) and clarifies workflow_path usage ('Optional path... Omit to use the default'). This goes beyond the bare schema.

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 clearly states the tool runs a named local workflow through SAGE, listing concrete examples (test, lint, build, ci). It distinguishes this tool from siblings by focusing on structured workflow execution rather than individual shell calls.

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 gives clear when-to-use context ('when the project has a repeatable workflow and you want one structured result instead of several separate shell calls') and a specific exclusion ('Do not use for deployment unless the user explicitly requested deployment'). It does not explicitly name alternative sibling tools but provides strong guidance.

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

sage_show_rawA

Recover the exact stored output of a previous run by ID (compression never destroys the original).

ParametersJSON Schema
NameRequiredDescriptionDefault
run_idNoRun ID (omit for latest run)

TDQS

A3.7/5.0
Behavior3/5

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

Although no annotations are provided, the description includes a behavioral guarantee ('compression never destroys the original'), adding transparency. However, it omits details like read-only nature, required permissions, or error handling when run_id is invalid.

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 a single, clear sentence with no unnecessary words. It conveys the purpose and a key behavioral trait efficiently.

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

Completeness3/5

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

The tool has one optional parameter and no output schema. The description explains the purpose and a guarantee, but does not describe what is returned (e.g., format, size). For a retrieval tool, this is only partially complete.

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

Parameters3/5

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

With 100% schema description coverage, the parameter is already well-documented. The description adds minimal value by repeating 'by ID', but does not provide additional context beyond the schema.

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 clearly states the tool recovers exact stored output of a previous run by ID, specifying the action and resource distinctly. It distinguishes from siblings like sage_get_history which likely show summaries rather than raw output.

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

Usage Guidelines3/5

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

The description implicitly indicates usage when you need raw output by run ID, but offers no explicit guidance on when to use this tool versus alternatives like sage_get_history or sage_explain_error. No exclusions or alternatives are mentioned.

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

sage_spawn_agentA

Run one focused local SAGE specialist for a bounded development task. Use only when a task clearly matches one specialization: code, test, debug, security, or performance. Returns agent_type, task, status, and a compact result. Side effects depend on the task: the specialist may inspect files, run local commands through SAGE, or propose edits. Do not use for open-ended chat, secrets, credentials, or tasks requiring external account access.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskYesConcrete bounded task for the specialist, including target files or command context when known.
agent_typeYesSpecialization: code (implement), test (verify), debug (investigate), security (scan), performance (optimize)

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries full disclosure burden. It describes side effects ('may inspect files, run local commands, propose edits') and return format ('agent_type, task, status, and a compact result'). However, it does not detail whether changes are automatically applied or require confirmation, missing some behavioral nuance.

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 three sentences long, front-loaded with the core purpose, and contains no redundant information. Every sentence adds essential context.

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

Completeness4/5

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

Given the tool's complexity (spawning an agent with side effects) and the absence of an output schema, the description adequately covers return fields, usage boundaries, and side effects. It could be improved by explicitly stating that the tool operates only on local files and commands, but 'local SAGE specialist' hints at this.

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

Parameters3/5

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

The input schema already provides 100% coverage with descriptions for both parameters. The description adds minor value by noting that 'task' should include 'target files or command context when known', but this is largely a restatement of schema constraints.

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 explicitly states 'Run one focused local SAGE specialist for a bounded development task' and lists the five specializations, clearly defining the tool's purpose and distinguishing it from sibling tools that handle direct file operations or general agent interactions.

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

Usage Guidelines5/5

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

The description provides clear when-to-use guidance: 'Use only when a task clearly matches one specialization' and explicit when-not-to-use: 'Do not use for open-ended chat, secrets, credentials, or tasks requiring external account access.' This helps the agent choose appropriately among siblings.

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

sage_suggest_fixA

Suggest safe next steps for a failed SAGE command. Use after sage_explain_error when you want possible fixes but do not want them executed automatically. Returns a list of fix suggestions with explanation, confidence, and candidate command when available. Read-only: it never applies patches and never runs the suggested command.

ParametersJSON Schema
NameRequiredDescriptionDefault
command_idNoOptional SAGE run id. Omit to use the most recent failed command.

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries full burden. It clearly states the tool is read-only and never applies patches or runs commands, which covers key safety behavior. However, it doesn't mention error handling or response details.

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 concise: three sentences front-loading purpose, usage, return value, and safety. Every sentence adds value with no redundancy or unnecessary words.

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?

Given the tool has one optional parameter, no output schema, and simple behavior, the description covers all essential aspects: purpose, usage context, return structure, and safety. It is complete for an AI agent to select and invoke correctly.

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

Parameters3/5

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

Schema coverage is 100%, with the schema already describing the optional command_id parameter and its default behavior. The description adds no additional parameter information, so baseline score of 3 is appropriate.

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 clearly states the tool suggests safe next steps for a failed SAGE command, using a specific verb and resource. It distinguishes itself from siblings like sage_explain_error and sage_run_workflow by specifying when to use it and what it does.

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

Usage Guidelines5/5

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

The description explicitly advises to use after sage_explain_error when possible fixes are wanted without execution. It also clarifies that it is read-only and never applies patches, setting clear expectations and alternatives.

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

sage_treeB

Compact depth-limited directory overview instead of ls -R noise.

ParametersJSON Schema
NameRequiredDescriptionDefault
rootNoRoot directory.
depthNo
limitNo

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility. It states 'compact depth-limited directory overview' implying read-only behavior and filtering, but lacks details on side effects, permissions, or rate limits. For a tool with no annotations, this is insufficient transparency.

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?

A single succinct sentence of 10 words communicates the core purpose without waste. Every word earns its place.

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

Completeness2/5

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

With no output schema, the description should hint at return values or format, but it does not. The tool has three optional parameters, yet the description gives no guidance on defaults or behavior. It is too minimal to fully inform an agent's decision.

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

Parameters1/5

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

Schema description coverage is low (33%, only root has a description). The tool description adds no parameter explanations beyond the schema, failing to compensate for the gap or clarify depth and limit semantics.

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

Purpose4/5

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

The description clearly states it provides a compact, depth-limited directory overview, contrasting with ls -R. However, it does not explicitly differentiate from sibling tools like sage_glob or sage_grep, missing a chance to clarify its unique role.

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 phrase 'instead of ls -R noise' gives clear context on when to use—when a less verbose view is needed. But it offers no when-not-to-use or alternative sibling tools, so it stops short of a 5.

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

sage_write_fileA

Create or update a file. Returns bytes/lines/sha256 confirmation instead of echoing the content back — saves the whole file's tokens. Existing files require overwrite=true (a snapshot is taken first so it is reversible).

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYesFile path to write
appendNoAppend instead of replace
contentYesFull file content
overwriteNoAllow replacing an existing file

TDQS

A4.6/5.0
Behavior5/5

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

Since no annotations are provided, the description fully discloses behavioral traits: it returns confirmation tokens instead of echoing content, saves tokens, requires overwrite for existing files, and takes a snapshot for reversibility. This is highly transparent.

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 two sentences long, each providing essential information without redundancy. It is front-loaded with the core purpose and follows with an important behavioral note.

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

Completeness4/5

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

Given no output schema or annotations, the description covers key aspects: purpose, return format, token saving, overwrite and reversibility. It does not mention error handling or directory creation, but is sufficiently complete for a file write tool.

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 baseline is 3. The description adds value by explaining the overwrite parameter's necessity for existing files, but does not elaborate on path, content, or append beyond the schema. This is slightly above baseline.

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 clearly states the tool creates or updates a file, distinguishing itself from sibling read/edit tools. It specifies the return format (bytes/lines/sha256) and token-saving behavior, which are specific to this tool.

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 provides clear context: the tool can be used to create or update files, and it explicitly states that existing files require overwrite=true. However, it does not offer guidance on when to use this tool over alternatives like sage_edit_file or specific conditions to avoid.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv2.6.2
    • Addedsage_agentic_fix
    • Addedsage_agentic_session
    • Addedsage_edit_file
    • Addedsage_spawn_agent
    • Addedsage_write_file
  2. 5 tool updatesv2.5.8
    • Addedsage_call
    • Addedsage_explain_error
    • Addedsage_grep
    • Addedsage_suggest_fix
    • Removedsage_write_file
  3. 8 tool updatesv2.5.1
    • Removedsage_agentic_fix
    • Removedsage_agentic_session
    • Removedsage_call
    • Removedsage_edit_file
    • Removedsage_explain_error
    • Removedsage_grep
    • Removedsage_spawn_agent
    • Removedsage_suggest_fix
  4. 8 tool updatesv2.4.22
    • Changedsage_agentic_fix2 fields changed
      • changedInput schema / properties / command_id / description
        Previous value: -"Specific command ID (optional, defaults to last failed)"New value: +"Optional SAGE run id of the failed command. Omit to use the most recent failed command."
      • addedInput schema / properties / command_id / minimum
        Added value: +1
    • Changedsage_agentic_run6 fields changed
      • changedInput schema / properties / command / description
        Previous value: -"Command to execute with agentic retry"New value: +"Single local command to execute with recovery enabled."
      • addedInput schema / properties / command / maxLength
        Added value: +4000
      • addedInput schema / properties / command / minLength
        Added value: +1
      • changedInput schema / properties / max_retries / description
        Previous value: -"Max fix attempts"New value: +"Maximum recovery attempts."
      • addedInput schema / properties / max_retries / maximum
        Added value: +5
      • addedInput schema / properties / max_retries / minimum
        Added value: +0
    • Changedsage_call5 fields changed
      • changedInput schema / properties / agent / description
        Previous value: -"Calling agent name"New value: +"Name of the calling agent for multi-agent tracking"
      • changedInput schema / properties / command / description
        Previous value: -"Command to execute"New value: +"Single local shell command to execute through SAGE."
      • addedInput schema / properties / command / maxLength
        Added value: +4000
      • addedInput schema / properties / command / minLength
        Added value: +1
      • addedInput schema / properties / purpose / description
        Added value: +"Why this command is being run - improves ML failure prediction"
    • Changedsage_explain_error2 fields changed
      • changedInput schema / properties / command_id / description
        Previous value: -"Specific command ID (optional, defaults to last failed)"New value: +"Optional SAGE run id to analyze. Omit to analyze the most recent failed command."
      • addedInput schema / properties / command_id / minimum
        Added value: +1
    • Changedsage_get_history4 fields changed
      • changedInput schema / properties / failed_only / description
        Previous value: -"Only show failed commands"New value: +"Filter to commands with non-zero exit code only"
      • changedInput schema / properties / limit / description
        Previous value: -"Number of commands to retrieve"New value: +"Number of recent commands to retrieve (most recent first)"
      • addedInput schema / properties / limit / maximum
        Added value: +100
      • addedInput schema / properties / limit / minimum
        Added value: +1
    • Changedsage_run_workflow5 fields changed
      • changedInput schema / properties / workflow_name / description
        Previous value: -"Name of workflow to run (e.g., 'test', 'ci', 'deploy')"New value: +"Local workflow name, for example test, lint, build, or ci."
      • addedInput schema / properties / workflow_name / maxLength
        Added value: +80
      • addedInput schema / properties / workflow_name / minLength
        Added value: +1
      • changedInput schema / properties / workflow_path / description
        Previous value: -"Path to workflow YAML file (optional)"New value: +"Optional path to a local workflow YAML file. Omit to use the default project workflow file."
      • addedInput schema / required
        Added value: +[
        +  "workflow_name"
        +]
    • Changedsage_spawn_agent4 fields changed
      • changedInput schema / properties / agent_type / description
        Previous value: -"Type of agent to spawn"New value: +"Specialization: code (implement), test (verify), debug (investigate), security (scan), performance (optimize)"
      • changedInput schema / properties / task / description
        Previous value: -"Task description for the agent"New value: +"Concrete bounded task for the specialist, including target files or command context when known."
      • addedInput schema / properties / task / maxLength
        Added value: +1000
      • addedInput schema / properties / task / minLength
        Added value: +8
    • Changedsage_suggest_fix2 fields changed
      • changedInput schema / properties / command_id / description
        Previous value: -"Specific command ID (optional, defaults to last failed)"New value: +"Optional SAGE run id. Omit to use the most recent failed command."
      • addedInput schema / properties / command_id / minimum
        Added value: +1
  5. 16 tool updatesv0.1.0
    • First observedsage_agentic_fix
    • First observedsage_agentic_run
    • First observedsage_agentic_session
    • First observedsage_call
    • First observedsage_edit_file
    • First observedsage_explain_error
    • First observedsage_get_history
    • First observedsage_glob
    • First observedsage_grep
    • First observedsage_read_file
    • First observedsage_run_workflow
    • First observedsage_show_raw
    • First observedsage_spawn_agent
    • First observedsage_suggest_fix
    • First observedsage_tree
    • First observedsage_write_file

TDQS

A4/5.0

Scored across 11 tools

Disambiguation5/5

Each tool targets a distinct concern: reading/searching files, running commands, running workflows, recovering history, and explaining failures. Potential overlaps such as sage_call vs sage_agentic_run vs sage_run_workflow or sage_explain_error vs sage_suggest_fix are clearly separated by purpose and behavior.

Naming Consistency4/5

All tools share the sage_ prefix and lowercase snake_case style, and most follow a verb_noun pattern like sage_explain_error and sage_run_workflow. A few names such as sage_grep, sage_call, sage_tree, and sage_agentic_run break the pattern, but the overall convention is still predictable.

Tool Count5/5

Eleven tools is a well-scoped size for a developer command execution and context management server. Each tool addresses a distinct workflow step without obvious redundancy or bloat.

Completeness4/5

The set covers command execution, workflow runs, failure explanation, fix suggestions, history lookup, raw output recovery, and compressed file/search navigation. A minor gap is the lack of a tool to enumerate available project workflows, but agents can work around this by attempting a workflow or checking project files.

Maintenance

ActivityActive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    A secure and pluggable MCP server to run terminal commands on your local machine or cloud server — remotely, safely, and with LLMs or agentic clients.
    -
  • A
    license
    A
    quality
    A
    maintenance
    Local-first MCP server that gives any AI coding agent per-project memory, workflow intelligence, and always-on, lossless token & context optimization.
    37
    12 npm
    5
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    An agent-native shell as an MCP server, designed for LLM agents (like Claude Code) to execute commands with structured output, lazy detail retrieval, and effect tracking, minimizing token usage.
    9
    6 npm
    MIT
  • F
    license
    Not graded
    quality
    A
    maintenance
    Local MCP server that lets your AI coding agent query its own cross-tool project history - file/command freshness, past test failures, cost & token spend, cache status, and session handoff - over stdio, 100% local, no telemetry.
    45
    -