Skip to main content
Glama
PyEye Server

PyEye Server

by okeefeco

find_flask_config

Find Flask configuration files and app.config usage across the main project, configured namespaces, or a specific namespace. Use it to map how a Flask app is configured.

Instructions

Find Flask configuration files and app.config usage.

Args: scope: Search scope (default: this tool's scope_defaults entry in the project config, else scope_defaults.global, else "main"): - "main": Only the main project (default for plugins) - "all": Include configured namespaces - "namespace:name": Specific namespace

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "find_flask_config"
  }
}

Input Schema

NameRequiredDescriptionDefault
scopeNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv2.0.0

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full disclosure burden; 'Find' implies a non-mutating search but read-only behavior is never stated. It does add genuinely useful behavioral context beyond the schema by spelling out the scope default resolution chain (project config scope_defaults, then scope_defaults.global, then 'main'), which is real information an agent could not derive from the structured fields. It omits anything about result volume, pagination, or filesystem reach.

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?

Purpose is stated up front in one sentence, followed by a scoped Args block; nothing is padded or redundant. The nested parenthetical for the default-resolution chain is a little dense but each clause carries distinct information, so it earns its 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 one-optional-parameter read tool with an output schema already covering return values, the description supplies the scope vocabulary and default behavior an agent needs to call it correctly. The only real omission is the array-valued scope form, which given the schema's anyOf is an actual calling ambiguity.

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, and it does substantially: it enumerates 'main', 'all', and 'namespace:name' forms and explains the default fallback chain that the schema renders only as default: null. However, the schema's anyOf also permits an array of strings and null, and the description never explains what passing a list of scopes means — a meaningful gap in a single-parameter tool where that parameter is the whole interface.

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 opening sentence names a specific verb and resource pair — 'Find Flask configuration files and app.config usage' — which is concrete enough to separate it from siblings such as find_flask_routes, find_flask_blueprints, or find_model_config (which targets Pydantic model config, not Flask app config). It does not explicitly name a sibling it is not, so it stops short of a 5.

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?

There is no when-to-use / when-not-to-use guidance and no named alternative; the Args block documents a parameter, not usage routing. An agent must infer from the sibling list alone when to pick this over find_model_config or find_flask_extensions.

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