Skip to main content
Glama
rolefence-scan
by vtsol-inc

scan_local_program

Inspect a local stdio MCP server's config for plaintext credentials and, optionally, list the tools that program offers, without running any tool.

Instructions

Check the local-program ("stdio") MCP servers in an AI app's settings file: passwords or keys written there in plain text, and (with list_tools) what tools the program offers.

settings_file: e.g. ~/Library/Application Support/Claude/claude_desktop_config.json, .mcp.json, ~/.claude.json, ~/.cursor/mcp.json, ~/.codex/config.toml server: check only the server with this name (required for list_tools) list_tools: start that server once the way the AI app does, ask for its tool list, and stop it. No tool is run. Ask the person before setting this.

The report names settings, never their values.

Input Schema

NameRequiredDescriptionDefault
serverNo
list_toolsNo
settings_fileYes

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.2

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does substantial work: it discloses that list_tools actually starts and stops the server process, that no tool is executed, and that the report names settings but never their values. It doesn't cover failure modes (a server that hangs or won't start) or permission requirements for reading the settings file, so it stops short of full disclosure.

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 core action and the secret-detection scope are front-loaded in the first sentence, followed by a compact parameter block where every line carries new information. The pseudo-indented multi-line parameter list is a slightly awkward shape for a tool description but wastes little space.

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 read-oriented scanner with no annotations, an output schema present, and a declared side effect (spawning a server), the description covers safety, consent, output privacy, and all parameters. The only real hole is that it doesn't position the tool against its siblings, which matters given scan_mcp sits right next to it.

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 coverage is 0%, so the description must compensate for all three parameters and it does: settings_file gets concrete example paths across Claude, Cursor, and Codex, server is defined as a name filter with its dependency on list_tools, and list_tools is explained behaviorally. An agent could fill this schema correctly from the description alone.

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?

Names a specific verb ('check') and a well-scoped resource (stdio/local-program MCP servers in an AI app's settings file), and spells out what it looks for: plain-text secrets and, optionally, tool listings. The scope is clear, but it never distinguishes itself from the sibling scan_mcp, which an agent will likely see alongside it.

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?

Gives conditional usage rules for parameters ('server: required for list_tools') and a consent gate ('Ask the person before setting this'), which is real guidance. What is missing is tool-selection guidance: nothing says when to pick this over scan_mcp or list_checks, or what to do when both could apply.

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

Deploy Server

Other Tools