Skip to main content
Glama
dpc00

sublime-mcp

Sublime-MCP: Universal AI Agent Connector for Sublime Text

Gives any MCP-speaking AI agent real control over a running Sublime Text 4 instance: run registered ST commands, read/write views and selections, inspect tabs and project state, and eval_python in Sublime's plugin host for anything the typed tools don't cover.

Two optional companion plugins extend this:

  • debugger-mcp — Debugger package DAP tools (breakpoints, stepping, variables, call stacks) over MCP

  • lsp-mcp — LSP tools (definition, references, diagnostics, rename, hover) over MCP

Toolset

Seven workflow tools are advertised by default. discover_tools searches the complete internal catalog of 222 typed Sublime capabilities, and batch invokes discovered capabilities without flooding the model's initial tool context. debugger-mcp and lsp-mcp use the same focused pattern: each advertises seven workflow tools by default, with debugger_discover_tools / lsp_discover_tools and prefixed batch tools providing access to the complete catalogs (104 and 125 tools respectively).

Agent how-to: docs/AGENT_GUIDE.md (also served live by get_help). Workflow across all three MCPs: docs/agents.md. Release history: CHANGELOG.md.

Related MCP server: OpenSpec MCP Server

Ports

Each plugin serves MCP streamable HTTP at /mcp, legacy MCP SSE at /sse, and a plain HTTP bridge. The bundled Node/Python proxies use sublime-mcp's HTTP bridge only. Defaults:

Plugin

MCP SSE

HTTP bridge

Settings file

sublime-mcp

9502 (Win) / 9503 (macOS/Linux)

9500 (Win) / 9501 (macOS/Linux)

sublime-mcp.sublime-settings

debugger-mcp

9505

9515

debugger-mcp.sublime-settings

lsp-mcp

9506

9516

lsp-mcp.sublime-settings

Each settings file takes "mcp_port" and "http_port" keys; edit your copy under Packages/User/ (Preferences > Package Settings) to override the defaults above — no env vars needed.

SSE URL form: http://127.0.0.1:<sse-port>/sse. The bundled Node/Python proxies talk to sublime-mcp's HTTP bridge, not SSE; override with SUBLIME_MCP_BASE (e.g. http://127.0.0.1:9500).

Installation

1. Clone

git clone https://github.com/dpc00/sublime-mcp.git
cd sublime-mcp

2. Install the Sublime Text plugin

Symlink packages/st-plugin into ST's Packages/ directory as sublime-mcp.

Windows (Command Prompt):

mklink /J "%APPDATA%\Sublime Text\Packages\sublime-mcp" "C:\path\to\sublime-mcp\packages\st-plugin"

macOS:

ln -s "$(pwd)/packages/st-plugin" "$HOME/Library/Application Support/Sublime Text/Packages/sublime-mcp"

Linux:

ln -s "$(pwd)/packages/st-plugin" "$HOME/.config/sublime-text/Packages/sublime-mcp"

3. Optional companion plugins

Same pattern: symlink packages/debugger-mcp and/or packages/lsp-mcp into Packages/ under those names.

Windows:

mklink /J "%APPDATA%\Sublime Text\Packages\debugger-mcp" "C:\path\to\sublime-mcp\packages\debugger-mcp"
mklink /J "%APPDATA%\Sublime Text\Packages\lsp-mcp" "C:\path\to\sublime-mcp\packages\lsp-mcp"

macOS:

ln -s "$(pwd)/packages/debugger-mcp" "$HOME/Library/Application Support/Sublime Text/Packages/debugger-mcp"
ln -s "$(pwd)/packages/lsp-mcp" "$HOME/Library/Application Support/Sublime Text/Packages/lsp-mcp"

Linux:

ln -s "$(pwd)/packages/debugger-mcp" "$HOME/.config/sublime-text/Packages/debugger-mcp"
ln -s "$(pwd)/packages/lsp-mcp" "$HOME/.config/sublime-text/Packages/lsp-mcp"

Restart Sublime Text after linking so the plugins load.

4. Configure your agent

Node:

cd packages/node-proxy
npm install .
npx sublime-mcp

Python:

cd packages/python-proxy
pip install .
sublime-mcp

For Codex, use its native streamable-HTTP configuration; no mcp-remote wrapper is required:

[mcp_servers.sublime-mcp]
type = "http"
url = "http://127.0.0.1:9502/mcp"

[mcp_servers.debugger-mcp]
type = "http"
url = "http://127.0.0.1:9505/mcp"

[mcp_servers.lsp-mcp]
type = "http"
url = "http://127.0.0.1:9506/mcp"

Restart or open a new Codex session after changing MCP configuration. Verify the entire path before debugging agent behavior:

npx sublime-mcp doctor
npx sublime-mcp doctor --all

The first command checks sublime-mcp. --all also checks debugger-mcp and lsp-mcp. The report separately checks each HTTP bridge, MCP handshake, and focused tool catalog. From Sublime's Command Palette, MCP Commander: Connection Doctor shows the main server-side state.

Other MCP clients may use the legacy SSE URL (Windows example):

{
  "mcpServers": {
    "sublime-mcp": { "type": "sse", "url": "http://127.0.0.1:9502/sse" }
  }
}

Each plugin's MCP server starts automatically when ST loads it. To stop or restart sublime-mcp's, run "MCP Commander: Server Status" from the Command Palette. Check View > Show Console for startup confirmation.

Agent skill

Installable Codex skills are in skills/sublime-mcp, skills/sublime-debugger, and skills/sublime-lsp. Copy the desired directories to your Codex skills directory or install them through your normal skill workflow.

Available Tools

59 tools
add_folderC

Add a folder to the current project.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description should disclose behaviors like whether the operation is destructive, what happens if the folder already exists, or required permissions. The current description only states 'Add a folder', lacking these details.

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

Conciseness4/5

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

The description is a single sentence with no unnecessary words. It is front-loaded and efficient, though it lacks detail for a complete understanding.

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?

For a simple tool with one parameter, the description is incomplete. It does not specify behavior on existing folders, path constraints, or any return value (no output schema). More context is needed.

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?

The schema has 0% description coverage and the tool description does not explain the 'path' parameter. No guidance on path format (absolute/relative), special characters, or default behavior.

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 the action ('Add') and the resource ('folder') and scopes it to 'current project'. It is specific and unambiguous, but does not differentiate from sibling tools like 'remove_folder'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., 'open_file' or 'remove_folder'). There is no mention of prerequisites, scenarios, or exclusions.

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

close_fileA

Close a file by path, or close the active file if path is omitted.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the basic action without detailing side effects (e.g., whether the file is saved before closing, what happens if the path is invalid, or if any confirmation is needed). This lack of detail limits 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?

The description is a single, efficient sentence that conveys all necessary information without redundancy. It is front-loaded with the action and covers both usage modes.

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 the tool's simplicity and the absence of annotations or output schema, the description covers the core functionality but omits important contextual details like error handling, whether the file is saved, or the return value. It is minimally adequate but not fully 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 description coverage is 0%, so the description must add meaning. It mentions 'path' and its effect (closing a specific file or active file), but does not specify path format, valid values, or the meaning of the empty default. This provides moderate added value over 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's action: 'Close a file by path, or close the active file if path is omitted.' It uses a specific verb ('close') and resource ('file'), and distinguishes from siblings like 'open_file' and 'save_file' by indicating the closing 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 clear context on usage: specify a path to close a specific file, or omit to close the active file. It does not explicitly state when not to use the tool or name alternatives, but the two-mode behavior is sufficient for typical use.

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

duplicate_lineA

Duplicate the current line(s) in the active file.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose behavioral traits such as cursor behavior after duplication, handling of multiple lines, or whether duplication inserts immediately below. This lack of detail is a significant gap for a mutation operation.

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 sentence that immediately communicates the core action and resource, with no extraneous words. It is optimally concise and front-loaded.

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 the zero parameters, no output schema, and the simplicity of the tool, the description is minimally adequate. However, it lacks full context about behavior (e.g., cursor position, multi-line handling), which would be helpful for an agent. A more complete description would include these behavioral 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?

The tool has zero parameters, so the description does not need to add parameter semantics. Baseline 4 applies because the schema coverage is 100% and no parameters require explanation.

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 the action ('duplicate') and the resource ('current line(s) in the active file'), using a specific verb and resource that clearly distinguishes it from siblings like 'replace_lines' or 'insert_snippet'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'send_to_view', 'replace_selection', or 'insert_snippet'. The description simply states what it does without context or exclusions.

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

eval_pythonA

Execute arbitrary Python in Sublime Text's main thread. Locals: sublime, window, view, print. Returns captured stdout in 'output'.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYes

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 carries full burden. It discloses execution in the main thread (implying potential blocking) and available locals (sublime, window, view, print). However, it does not discuss side effects on the editor state, security implications, or error handling (e.g., stderr not captured). More transparency would be beneficial.

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 very concise: two sentences covering the purpose, execution context, available locals, and output. Every sentence is necessary and no wasted 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?

Given the complexity of executing arbitrary code and the absence of an output schema or annotations, the description is somewhat complete but lacks details on return value structure (though 'output' is mentioned), error handling, timeout, and potential side effects. More completeness would improve agent decision-making.

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 has 0% description coverage for the single parameter 'code'. The description adds context by stating the code should be Python with specific locals available, but it does not elaborate on expected format, constraints, or what constitutes valid input. It adds some value beyond the schema but could be more detailed.

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 'Execute arbitrary Python in Sublime Text's main thread', specifying the verb and resource. It distinguishes itself from all sibling tools, which are file operations, navigation, and other non-code execution tasks.

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 implicitly indicates when to use this tool: when you need to run Python code. However, it does not provide explicit guidance on alternatives or when not to use it (e.g., for simple string operations, other tools might be more appropriate). No sibling tool performs code execution, so no alternative is mentioned.

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

find_in_fileA

Find all occurrences of pattern in the active file. Returns list of {line, col, text}.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternYes
case_sensitiveNo
regexNo

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the burden. It states it returns a list of {line, col, text} and is a search operation, which is transparent. It does not mention side effects, but none are expected.

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 unnecessary words or repetition.

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?

For a simple search tool, the description covers the purpose and output format. It lacks details on edge cases (no matches, multiple occurrences) but is largely complete given the tool's simplicity.

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

Parameters2/5

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

Schema description coverage is 0%, yet the description adds no parameter details (e.g., what 'pattern' supports, default behavior for case_sensitive/regex). It fails to compensate for the missing schema descriptions.

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 uses a specific verb ('Find') and resource ('occurrences of pattern in the active file'), clearly distinguishing it from the sibling tool 'find_in_files' which searches across files.

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 implies usage for single-file search by specifying 'active file', but does not explicitly contrast with sibling tools or state when not to use it.

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

find_in_filesC

Search for pattern across project folders (or the supplied folder list). Skips .git, pycache, node_modules, .venv. Returns list of {path, line, match}.

ParametersJSON Schema
NameRequiredDescriptionDefault
patternYes
foldersNo
case_sensitiveNo
regexNo
max_resultsNo

TDQS

C2.9/5.0
Behavior3/5

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

With no annotations, the description adds value by disclosing that it skips certain directories and returns a specific structure. However, it does not state whether the operation is read-only or if there are any side effects.

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 sentences with no wasted words. The description front-loads the action and skips the essential exclusions.

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?

Given 5 parameters, no output schema, and no annotations, the description is insufficient. It explains the high-level purpose and return format but leaves parameter details and behavioral context uncovered.

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 coverage is 0% (only titles). The description does not explain any parameter: pattern is just implied, folders not described, case_sensitive, regex, max_results are not mentioned. Fails to add meaning beyond the schema.

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 the tool searches for a pattern across folders or a supplied list, and specifies skipped directories and return format. However, it does not differentiate from the sibling 'find_in_file', which likely searches a single file.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'find_in_file'. The description only mentions skipping certain directories, but does not provide explicit usage scenarios or constraints.

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

focus_groupA

Move focus to a pane group by 0-based index.

ParametersJSON Schema
NameRequiredDescriptionDefault
groupYes

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behaviors such as error handling for invalid indices, side effects on current focus, or whether the pane group must exist. The description carries the full burden but provides minimal behavioral context.

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?

One sentence, front-loaded with the verb, no wasted words. Highly concise and efficient for the intended purpose.

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?

For a simple tool with one parameter and no output schema, the description explains the parameter meaning but omits details like valid ranges, error behavior, or what constitutes a 'pane group'. Adequate but with 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?

The schema has 0% description coverage, but the description adds critical meaning: the 'group' parameter is a 0-based index. This compensates well for the schema's lack of detail.

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 ('Move focus') and the resource ('pane group'), and specifies it uses a 0-based index, which distinguishes it from other tools that might manipulate layout or selection.

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 implies usage for focusing a pane by index, but does not provide explicit guidance on when to use this tool versus alternatives (e.g., other layout or focus tools, or any prerequisities).

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

fold_linesB

Fold (collapse) lines begin through end (1-based) in the active file.

ParametersJSON Schema
NameRequiredDescriptionDefault
beginYes
endYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided. The description only states the action without disclosing side effects, reversibility, or behavior in edge cases (e.g., already folded lines). The 1-based index hint is the only extra detail.

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?

One sentence of 12 words, perfectly concise and front-loaded with the action and scope.

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?

While the tool is simple, the description does not mention return values or confirm success. Without annotations or output schema, an agent might need more context on what happens after the operation.

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 schema has 0% description coverage. The description adds that parameters are 1-based line numbers, which adds value beyond the parameter names, but could specify valid ranges or constraints like begin <= end.

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 folds (collapses) lines from begin to end in the active file, using a specific verb and resource. It distinguishes itself from siblings like duplicate_line or select_lines.

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

Usage Guidelines2/5

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

No guidance on when to fold lines versus other operations. Does not mention prerequisites, alternatives, or contexts where folding is appropriate.

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

get_active_fileA

Return the active file's path, full content, cursor line/col, dirty flag, and syntax name.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It is clear that this is a read operation (returns data), but it does not specify any side effects, prerequisites, or output structure. It adequately describes the return but lacks depth beyond the stated fields.

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, directly names all return items. No wasted 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 lists the five return components. It is fairly complete but does not specify the output format (e.g., JSON object). However, for a simple read tool, it provides enough for an agent to know what to expect.

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; schema coverage is 100%. The description adds no extra param info, but none is needed. Baseline 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?

The description uses a specific verb 'Return' and clearly lists all returned data: path, full content, cursor line/col, dirty flag, and syntax name. This distinguishes it from siblings like get_file_content (only content) and get_cursor_context (probably cursor without full file).

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. For example, it doesn't suggest using get_file_content if only content is needed, or note that this provides the active file specifically.

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

get_active_panelA

Return the active panel id and, if it is an output panel, its content.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It mentions what is returned but does not disclose read-only nature, side effects, or prerequisites. The behavioral transparency is minimal.

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, compact sentence that front-loads the key action ('Return the active panel id'). Every word contributes meaning, with no 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?

Although there is no output schema, the description covers the two possible return cases. For a simple, parameterless tool, this is mostly complete, though more detail on the return format could enhance clarity.

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?

The input schema is empty, and the description confirms no parameters are needed. Since schema coverage is 100%, the description adds value by explaining the output semantics, meeting the baseline for zero parameters.

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 returns the active panel id and, if applicable, its content. It uses a specific verb ('return') and resource ('active panel'), distinguishing it from siblings like get_output_panel or get_active_file.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as get_output_panel or get_active_file. The description lacks explicit context for selection.

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

get_bookmarksA

Return all bookmarked positions in the active file.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It only states what it returns, not whether it is read-only, side-effect free, or any other behavioral traits. This leaves the agent with incomplete information.

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 sentence that is concise and front-loaded. It contains no unnecessary words and effectively communicates the tool's 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 the tool has no parameters and no output schema, the description is mostly complete. However, it could specify the format of 'positions' (e.g., line numbers, columns) to fully inform the agent, but it is adequate for a simple retrieval 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?

The input schema has no parameters, so schema coverage is 100%. Baseline for 0 parameters is 4. The description adds the context 'in the active file', clarifying scope, which is sufficient for a parameterless tool.

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 returns all bookmarked positions in the active file, with a specific verb and resource. It distinguishes itself from sibling tools like 'get_cursor_context' by specifying 'bookmarked positions' and 'active file'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor any conditions or prerequisites. It merely states the function without context about when it is appropriate.

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

get_command_paletteA

List Command Palette entries from installed *.sublime-commands resources. Optional filters: package, command id, or caption substring.

ParametersJSON Schema
NameRequiredDescriptionDefault
packageNo
commandNo
captionNo

TDQS

A4.2/5.0
Behavior4/5

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

No annotations provided, but the description makes the read-only listing behavior clear. It does not mention permissions or response format, but for a list tool it is sufficient.

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: two sentences that provide essential information without redundancy or extra 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?

The description covers the tool's purpose and parameters adequately. While no output schema is provided, the nature of listing entries is straightforward and does not require extensive return value explanation.

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?

With 0% schema description coverage, the description adds meaning to all three parameters by explaining them as package, command id, and caption substring filters. This compensates for the schema gap.

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 lists Command Palette entries from installed resources, specifying the source and optional filters. It distinguishes from sibling tools like get_commands by focusing on palette entries.

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 mentions optional filters but does not explicitly state when to use this tool versus alternative tools like get_commands. Usage context is implied but not fully guided.

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

get_commandsA

List runnable Sublime command ids from loaded command classes, optionally enriched with matching Command Palette entries from installed packages.

ParametersJSON Schema
NameRequiredDescriptionDefault
packageNo
commandNo
include_paletteNo

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, and the description does not disclose any behavioral traits beyond the basic listing operation. It doesn't mention side effects, permissions, or rate limits, which is acceptable for a read-only tool but lacks extra context.

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 sentence that immediately conveys the core functionality without extraneous information.

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?

While the description captures the essence, it lacks details about the output format or structure. Since there is no output schema, the description should provide more context on what the tool returns, which it does not.

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

Parameters2/5

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

Schema description coverage is 0% and the description only hints at the 'include_palette' parameter by mentioning optional enrichment. The 'package' and 'command' parameters are not explained, leaving their purpose unclear.

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 verb 'list', the resource 'runnable Sublime command ids', and the optional enrichment with palette entries. It effectively distinguishes from siblings like run_command or get_command_palette.

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 implies usage for introspection but provides no explicit guidance on when to use this tool versus alternatives, nor does it mention when not to use it.

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

get_cursor_contextA

Return lines lines above and below the cursor with 1-based line numbers prepended.

ParametersJSON Schema
NameRequiredDescriptionDefault
linesNo

TDQS

A3.7/5.0
Behavior3/5

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

Describes output format but lacks detail on edge cases (e.g., cursor at boundary, large line counts) and does not state it is read-only (no annotations). Basic 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?

Single sentence, front-loaded with verb and resource, no wasted 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?

Adequate for a simple getter, but missing details on output format (exact string pattern) and behavior at boundaries. No output schema to compensate.

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?

Single parameter 'lines' with default 10 is clarified by description as number of lines above and below. Schema coverage is 0% but description adds minimal value beyond 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 returns lines above and below the cursor with 1-based line numbers, distinguishing it from sibling getters like get_file_content or get_selection.

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?

No explicit when-to-use or alternatives provided. Usage is implied for obtaining context around cursor, but no guidance on when to prefer this over similar getters.

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

get_encodingA

Return the character encoding of the active file.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

Lacking annotations, the description should disclose behavior like return format (e.g., string) or failure handling. It only states the function, which is minimal but acceptable for a simple query tool.

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, efficient, no unnecessary words. Properly front-loaded.

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, no return type mentioned. For a simple getter, the description is minimal but could specify the return value is a string like 'UTF-8'.

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, and schema coverage is 100%, so baseline is high. Description adds no parameter info, which is fine as none exist.

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 ('Return') and the resource ('character encoding of the active file'), making it unambiguous. It distinguishes itself from sibling getters like get_active_file or get_line_count.

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

Usage Guidelines2/5

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

No guidance on when to use or avoid this tool. It does not compare with alternatives or specify prerequisites (e.g., 'active file' must exist).

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

get_file_contentB

Return the full content of an already-open file by its path.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It discloses that the file must be already open, which is a key behavioral constraint. However, it doesn't mention performance, size limits, or error behavior, leaving gaps.

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 with no wasted words. Front-loads the action and resource. Efficient.

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 the tool's simplicity (1 param, no output schema), the description covers the basic purpose but lacks details on return value format and error handling. Adequate but not complete.

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

Parameters2/5

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

Only one parameter 'path' with 0% schema description coverage. The description only says 'by its path' without clarifying format (relative/absolute) or constraints, failing to compensate for the schema gap.

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 verb (Return), resource (full content of an already-open file), and method (by its path). It distinguishes from siblings like get_view_content or get_selection.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool vs alternatives (e.g., get_view_content, get_active_file). Implies it's for open files, but doesn't name alternatives or exclusions.

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

get_layoutA

Return the current window layout (groups, cells) and which files are in each group.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

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

No annotations provided, so the description carries the full burden. It correctly indicates the tool returns information without side effects. Could mention that it does not modify state, but it's sufficiently clear.

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, front-loaded sentence with no unnecessary words. Every part adds value.

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 parameters and no output schema, the description adequately explains what the tool returns. It might be slightly improved by noting the data structure, but it's sufficient for a simple getter.

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?

The tool has no parameters, so schema coverage is 100%. The description adds meaning by specifying what the return value includes (groups, cells, files per group).

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 ('Return') and the resource ('current window layout') with specific details about the content (groups, cells, files in each group). It distinguishes from sibling tools like 'set_layout' and other getters.

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?

No explicit guidance on when to use this tool versus alternatives. While usage is implied as a simple getter, the description lacks context such as prerequisites or exclusions.

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

get_line_countA

Return the total number of lines in the active file.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. The description only states the return value but does not mention important details such as whether it counts only visible lines, includes blank lines, or what happens when no file is active. This omission limits the agent's ability to infer side effects or dependencies.

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, front-loaded sentence that conveys the core functionality without any superfluous words. Every word contributes to understanding the tool's 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 the tool's simplicity (no parameters, no output schema), the description is largely complete. However, it lacks details about edge cases (e.g., behavior when no file is active) and does not leverage annotations or specify return value types, which could improve completeness.

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?

The tool has no parameters, and the input schema is empty. The description does not need to add parameter information. With zero parameters, the baseline is 4, and the description accurately conveys the return value without requiring parameter semantics.

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 returns the total number of lines in the active file. The verb 'return' and resource 'total number of lines' are specific, and the context 'in the active file' distinguishes it from other 'get_' tools that return different aspects of the file.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like get_view_content. It does not specify prerequisites (e.g., an active file must exist) or any usage restrictions. This lack of context may lead to misuse.

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

get_menu_itemsA

List installed menu items from *.sublime-menu resources. Optional filters: menu filename, caption substring, or command id substring.

ParametersJSON Schema
NameRequiredDescriptionDefault
menuNo
captionNo
commandNo

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description conveys the read-only nature ('List') and the filtering capabilities. It does not detail output format or edge cases, but covers essential behavioral aspects.

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 convey the purpose and parameters without waste. The description is front-loaded with the action and resource.

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 annotations and no output schema, the description covers the tool's function and parameters adequately. It could mention return format but is sufficient for a simple listing tool.

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 0% description coverage, but the description explains all three parameters as optional filters: menu filename, caption substring, command id substring. This adds crucial meaning 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 verb 'List' and the resource 'menu items from *.sublime-menu resources' clearly specify the action and target. This distinguishes it from siblings like get_commands or get_symbols, which target different resources.

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 states the tool lists menu items with optional filters, implying usage for retrieving menu items. It does not explicitly state when not to use or name alternatives, but the sibling context provides enough distinction.

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

get_open_filesA

List all files open in the current window (path, name, is_dirty).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. Only states action and output fields; no disclosure of behavior like whether it triggers a refresh or performance note.

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, front-loaded with verb and resource. Every word serves a purpose; 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 zero parameters, no output schema, and no annotations, the description fully specifies tool behavior and return structure. No gaps.

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?

No parameters exist; schema coverage is 100%. Description adds value by outlining returned fields, which is sufficient for a parameterless tool.

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 uses specific verb 'List' and resource 'files open in current window', and explicitly mentions returned fields (path, name, is_dirty). It distinguishes from siblings like get_active_file which focuses on a single file.

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?

No explicit when-to-use or when-not-to-use guidance is provided, but the context is implicitly clear. For a simple list tool, this is acceptable but lacks explicit alternatives.

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

get_output_panelA

Return the text content of an output panel. If name is omitted, read the active output panel. Use name='exec' for build output.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo

TDQS

A4/5.0
Behavior2/5

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

No annotations exist, so the description carries the full burden. It mentions only the return value and default behavior but does not disclose side effects, error handling, or permission requirements. Insufficient for a tool that could fail if the panel does not exist.

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 sentences, first states main purpose, second provides usage nuance. No wasted words, front-loaded for quick understanding.

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 simplicity and the presence of many sibling tools, the description covers essential aspects. No output schema, but return content is straightforward. Slight gap in error behavior for invalid names.

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?

With 0% schema description coverage, the description adds crucial meaning: explains default behavior (active panel) and provides a specific valid value ('exec'). While it doesn't list all possible names, it compensates adequately for the schema gap.

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?

Clearly states 'return the text content of an output panel' with a specific verb and resource. Distinguishes from sibling 'get_active_panel' by focusing on text content and providing a specific named use case.

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?

Provides clear guidance on when to omit the name (to read the active panel) and when to use 'name=exec' (for build output). Lacks explicit when-not or alternative tools, but the context is sufficient for most use cases.

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

get_project_dataA

Return the raw .sublime-project JSON data for the current project.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavior. It states 'return', implying a read operation, but does not mention non-destructiveness, required permissions, or what constitutes 'current project'. The description is minimal and leaves behavioral assumptions to the agent.

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, perfectly front-loaded.

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 parameters, no output schema, and no annotations, the description adequately defines the tool's purpose and output. It could be improved by clarifying the scope of 'current project' or the JSON structure, but it is sufficient for a simple read operation.

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?

The tool has zero parameters, and the schema coverage is 100%. The description adds no parameter details, but the baseline for 0 parameters is 4.

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 specifies the verb 'return', the resource 'raw .sublime-project JSON data', and the context 'current project', distinguishing it from siblings that operate on files, views, or settings.

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 implies usage for retrieving project data but provides no explicit guidance on when to use this tool versus alternatives like get_project_folders or other project-related tools.

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

get_project_foldersB

Return the project's root folder paths.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist, so the description must disclose behavior. It implies a read-only operation but does not mention performance, errors, or access requirements.

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 with no wasted words. Front-loaded with the core action.

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?

Minimally adequate for a zero-parameter tool, but lacks details on return type (e.g., array of strings) and possible errors.

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?

There are no parameters, so schema coverage is effectively 100%. Baseline score of 4 is appropriate.

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 returns root folder paths with a specific verb and resource. It distinguishes from siblings that add or remove folders, but could be more explicit about the return format.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like get_project_data. No mentions of when not to use it.

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

get_scope_at_cursorA

Return the full syntax scope string at the cursor position.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It indicates a read operation returning a string, but does not disclose error handling, performance implications, or special cases (e.g., empty cursor). While adequate for a simple retrieval, it omits behavioral details that could impact agent decision-making.

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 sentence that is front-loaded and contains no extraneous information. Every word is necessary, meeting the standard for conciseness.

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 and no parameters, the description adequately explains what the tool does. However, it lacks details on the string's format or potential edge cases, which could be important for an agent interpreting the result. Still, for a simple getter, it is largely complete.

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?

There are no parameters; schema coverage is trivially 100%. The description adds meaning by specifying that the output is a 'full syntax scope string', which clarifies what the tool returns beyond the schema's lack of detail. Given no parameters, this is well-handled.

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 verb 'return', the resource 'full syntax scope string', and the location 'at the cursor position'. It effectively distinguishes from sibling tools like get_word_at_cursor or get_cursor_context by specifying the exact scope information retrieved.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like get_cursor_context or get_selection. The description lacks any context or exclusions, leaving the agent without direction on tool selection among many similar get_* siblings.

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

get_selectionA

Return the current selection(s): text and begin/end line+col for each.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It states it returns selection(s) and their properties, but does not disclose behavior for edge cases (e.g., no selection, empty selection) or confirm read-only nature.

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 sentence with no wasted words, front-loading the key action and result. Every word adds value.

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?

For a tool with zero parameters and no output schema, the description adequately explains the return value. It covers the main aspects (text and position), though would benefit from mentioning the data structure or empty state.

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?

There are zero parameters, so schema coverage is 100% trivially. The description adds meaning by detailing the returned fields (text, line+col), which is valuable given no output 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 what the tool returns (text and begin/end line+col for each selection) and uses specific verbs ('Return') with resource ('current selection(s)'), distinguishing it from siblings like get_cursor_context.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., get_cursor_context, get_word_at_cursor), and no when-not-to-use or prerequisite information is given.

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

get_settingB

Get a Sublime Text setting by key. scope='view' (default) or 'window'.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
scopeNoview

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only mentions the scope parameter but does not explain behavior for missing keys, whether it is read-only, or any side effects.

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, consisting of one sentence and a brief clarification on scope. Every element provides necessary context without redundancy.

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?

The description lacks information about the return value format, which is not covered by an output schema. It also omits details on error handling or edge cases, leaving the agent with incomplete knowledge.

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 description adds the default value and allowed values for 'scope' ('view' or 'window'), which is not evident from the schema alone. However, it does not elaborate on the format or constraints of the 'key' parameter.

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 retrieves a Sublime Text setting by key, distinguishing it from other 'get_*' siblings that retrieve different resources. The inclusion of the 'scope' parameter details further clarifies the functionality.

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

Usage Guidelines2/5

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

The description does not provide guidance on when to use this tool over alternatives, such as when to use 'set_setting' or other retrieval tools. No exclusions or prerequisites are mentioned.

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

get_symbolsA

Return all symbols (functions, classes, etc.) in the active file with line numbers.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/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 convey behavioral traits. It indicates the tool is read-only (returns symbols) and limited to the active file, but does not disclose any side effects, authorization needs, or rate limits. The basic safety is implied but not explicit.

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, front-loaded sentence of 12 words. It contains all essential information without any fluff. Every word earns its place.

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 simplicity of the tool (no parameters, no output schema), the description covers the core functionality: return symbols and line numbers. It could mention the return format (e.g., array of objects) for completeness, but it is still adequate for a basic retrieval 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?

The input schema has 0 parameters, and schema description coverage is 100% (trivial). Per guidelines, baseline is 4 for 0 parameters. The description adds no parameter information because none exist, which is acceptable.

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 verb 'Return' and the resource 'all symbols (functions, classes, etc.) in the active file with line numbers'. It specifies the scope (active file) and the result includes line numbers, which distinguishes it from sibling tools like lookup_symbol (for finding a specific symbol) or get_variables (likely for variables only).

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 implies usage when a list of all symbols in the active file is needed, but it does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions. Given the many sibling tools, some contextual advice would improve score.

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

get_syntaxesA

List all syntax definitions available in Sublime Text (name + path).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations provided. Description implies a simple read operation but does not explicitly state read-only nature or any other behavioral traits beyond listing.

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?

Extremely concise single sentence with front-loaded action and clear output description. No wasted 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?

Sufficient for a simple no-param tool without output schema. Could mention if list is sorted or includes hidden syntaxes, but otherwise complete.

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; schema coverage is 100%. Description adds no param info needed. Baseline 4 for 0-param tools.

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 verb 'List', resource 'syntax definitions', and specifies output includes 'name + path'. Distinguishes from siblings like get_symbols, get_commands.

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?

No explicit guidance on when to use this tool vs alternatives. Implicitly for listing all syntaxes, but no when-not or alternative tool mentions.

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

get_variablesA

Return Sublime Text's build variables: $file, $project_path, $platform, etc.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/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 bear the full burden of behavioral disclosure. It states the tool returns build variables, which implies a read-only operation, but it does not specify the return format (e.g., list, dictionary) or whether it has any side effects. Additional context about the returned structure would improve 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?

The description is a single concise sentence that immediately communicates the tool's purpose. It contains no fluff and is front-loaded with the key action and resource.

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 the tool's low complexity and lack of parameters, the description is mostly adequate but lacks explicit detail on the return format (e.g., whether it returns a list, dictionary, or string). A more complete description would state the data structure of the output.

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?

The tool has zero parameters, so the schema coverage is 100%. The baseline for 0 parameters is 4, and the description does not need to add parameter information. The brief list of examples adds minimal extra value 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 returns Sublime Text's build variables and lists concrete examples like $file and $project_path. It uses a specific verb ('Return') and resource, making the purpose unambiguous. It also naturally distinguishes from sibling tools like get_setting or get_symbols.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description does not mention use cases, prerequisites, or when not to use it. Sibling tools like get_setting serve different purposes but no explicit comparison is provided.

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

get_view_charsA

Return text at character offsets begin..end (0-based, end exclusive) from any open tab. Works for Terminus tabs and any other view. Clamps to buffer bounds automatically. Use get_view_size first, then e.g. begin=size-5000, end=size to read the last 5000 chars. Omit name for the active view.

ParametersJSON Schema
NameRequiredDescriptionDefault
beginYes
endYes
nameNo

TDQS

A4.4/5.0
Behavior4/5

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

No annotations provided, but description discloses key behaviors: 0-based offsets, end-exclusive, clamps to buffer bounds, works for Terminus tabs and any view. This is sufficient for a read-only tool.

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 with no fluff, front-loaded with the core function. Every sentence adds value.

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?

No output schema, but description implies it returns the text string. For a simple range retrieval, the description covers necessary details and usage patterns.

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 has 0% description coverage, but description adds meaning: begin/end are character offsets (0-based, exclusive), and name is optional (defaults to active view). This clarifies usage beyond schema types.

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 returns text from any open tab at given character offsets, which is specific and distinguishes it from siblings like get_view_content (full content) and get_view_size (length).

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?

It advises to use get_view_size first to read the last 5000 chars and notes to omit name for the active view. This provides practical guidance, though it does not explicitly mention when not to use it.

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

get_view_contentA

Return the full content of any open tab by name (partial match, case-insensitive). Works for Terminus tabs and other nameless views that have no file path. Omit name to read the active view.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses partial/case-insensitive matching, support for nameless views, and default behavior. This is transparent for a read-only retrieval tool, though it doesn't detail potential errors or read-only nature explicitly.

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 adding distinct value: core purpose, expanded context, and usage variant. No redundant or missing information, perfectly concise.

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 (1 optional param, no output schema), the description fully covers what the tool does, how to use it, and special cases. Nothing essential is missing.

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 only parameter 'name' is explained in detail: it's a string for tab name, partial match, case-insensitive, and omitting returns active view. This adds substantial meaning beyond the schema which has no description and only type 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 tool returns the full content of an open tab, with details on name matching (partial, case-insensitive) and handling of nameless views, distinguishing it from siblings like get_file_content.

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?

Guidance is provided on when to omit name for active view. It also mentions applicability to Terminus tabs and nameless views, implicitly guiding away from get_file_content. Lacks explicit when-not-to-use but is clear enough.

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

get_view_phantomsB

Return phantom HTML and extracted text from a view by name. If key is omitted, defaults to the common 'pybackup' phantom key.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
keyNo

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description carries the burden of transparency. It reveals that the tool is read-oriented ('Return') and notes a default key, but does not disclose potential side effects, permission requirements, or error conditions, leaving significant gaps.

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 two sentences, the first stating the core purpose and the second adding a key default. No wasted words, front-loaded.

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?

Given no output schema, the description should explain the return format but does not. It also omits any mention of whether 'name' is required or optional, and lacks error handling or usage constraints, making it incomplete for a tool with two optional-looking parameters.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate. It adds meaning for 'key' (defaults to 'pybackup') but not for 'name' beyond restating 'by name'. This fails to fully explain both parameters' purpose and constraints.

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 the tool returns phantom HTML and extracted text from a view by name. It distinguishes from siblings like 'get_view_content' by specifically mentioning 'phantoms', but does not explicitly differentiate from other get_ tools.

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 provides a default behavior for the 'key' parameter when omitted, which is helpful. However, it offers no guidance on when to use this tool versus alternatives (e.g., get_view_content), leaving the agent to infer context.

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

get_view_sizeA

Return the total character count of any open tab by name (partial match, case-insensitive). Use before get_view_chars to compute offsets — e.g. begin=size-5000, end=size for the tail. Omit name for the active view.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so the description bears full burden. It discloses partial matching, case-insensitivity, and default active view behavior. However, it does not mention error conditions, performance, or what happens if no view matches.

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 with no unnecessary words. The main action is front-loaded, and the example and usage hint are concise. Every sentence earns its place.

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 the return value (character count). It provides enough context for typical use, though it could specify the return format or error handling. Sibling differentiation is implicit via usage guidance.

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?

The input schema has no descriptions (0% coverage), but the tool description explains the 'name' parameter's purpose, partial matching, and default behavior. This adds significant meaning beyond the schema alone.

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 verb 'Return', the resource 'total character count of any open tab', and the method 'by name (partial match, case-insensitive)'. It distinguishes the tool's purpose from siblings like get_view_chars.

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 using this tool before get_view_chars to compute offsets, with a concrete example. Also specifies when to omit the name parameter. Lacks explicit when-not-to-use or alternatives, but provides clear context.

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

get_word_at_cursorA

Return the word under the cursor and its line/col.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are present, so the description must disclose all behavioral traits. It does not mention side effects, permissions, or whether the tool is read-only. The simple statement does not cover what happens in edge cases (e.g., no word at cursor).

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, short sentence that directly conveys the tool's purpose without any fluff. It is optimally concise.

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 the tool' s simplicity (no parameters, no output schema), the description could be considered adequate but lacks detail on return format or edge cases. It is minimally complete but not rich.

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?

The tool has zero parameters, so the baseline score is 4. The description adds no parameter information, but none is needed.

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 returns the word under the cursor along with its line and column. This is specific and distinguishes it from siblings that return different cursor context (e.g., get_cursor_context, get_selection).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like get_cursor_context or get_selection, nor any conditions or prerequisites for its use.

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

goto_lineB

Move the cursor to a line (and optional column) in the active file.

ParametersJSON Schema
NameRequiredDescriptionDefault
lineYes
colNo

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states the basic action. It does not disclose behavior for edge cases (e.g., out-of-range line, inactive file, multiple cursors) or indicate if the tool is safe (non-destructive).

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 sentence of 10 words, with no redundant information. It is front-loaded and efficient.

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?

For a simple two-parameter tool, the description is moderately complete but leaves gaps in parameter semantics and behavioral traits. Given no output schema, the description could be more thorough.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must add meaning. It mentions the parameters 'line' and 'col' but does not clarify indexing (1-indexed vs 0-indexed), valid ranges, or the effect of the default 'col' value.

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 ('Move the cursor') and the resource ('to a line (and optional column) in the active file'). It is specific and distinguishes from sibling tools like 'select_lines' or 'get_line_count'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, situations to avoid, or compare with other navigation tools.

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

insert_snippetA

Insert a snippet at the cursor using Sublime Text's snippet syntax (e.g. $1 for tab stops).

ParametersJSON Schema
NameRequiredDescriptionDefault
contentsYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description discloses the core behavior (insert snippet with tab stops) but omits details like side effects or prerequisites. It is adequate but minimal.

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 sentence that front-loads the action and provides necessary context without waste.

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, the description is sufficient for a simple parameter but does not explain return values or edge cases, leaving some 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?

The description adds meaning to the 'contents' parameter by providing an example ('e.g. $1 for tab stops'), which compensates for the 0% schema coverage and clarifies the expected format.

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 'Insert a snippet at the cursor' with a specific verb and resource, and gives an example of the snippet syntax, effectively distinguishing it from other editing tools in the sibling list.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like replace_selection or open_file. The description provides no context for choosing this tool.

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

lookup_symbolC

Find where a symbol is defined across all open files.

ParametersJSON Schema
NameRequiredDescriptionDefault
symbolYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, description must disclose behaviors. It notes 'across all open files' but fails to mention read-only nature, performance impact, or return format.

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

Conciseness4/5

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

One short sentence is concise and front-loaded, but could benefit from minor expansion without adding unnecessary length.

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?

Lacks output schema and does not describe return value structure or behavior nuances like scope or case sensitivity, making it incomplete for a search tool.

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

Parameters2/5

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

The single parameter 'symbol' is described only by name and type; no explanation of format (e.g., exact name vs. partial match) or examples, leaving the agent guessing.

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 finds definitions across all open files, using a specific verb and resource, distinguishing it from siblings like get_symbols or find_in_files.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like get_symbols or find_in_files, nor any when-not-to-use instructions.

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

open_fileB

Open a file in Sublime Text, optionally jumping to a specific line and column.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
lineNo
colNo

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description provides minimal behavioral insight. It does not reveal whether opening a new tab or focusing an existing tab, what happens if the file doesn't exist, or any side effects.

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 sentence that front-loads the primary action and concisely adds the optional feature. No wasted 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?

For a simple tool with 3 parameters and no output schema, the description covers the basic action but omits important context like behavior when file is already open, error handling, or return value. It meets minimal viability.

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 0%, so the description adds meaning by clarifying that 'line' and 'col' parameters are for optional jumping. However, the 'path' parameter lacks any elaboration, leaving its purpose implied.

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 verb 'Open' and the resource 'a file in Sublime Text', and explicitly mentions optional line and column jumping. It distinguishes from sibling tools that close, read, or save files.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives like 'get_file_content' or 'close_file'. There is no mention of when-not to use or preferred contexts.

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

redoA

Redo the last undone edit in the active file.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/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 convey all behavioral traits. It states what the tool does but does not disclose behavior when there is no undone edit or other edge cases.

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, front-loaded sentence with no superfluous information. It is concise and effectively communicates the tool's function.

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?

For a simple tool with no parameters and no output schema, the description adequately covers its purpose. However, it lacks details on handling edge cases (e.g., no undone edit), which could improve completeness.

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?

There are no parameters, so the input schema is trivial. The description adds no parameter information, which is acceptable given no parameters exist.

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 (redo) and the specific resource (the last undone edit in the active file). It distinguishes itself from the sibling tool 'undo'.

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 implicitly indicates usage after an undo operation, but it does not explicitly state when not to use it or mention alternative tools.

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

remove_folderC

Remove a folder from the current project by path.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided. The description only states the action 'Remove' without disclosing behavioral traits such as reversibility, permission requirements, or whether it deletes recursively. Minimal transparency beyond the verb.

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

Conciseness4/5

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

One concise sentence front-loaded with the action. Efficient but misses important details, so it is not a model of completeness.

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?

For a deletion tool with one required parameter and no output schema, the description lacks information about return values, error cases, or side effects. Incomplete for effective usage.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate. It adds 'by path' but does not clarify path format (relative/absolute), allowed values, or error handling if the folder doesn't exist. Barely adds value 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 verb 'Remove' and the resource 'folder from the current project by path.' It distinguishes from siblings like add_folder (opposite) and open_file (unrelated).

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like add_folder or open_file. The description implies it works on the current project but does not specify prerequisites or exclusions.

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

replace_linesB

Replace lines begin through end (inclusive, 1-based) in the active file with text. Pass path to target a specific open file regardless of which tab is focused.

ParametersJSON Schema
NameRequiredDescriptionDefault
beginYes
endYes
textYes
pathNo

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, so the description bears full responsibility. It does not disclose whether the operation is destructive, what happens if the file is not open, if undo is supported, or the safety profile (e.g., no mention of confirmation).

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 filler words. Every part earns its place, making it easy to parse quickly.

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?

For a simple line replacement tool with no output schema, the description covers the basics but omits important context like error handling (e.g., out-of-range lines), impact on undo stack, and concurrency (e.g., multiple files). Adequate but not thorough.

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?

With 0% schema coverage, the description adds significant value: it explains that 'begin' and 'end' are 1-based and inclusive, and that 'path' targets a specific open file. The 'text' parameter is implied by 'with text'. This covers all four parameters effectively.

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 the action ('Replace lines') and the resource ('in the active file with text'), and specifies the range is inclusive and 1-based. It distinguishes from sibling tools like 'replace_selection' by focusing on line ranges.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'replace_selection' or 'insert_snippet'. The only usage hint is about using the 'path' parameter to target a specific file, but no exclusions or when-not-to-use advice.

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

replace_selectionC

Replace the current selection(s) with text.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes

TDQS

C2.7/5.0
Behavior2/5

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

The description implies a destructive mutation (replacing text) but provides no details on side effects, undo behavior, or requirements (e.g., whether the selection must exist). No annotations are present to clarify safety.

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

Conciseness4/5

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

The description is a single sentence with no wasted words. It is appropriately concise for a simple tool, though it could include more structure or detail without becoming verbose.

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?

Given the tool's simplicity (1 parameter, no output schema, no annotations), the description provides the bare minimum. It omits behavioral context like whether it overwrites or requires an active selection, which is needed for complete understanding.

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

Parameters2/5

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

With 0% schema description coverage, the description must compensate but only says 'with text', not explaining the 'text' parameter's role, constraints, or format. The parameter is required, but the description adds no semantic value beyond the schema.

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 the action ('replace') and the resource ('current selection(s)') and specifies what the replacement is ('with text'). It distinguishes from siblings like replace_lines or insert_snippet, but could explicitly differentiate from them.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as replace_lines or insert_snippet. There is no mention of when not to use it or any prerequisites.

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

revert_fileA

Revert the active file to its last saved state, discarding unsaved changes.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

The description explicitly discloses that the tool discards unsaved changes, which is the key behavioral trait. Since no annotations exist, the description adequately conveys the destructive nature of the action.

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, front-loaded with the core action, no redundant 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?

For a zero-parameter tool with no output schema, the description fully explains the action and its effect.

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?

The tool has no parameters and the schema coverage is 100%. No additional parameter information is needed.

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 verb 'revert', the resource 'active file', and the effect 'discarding unsaved changes'. It distinguishes the tool from siblings like close_file, save_file, and undo.

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?

No explicit guidance on when to use this tool vs alternatives. The description implies usage for discarding unsaved changes, but lacks direct when-to-use or when-not-to-use context.

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

run_buildC

Trigger the current build system, or pass cmd/shell_cmd to run a specific command.

ParametersJSON Schema
NameRequiredDescriptionDefault
cmdNo
shell_cmdNo
working_dirNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided. The description only states the action (trigger/run) without disclosing behavioral traits such as whether execution is synchronous, side effects, error handling, or required permissions. The absence of safety information is a gap for a tool that executes commands.

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

Conciseness3/5

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

The description is a single sentence, which is concise but lacks structure. It front-loads the main action but omits important details. It is adequate for a minimal viable description but does not earn higher marks due to brevity at the cost of completeness.

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?

No output schema is provided, and the description does not explain what the tool returns or any side effects. For a tool with 3 parameters and no schema descriptions, the description is incomplete. Additional context about build system behavior or command execution results is missing.

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

Parameters2/5

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

Schema description coverage is 0%. The description partially explains 'cmd' and 'shell_cmd' as ways to run specific commands, but 'working_dir' is not mentioned. The distinction between 'cmd' (array) and 'shell_cmd' (string) is not clarified, nor are any constraints or formats.

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 indicates the tool triggers the current build system or runs a specific command via cmd/shell_cmd. The verb 'trigger' and 'run' are specific, and the resources (build system, specific command) are identified. However, it does not differentiate from sibling tool 'run_command', which likely overlaps, and 'current build system' is somewhat vague.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like 'run_command'. No explanation of when to use 'cmd' vs 'shell_cmd', or the role of 'working_dir'. The description lacks contextual decision-making help.

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

run_commandC

Run any Sublime Text command. scope='window' (default) or 'view'.

ParametersJSON Schema
NameRequiredDescriptionDefault
commandYes
argsNo
scopeNowindow

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits like side effects, return value, or error handling. It only mentions the scope parameter and that it runs commands, lacking details about what happens on invalid commands or whether it is destructive.

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

Conciseness4/5

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

The description is a single sentence, which is concise and front-loaded with the main purpose. However, given the tool's complexity, a bit more structure could be beneficial, but it remains efficient.

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?

The description is incomplete for a tool with 3 parameters and nested objects. It lacks information on how to use args, available commands, return value, and potential side effects. The sibling tool get_commands is not referenced to help fill gaps.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate. It only clarifies that scope can be 'window' or 'view', but does not explain the 'command' parameter or the 'args' object, which is a significant gap.

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 any Sublime Text command, which is a specific verb and resource. It distinguishes from siblings like get_commands (which lists commands) and get_command_palette (which shows the palette).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives, such as get_commands to find command names or eval_python for Python evaluation. The description is too brief to inform agent decision-making.

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

save_allB

Save all open files.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden. It only states that files are saved, but omits critical behavioral details such as whether the operation is atomic, what happens on failure, whether a confirmation prompt appears, or what the return value indicates. A more transparent description would note side effects or state changes.

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: four words serve as a complete and clear statement. Every word earns its place without any filler. The structure is front-loaded and immediately understandable.

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?

The tool is simple (no parameters, no output schema), yet the description lacks completeness. For instance, it does not explain what happens if no files are open, whether the tool returns a success/failure indicator, or if it triggers any side effects (e.g., format on save). More context would make the agent more confident in using 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?

The input schema has no properties (0 parameters), so schema description coverage is trivially 100%. The description adds no additional meaning beyond the schema, which is acceptable given the absence of parameters. The 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 'Save all open files' uses a specific verb ('save') and resource ('all open files'), clearly distinguishing it from siblings like 'save_file' (single file) and 'close_file' (close action). It leaves no ambiguity about the tool's primary function.

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

Usage Guidelines2/5

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

No usage guidance is provided. The description does not specify when to use this tool versus alternatives (e.g., save_file for individual files), nor does it mention any prerequisites or warnings about potential data loss or conflicts. The agent must infer context from the tool name alone.

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

save_fileA

Save a file. Pass path to save a specific open file; omit path to save the active file.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo

TDQS

A4/5.0
Behavior3/5

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

No annotations provided; description carries the burden. It states 'Save a file,' implying a write operation. It does not disclose potential side effects, overwrite behavior, or permission requirements. For a straightforward save operation, this is minimally adequate but lacks detail.

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 sentences with front-loaded purpose. No wasted words; every sentence serves a clear function.

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 simplicity (one optional parameter, no output schema), the description covers the essential usage. It lacks details about error conditions or what happens if the path is invalid, but for a basic save operation it is fairly 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?

Schema coverage is 0%, so description must compensate. It adds meaning by explaining that 'path' identifies a specific open file, and omitting it saves the active file. However, it does not specify path format (absolute/relative) or constraints, so it adds some but not full value.

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 verb 'Save' and resource 'file', and distinguishes between saving a specific open file (with path) and the active file (without path). This differentiates it from the sibling tool 'save_all' which saves all open files.

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?

Provides clear guidance: 'Pass path to save a specific open file; omit path to save the active file.' This explicitly tells when to provide the parameter versus not. However, it does not discuss when not to use this tool or compare to alternatives like save_all.

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

select_linesA

Select lines begin through end (1-based, inclusive). end defaults to begin.

ParametersJSON Schema
NameRequiredDescriptionDefault
beginYes
endNo

TDQS

A3.8/5.0
Behavior2/5

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

No annotations provided; description does not disclose behavioral traits such as whether selection replaces current selection, impacts UI, or requires permissions. Minimal burden falls on description.

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 with no wasted words. Front-loaded with action and parameters, then default behavior. Highly efficient.

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 simplicity (no output schema, 2 params), description covers essential semantics. However, missing context like what 'select' means (e.g., does it set a selection state or return data?) could be clarified for completeness.

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?

Adds meaningful info beyond schema: 'begin' is 1-based inclusive, 'end' defaults to 'begin', and both params range over line numbers. Schema has 0% description coverage, so description compensates well.

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?

Clearly states the tool selects lines within a range, with 1-based inclusive indices. Differentiates from siblings like 'fold_lines' or 'goto_line' by specifying a selection action.

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?

Provides basic functionality but no explicit guidance on when to use this tool over alternatives like 'get_selection' or 'goto_line'. Implied usage for line range selection is clear.

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

send_to_viewA

Send a string to any open tab by name (partial match, case-insensitive). For Terminus tabs this types the text into the terminal as if the user typed it. Include a trailing newline (\n) to execute a command. Omit name to target the active view.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
nameNo

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses terminal typing behavior, partial name matching, and trailing newline requirement, but doesn't cover failure modes (e.g., if no tab matches) or potential side effects (e.g., overwriting unsaved content).

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 the core action, then specific details. No wordiness, every sentence adds essential info.

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 moderate complexity, no output schema, and 57 sibling tools, the description covers key aspects: purpose, parameter behavior, terminal special case, and default target. Could mention error handling, but overall sufficient.

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 0%, so the description must compensate. It explains 'text' as the string to send and 'name' as optional tab name with partial/case-insensitive matching, plus the trailing newline convention. This adds significant value 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 sends a string to open tabs by name, with partial-match case-insensitive matching. It distinguishes from siblings like insert_snippet (which inserts at cursor) or run_command (which executes ST commands) by focusing on sending text to a view's content, especially terminals.

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 explicit context: how to execute a command (trailing newline), special behavior for Terminus tabs, and that omitting name targets the active view. It doesn't specify when not to use it, but the guidance is clear enough for typical usage.

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

set_encodingB

Set the character encoding of the active file (e.g. 'UTF-8', 'Western (Windows 1252)').

ParametersJSON Schema
NameRequiredDescriptionDefault
encodingYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided, and the description only states the action without disclosing any side effects, permissions, or safety implications. For a tool that modifies file state, more behavioral context is needed.

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, 12 words, no redundancy. Every word is functional.

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?

For a simple tool with one parameter and no output schema, the description covers the essential purpose and provides examples. Could optionally mention that it only affects the active file but that's implied.

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 0%, but the description provides example encoding values (UTF-8, Western Windows 1252), adding some meaning beyond the raw schema. However, no constraints or allowed values are specified.

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 sets character encoding of the active file, with specific examples. It distinguishes itself from siblings like get_encoding.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, no prerequisites or conditions mentioned. With many sibling tools, this is a gap.

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

set_layoutB

Set the window pane layout. layout must be a ST layout dict with cols, rows, cells keys.

ParametersJSON Schema
NameRequiredDescriptionDefault
layoutYes

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden. It does not disclose behavioral traits such as whether setting the layout is destructive, requires specific permissions, or affects other components. The description is minimal.

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

Conciseness4/5

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

The description is very concise (one sentence) and front-loads the purpose. However, it could be improved by briefly explaining what the dict keys mean or the effect on the window pane.

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 the absence of an output schema and the simplicity of the tool (single parameter), the description provides adequate context for usage. However, it lacks information on return values or error conditions, which is acceptable for a setter but could be more complete.

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?

The input schema only defines 'layout' as an object with additionalProperties: true, providing no semantic clues. The description adds critical meaning: 'layout must be a ST layout dict with cols, rows, cells keys.', which significantly helps the agent understand the expected structure.

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 the tool's purpose: 'Set the window pane layout.' It specifies the required structure (ST layout dict with cols, rows, cells keys), but does not explicitly differentiate it from sibling tools like 'get_layout', which is its counterpart.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It only describes what the tool does and the required format, without mentioning prerequisites or situations where this tool is appropriate.

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

set_settingB

Set a Sublime Text setting by key. scope='view' (default) or 'window'.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
valueYes
scopeNoview

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It only mentions scope and default, but fails to state that the tool modifies settings (persistence), permissions required, error behavior, or side effects. For a mutation tool, this is insufficient.

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

Conciseness4/5

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

The description is extremely concise with one sentence and a scope note. No fluff, but this conciseness sacrifices necessary detail. Still, it is front-loaded and 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?

Given the lack of annotations, output schema, and parameter descriptions, the description is too short to be complete. It does not specify valid keys, value types, persistence behavior, error cases, or relationship to get_setting. The tool requires more contextual information for reliable use.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate for missing parameter explanations. It only adds context for 'scope' (options: view/window) but provides no details on valid 'key' names, value formats, or how values are interpreted. The description adds minimal value over the schema titles.

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 (Set) and the resource (Sublime Text setting by key). It differentiates from sibling tools like get_setting and other 'set' tools (set_encoding, set_layout) by specifying general settings rather than specific ones.

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 provides only the scope parameter options ('view' or 'window') but no guidance on when to use this tool versus alternatives like get_setting (for reading) or other 'set' tools. Implicit differentiation exists via sibling names, but explicit usage context is missing.

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

set_statusC

Write a message to Sublime Text's status bar.

ParametersJSON Schema
NameRequiredDescriptionDefault
valueYes
keyNosublime_mcp

TDQS

C2.7/5.0
Behavior2/5

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

No annotations provided, and the description fails to disclose behavioral traits such as whether previous messages are overwritten, rate limits, or permission requirements. The single sentence provides minimal behavioral context.

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

Conciseness3/5

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

The description is a single short sentence, but it lacks completeness. It is concise but under-informative, wasting the opportunity to convey more context without adding verbosity.

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?

Given the absence of an output schema, two parameters (one undocumented default), and many sibling tools, the description is too sparse. It does not cover return values, side effects, or error cases, leaving significant gaps.

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 0%, and the description adds no meaning beyond the parameter names. The 'key' parameter's purpose (default 'sublime_mcp') is unexplained, and 'value' is just a string message.

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 verb 'write' and the target resource 'Sublime Text's status bar', distinguishing it from sibling tools like 'set_setting' or 'set_encoding'. It is specific and unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., other 'set_' tools), nor any prerequisites or exclusions. The description leaves the agent to infer context.

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

set_syntaxB

Set the syntax of the active file by name (case-insensitive partial match is fine).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must fully convey behavioral traits. It indicates mutation ('set') but does not disclose side effects, error handling (e.g., if the name does not match), or whether the operation is reversible. The partial-match detail is the only behavioral insight.

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 sentence of 13 words, conveying all essential information without redundancy. Every word contributes to meaning, achieving maximum conciseness.

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 is simple with one parameter, but the description misses important contextual cues: no mention of what happens if the file is not active, if the syntax name is invalid, or that available syntaxes can be discovered via get_syntaxes. The partial-match feature is helpful, but overall completeness is moderate.

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 0%, so the description must compensate. It adds that the name supports case-insensitive partial match, which gives some meaning beyond the schema. However, it does not explain the format, source, or valid values of the name parameter, leaving ambiguity.

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 sets the syntax of the active file by name, with the specific detail of case-insensitive partial matching. This distinguishes it from siblings like get_syntaxes (which lists syntaxes) and set_setting (which sets a different property).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites such as needing to query available syntaxes first via get_syntaxes, nor does it specify when not to use it (e.g., if the file is not active).

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

show_panelA

Bring an output panel to the front. Use name='exec' for the build panel.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoexec

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden for behavioral disclosure. It only states the action (bring to front) without any mention of side effects, failure modes, or other behavioral traits. For instance, it does not clarify whether the panel must already exist or if the action is idempotent.

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 two sentences. The first sentence immediately states the purpose, and the second adds a specific usage hint. No extraneous information is included.

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 description is adequate for a simple tool with one parameter and no output schema. It covers the main use case but lacks details on error handling, panel existence requirements, or other possible name values. It is minimally sufficient but not fully 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?

The schema has 0% coverage on parameter descriptions, so the description must add meaning. It adds the context that 'name='exec' is for the build panel', which gives some semantic value beyond the default value in the schema. However, it does not enumerate other possible panel names or their effects.

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 ('bring... to the front') and the resource ('output panel'). It is specific and distinguishes from sibling tools like 'get_active_panel' or 'get_output_panel' which are for retrieval rather than focusing.

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 guidance for using the tool with the example 'Use name='exec' for the build panel'. This gives clear context for a common use case. However, it does not mention when not to use it or alternatives, but the usage is straightforward enough that this is helpful.

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

sort_linesA

Sort the selected lines (or all lines if nothing is selected).

ParametersJSON Schema
NameRequiredDescriptionDefault
case_sensitiveNo

TDQS

A3.6/5.0
Behavior2/5

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

No annotations provided, so description must convey behavioral traits. It states sorting but does not disclose if it modifies the file persistently, reversible effects, or any side effects.

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 with no wasted words, efficiently conveying the core purpose and scope.

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?

Adequate for a simple tool with one optional parameter, but missing explanation of the parameter limits completeness.

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

Parameters2/5

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

Schema coverage is 0% and description omits the case_sensitive parameter entirely, leaving the agent without additional meaning beyond the schema's boolean type and 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?

Description clearly states the tool sorts lines, specifies scope (selected or all lines), and distinguishes from sibling tools like select_lines or duplicate_line.

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?

Provides clear context on when to use (sort lines) and the behavior based on selection. While it doesn't explicitly exclude alternatives, the guidance is sufficient for a simple tool.

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

toggle_commentA

Toggle line comment (or block comment if block=True) on the current selection.

ParametersJSON Schema
NameRequiredDescriptionDefault
blockNo

TDQS

A4/5.0
Behavior3/5

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

The description explains the toggling behavior and line vs. block comment based on the parameter. However, it does not disclose edge cases like empty selection, multi-line handling, or any side effects. With no annotations, more detail would improve 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?

The description is a single, front-loaded sentence with no unnecessary words. It efficiently conveys the tool's core function and key parameter behavior.

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?

For a simple tool with one boolean parameter and no output schema, the description covers the essential behavior. It could address edge cases like no selection, but overall is mostly complete.

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?

The description explicitly states that setting block=True switches to block comment, which adds meaning beyond the schema's type and default. Since there is only one parameter, this compensation is effective.

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: toggle line or block comment on the current selection. It uses a specific verb and resource, and distinguishes itself from sibling tools like insert_snippet or replace_selection.

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 implies usage when commenting/uncommenting lines or selections, but lacks explicit guidance on when not to use it (e.g., for inline comments) or mention of alternatives. No when/when-not or alternative tool references are provided.

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

toggle_sidebarA

Show or hide the Sublime Text sidebar.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, so the description must fully convey behavioral traits. 'Show or hide' implies a toggle action, but it does not disclose whether this is a read-only operation (e.g., getting current state) or a mutation. No side effects or state changes are described.

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 extraneous information. It is front-loaded and efficiently communicates the tool's 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?

For a zero-parameter, no-output-schema tool, the description is mostly complete. It states the essential action. However, adding context like when the sidebar is initially visible or that it toggles the current state would improve completeness.

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?

The input schema has no parameters, so schema coverage is 100%. The description adds no parameter detail because none are needed. Baseline 4 is appropriate since the tool is trivially parameterless.

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 the action (show or hide) and the target resource (Sublime Text sidebar). It is clear and specific, with no ambiguity. There is no sibling tool with a similar name, so differentiation is not needed.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool vs alternatives. It does not mention typical scenarios, prerequisites, or how to decide between showing and hiding. The agent is left without usage context.

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

undoA

Undo the last edit in the active file.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

Without annotations, the description carries the burden of disclosure. It reveals the tool undoes the last edit in the active file but does not mention limits on undo history, idempotency, or behavior when no edits exist. It is adequate but not comprehensive.

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, concise sentence that contains no superfluous words. It is front-loaded and earns its place.

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 low complexity (no parameters, no output schema), the description is sufficient for an AI agent to understand the basic action. It could be improved by noting the absence of a return value or side effects, but it is still reasonable.

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?

There are no parameters (schema coverage 100%), so the description does not need to add parameter information. The baseline score of 4 is appropriate given the absence of parameters.

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 verb 'Undo' and the resource 'the last edit in the active file'. It effectively distinguishes from sibling tools like 'redo' and 'save_file' by specifying the scope and action.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives (e.g., 'redo') or when not to use it. It lacks contextual cues about prerequisites or conditions.

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. 59 tool updatesv1.0.0
    • First observedadd_folder
    • First observedclose_file
    • First observedduplicate_line
    • First observedeval_python
    • First observedfind_in_file
    • First observedfind_in_files
    • First observedfocus_group
    • First observedfold_lines
    • First observedget_active_file
    • First observedget_active_panel
    • First observedget_bookmarks
    • First observedget_command_palette
    • First observedget_commands
    • First observedget_cursor_context
    • First observedget_encoding
    • First observedget_file_content
    • First observedget_layout
    • First observedget_line_count
    • First observedget_menu_items
    • First observedget_open_files
    • First observedget_output_panel
    • First observedget_project_data
    • First observedget_project_folders
    • First observedget_scope_at_cursor
    • First observedget_selection
    • First observedget_setting
    • First observedget_symbols
    • First observedget_syntaxes
    • First observedget_variables
    • First observedget_view_chars
    • First observedget_view_content
    • First observedget_view_phantoms
    • First observedget_view_size
    • First observedget_word_at_cursor
    • First observedgoto_line
    • First observedinsert_snippet
    • First observedlookup_symbol
    • First observedopen_file
    • First observedredo
    • First observedremove_folder
    • First observedreplace_lines
    • First observedreplace_selection
    • First observedrevert_file
    • First observedrun_build
    • First observedrun_command
    • First observedsave_all
    • First observedsave_file
    • First observedselect_lines
    • First observedsend_to_view
    • First observedset_encoding
    • First observedset_layout
    • First observedset_setting
    • First observedset_status
    • First observedset_syntax
    • First observedshow_panel
    • First observedsort_lines
    • First observedtoggle_comment
    • First observedtoggle_sidebar
    • First observedundo

TDQS

B3.1/5.0
Disambiguation3/5

Many tools have overlapping purposes (e.g., get_file_content, get_view_content, get_view_chars), and while descriptions are detailed, an agent might struggle to choose the correct one for a given scenario. Some tools like eval_python and run_command are distinct but others blur boundaries.

Naming Consistency4/5

The naming convention is largely consistent with verb_noun snake_case (e.g., add_folder, get_open_files, set_syntax). A few deviate slightly (send_to_view, eval_python) but these are still clear and follow the overall pattern.

Tool Count2/5

59 tools is excessive for a single MCP server. While Sublime Text operations can be many, this count overwhelms an agent with choices, many of which are overly specific (e.g., get_view_phantoms, get_line_count). A more focused set would improve usability.

Completeness3/5

The tool surface covers a wide range of editor actions (file management, editing, search, project, settings, terminal), but notable gaps exist: no create_file, rename_file, or delete_file tools. Basic file lifecycle operations are incomplete.

Maintenance

ActivityActive
ResponsivenessWithin a week

Related MCP Connectors

Related MCP Servers

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/dpc00/sublime-mcp'

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