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

11 tools
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_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_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_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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 5 tool updatesv2.5.8
    • Addedsage_call
    • Addedsage_explain_error
    • Addedsage_grep
    • Addedsage_suggest_fix
    • Removedsage_write_file
  2. 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
  3. 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
  4. 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.2/5.0
Disambiguation5/5

All tools have clearly distinct purposes: file reading, searching, command execution, error analysis, etc. The related pair of explain_error and suggest_fix are differentiated by action (explain vs suggest). No overlap or ambiguity.

Naming Consistency5/5

Every tool follows the sage_verb_noun convention consistently, using snake_case throughout. Examples: sage_explain_error, sage_run_workflow, sage_get_history. The pattern is predictable and clear.

Tool Count5/5

11 tools is a well-scoped set for the server's purpose of SAGE-assisted development. It covers file operations, searching, command execution, workflow running, error diagnosis, and history without being excessive or minimal.

Completeness5/5

The tool set covers the full lifecycle of working with a SAGE command: reading files, searching, executing commands (with and without auto-recovery), running workflows, analyzing errors, and retrieving history. No obvious gaps for its stated domain.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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
    18
    3
    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
    14
    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.
    42
    -

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/PsYcGoD/sage'

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