Skip to main content
Glama

analyze_android_project

Analyzes an Android project's source code for security vulnerabilities. Accepts project files (AndroidManifest.xml, build.gradle, Java/Kotlin sources, XML configs) and returns a structured security report with findings, severity scores, and recommendations.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
filesYesArray of project files to analyze
optionsNoAnalysis options
projectNameYesName of the Android project being analyzed

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It describes the input and output (structured security report with findings, severity, recommendations), which is useful, but it does not disclose potential side effects (none expected), performance expectations, or limits like file size default (which is in the schema). The description adds moderate behavioral context beyond the schema.

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 is a single well-structured sentence that front-loads the core function and then concisely lists inputs and outputs. Every element is informative, with no redundant or filler language.

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 complex tool with nested objects and no output schema, the description sufficiently covers the tool's purpose, accepted input types, and output summary. It does not list all possible file types (e.g., resources, proguard files), but the examples are representative and the schema covers required fields. The absence of an output schema is mitigated by the description's mention of findings, severity scores, and recommendations.

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?

Schema description coverage is 100%, so parameters are fully documented in the schema. The description additionally clarifies the tool's context by listing accepted project file types (AndroidManifest.xml, build.gradle, etc.), which helps the agent understand what to put in the 'files' array. It adds value while relying on the schema for detailed parameter definitions.

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 ('Analyzes') and clearly identifies the resource (Android project source code) and the goal (security vulnerabilities). It distinguishes itself from sibling tools like 'explain_finding' and 'list_android_security_checks' by focusing on project-wide analysis and producing a structured report.

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 implies when to use this tool (analyzing an Android project's security posture) and lists accepted file types, but it does not explicitly state when not to use it (e.g., for explaining a single finding or listing checks, which are covered by siblings). Clear context is provided, but exclusions are absent.

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.2/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: analyzing a project, explaining a finding, listing security checks, and checking server health. There is no overlap or ambiguity between them.

Naming Consistency4/5

Three tools follow the verb_noun pattern (analyze_android_project, explain_finding, list_android_security_checks), while 'health' is a noun-only name. This minor deviation is common and does not reduce clarity.

Tool Count5/5

With only 4 tools, the server is tightly scoped for its purpose. Each tool earns its place, covering analysis, explanation, rule enumeration, and status checking.

Completeness5/5

The tool surface covers the complete workflow: analyze a project, explain any findings, list available security rules, and verify server status. There are no obvious gaps for the stated purpose.