Skip to main content
Glama

run_security_review

Find security problems in a repository: a deep, whole-codebase review.

Spawns a one-shot audit that scans the repo across a kind-aware taxonomy
(secrets + git history, vulnerable/abandoned deps, injection, SSRF, path
traversal, deserialization, crypto, info-leak, plus web authz/session/CORS,
library API-misuse, game client-trust, or infra/CI as applicable) and posts
findings to the project's Security review for human triage. You review the
findings, then send the ones worth fixing into the loop as Requests; no fix
is applied automatically. Billable; one audit in-flight per project.
(Triggering is disabled while the feature is hardened for production: a
project not on the operator allowlist — empty by default — returns a message
instead of spawning; earlier results stay visible.) Requires a paid plan;
a free or trial workspace gets a message telling the user to upgrade.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

TDQS

A4.7/5.0
Behavior5/5

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

The description goes far beyond the annotations: it explains the one-shot, non-idempotent nature, that findings are posted for human triage and no fixes are applied automatically, that the action is billable, that only one audit can be in-flight per project, and that triggering is disabled unless the project is on an operator allowlist. It complements the annotations (readOnlyHint false, idempotentHint false) without contradicting them.

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 opens with a clear one-sentence purpose, then uses scannable paragraphs for behavioral details, constraints, and prerequisites. Every sentence adds meaningful information: taxonomy content, workflow, billing, in-flight limit, allowlist, and plan requirement. There is no filler and no repetition of annotation-schema data.

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 complex security-review tool, the description is remarkably complete: it covers the input, the analysis scope, the output destination, the human-in-the-loop workflow, filtering, cost, concurrency, and access restrictions. The output schema provides return details, and the description fills in operational context that the output schema cannot express.

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 only one parameter and 0% schema description coverage, the description compensates partially by repeatedly referencing 'project' (project's Security review, one audit per project, project allowlist). It does not explicitly say 'project_id is the identifier of the repository to scan', but the single parameter is simple and the context strongly implies that meaning. A more explicit mapping would be ideal, but it is adequate for a single-parameter 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 a specific verb-resource combination ('Find security problems in a repository') and immediately distinguishes the tool from siblings like run_control_gap_review and run_legal_exposure_review by emphasizing a deep, whole-codebase security audit. It also names concrete categories (secrets, deps, injection, SSRF, etc.) that pin down its unique scope.

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 clearly states when to use the tool (to find security problems, including specific vulnerability classes) and gives operational constraints (billable, one audit in-flight, allowlist gating, paid plan). It does not explicitly name alternative tools or say 'use run_control_gap_review for compliance gaps', but the context of sibling tools makes the intended use reasonably clear.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4/5.0
Disambiguation5/5

Every tool targets a distinct resource and action duo, even within clusters like request handling or security reviews. The get_ vs run_ pairs are clearly separated, and descriptions explicitly contrast confusing alternatives such as archive_project vs delete_project.

Naming Consistency4/5

The set overwhelmingly follows verb_noun snake_case (submit_request, list_projects, resolve_escalation). The one visible deviation is project_status, which breaks the get_/pattern, and signup is a single-word verb instead of sign_up.

Tool Count2/5

37 tools is well above the 25+ threshold and spans auth, billing, project lifecycle, roadmap, escalations, product documents, and multiple review types. Most tools earn their place, but the surface is too large for one server and would be more coherent split into focused servers.

Completeness4/5

The domain coverage is broad: full project lifecycle, request intake/refinement, roadmap manipulation, escalation handling, product doc read/write, and security/legal review flows. Minor gaps exist, most notably no dedicated task-listing or task-update tool, but agents can work around these via project_status and list_escalations.