Skip to main content
Glama

Scan code for security vulnerabilities

forcedream_security_scan

Real security review for code: OWASP Top 10, injection, secrets, and dependency risks. Cross-references imported dependencies against OSV.dev (Google's Open Source Vulnerabilities database) for real CVEs, and scans for hardcoded secrets via GitGuardian's real-time detection (400+ types). SPENDS your balance -- requires authentication (OAuth). Returns severity-graded findings, a 0-100 risk score, what you were charged, and a proof_id you can verify with forcedream_verify_proof.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeYesThe code to scan for vulnerabilities.
budget_penceNoOptional max spend in pence for this scan.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
outputNo
statusYes'completed' or 'error'.
verifyNo
task_idNo
proof_idNo
balance_penceNo
charged_penceNo

TDQS

A4.5/5.0
Behavior5/5

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

Explicitly states it spends balance, requires OAuth, and returns a proof_id for verification. Annotations indicate openWorldHint and destructiveHint false, which align with external dependencies and non-destructive 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?

Single, well-structured paragraph with front-loaded purpose. Every sentence adds value; no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given output schema exists, description covers return values (findings, risk score, charge, proof_id) and explains authentication and cost. Complete for a scan tool.

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

Parameters3/5

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

Schema covers both parameters fully (100% coverage). Description adds minimal beyond schema; mentions 'code' and 'budget' but does not elaborate on formats, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it scans code for security vulnerabilities including OWASP Top 10, injections, secrets, and dependencies. Distinct from sibling tools like forcedream_check_fraud or forcedream_extract_data.

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: use for security scanning of code, mentions external databases and authentication. Does not explicitly state when not to use or contrast with siblings, but context is sufficient.

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
Disambiguation3/5

Most tools have clearly distinct purposes (fraud vs extract vs generate vs sentiment vs lead scoring vs quote vs proof verification). However, there is notable overlap among the search_* discovery tools: forcedream_search_agents, forcedream_search_reliability, and forcedream_search_costs all surface overlapping agent metadata (success_rate appears in both search_agents and search_reliability), which could cause misselection. Additionally, forcedream_extract_data vs forcedream_extract_entities vs forcedream_extract_action_items overlap somewhat in the extraction domain despite distinct outputs (JSON fields vs raw entities vs action items).

Naming Consistency4/5

The forcedream_ prefix is used consistently throughout, and most tools follow a forcedream_<verb>_<object> pattern (extract_data, generate_code, score_lead, security_scan). However, there is inconsistency in verb style: check vs extract vs generate vs invoke vs search vs verify vs summarize are all different verb types, and the objects don't follow a uniform noun convention (some are actions like invole_agent, others resources like market_quote). The naming is readable and discoverable but not perfectly uniform.

Tool Count4/5

At 17 tools, this is slightly above the ideal range but justifiable given the broad multi-service scope (fraud, extraction, generation, discovery, verification). Each tool maps to a reasonably distinct service capability, and none feel like padding. The count borders on heavy but earns its place given the diverse domain coverage.

Completeness4/5

The tool surface is comprehensive for a multi-purpose AI/ML service platform, covering fraud detection, data extraction, code generation, sentiment analysis, embeddings, lead scoring, security scanning, summarization, market quotes, agent discovery, and proof verification. Missing are update/delete operations, but this appears to be a stateless service rather than a CRUD resource store. The discovery tools (search_* variants) and meta capabilities (verify_proof) round out the lifecycle well, though there's no clear cleanup or batch-processing tool.