Skip to main content
Glama

Scan Project Files

scan_project_files

Scans local project files for data models, deletion logic, PII logging, and SDKs, helping authorized users identify PDPA compliance gaps.

Instructions

Scan local project files for data models, deletion logic, PII logging, and SDKs. Use only on sites/projects you own or are authorised to audit. Defensive use only. Use this tool only on websites, endpoints, or local projects that you own or have explicit written authorization to audit.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "path": "<path>"
    },
    "name": "scan_project_files"
  }
}

Input Schema

NameRequiredDescriptionDefault
pathYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3/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 behavioral burden. It discloses the authorization prerequisite and permitted-use scope, but never states whether the scan is read-only, whether it writes artifacts or modifies project files, or what happens on unauthorized use. Since an output schema exists, the absence of return-value detail is acceptable.

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

Conciseness2/5

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

The authorization warning is stated three separate times in three sentences, consuming most of the description's length for one idea. The substantive part (what the scan detects) sits in a single clause and gets no elaboration.

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 output schema covers return values and the purpose sentence covers detection targets, but the single input parameter is undocumented and the local-vs-remote scope ambiguity is left unresolved. For a security-sensitive tool with no annotations, one more sentence on read-only behavior and path semantics would close the gap.

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?

There is one required parameter, 'path', with 0% schema description coverage and no explanation in the description. 'Local project files' hints at a filesystem path, but the description does not say whether it is a file, a directory, an absolute vs. relative path, or what scope of tree gets traversed.

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 gives a specific verb ('Scan') and resource ('local project files') and enumerates what it looks for: data models, deletion logic, PII logging, and SDKs. It never distinguishes itself from the sibling tools (scan_privacy_policy, detect_cookie_consent, etc.), and the later phrase 'websites, endpoints, or local projects' muddies the stated local-filesystem scope.

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 tool gives explicit when-to-use constraints around authorization and 'defensive use only', which is real guidance. It offers no routing to alternatives (e.g., scan_privacy_policy for policy documents, run_full_audit for a combined pass), so an agent must infer the boundary from sibling names alone.

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