mcp-flutter-apk-injector
Server Quality Checklist
Latest release: v0.1.3
- Disambiguation5/5
Each tool has a clearly distinct purpose: the first six form a sequential APK injection pipeline, and the last three are agent memory operations. There is no overlap or ambiguity between any tools.
Naming Consistency5/5All tool names use a consistent verb_noun snake_case pattern (e.g., decompile_apk, synthesize_flutter_payload, update_agent_memory). The naming convention is uniform throughout.
Tool Count4/5The 9 tools are within a reasonable count, but the three memory-related tools are unrelated to the core APK injection purpose and make the set slightly over-scoped. A focused injector would have 6 tools.
Completeness5/5The APK injection workflow is fully covered: decompile, analyze, synthesize payload, inject, patch manifest, and recompile/sign. There are no missing operations in the stated domain; the memory tools are extra but do not create gaps.
Average 4.2/5 across 9 of 9 tools scored. Lowest: 3.1/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 21 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
Tools from this server were used 8 times in the last 30 days.
This repository includes a glama.json configuration file.
This server has been verified by its author.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility for behavioral transparency. It only says 'Search and inspect,' implying read-only behavior, but does not explicitly state non-mutating nature, return format, or any side effects. This is insufficient for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that states the primary purpose without extraneous words. It is front-loaded with the main action and resource, and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a low-complexity tool with only one parameter and no output schema, so minimal description can suffice. However, it does not explain what the agent should expect from the response or any limitations, leaving some contextual gaps for a tool with no output schema and no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of the single parameter (query) with a descriptive explanation, so the baseline is 3. The tool description adds no additional parameter meaning beyond what the schema already provides, and does not introduce constraints or formatting details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs 'Search and inspect' and names concrete resources ('historical patch logs, register allocations, and decompilation metadata'), making the tool's purpose clear. However, it does not explicitly differentiate from sibling tools like get_agent_context or update_agent_memory, so it lacks sibling distinction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. Sibling tools perform related memory operations, but the description provides no conditions, exclusions, or preferred scenarios, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the full burden but only states the high-level intent. It does not disclose whether updates merge or overwrite existing memory, the session lifetime, or any side effects. It mentions 'active session' but fails to specify persistence or scoping nuances.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single front-loaded sentence with no filler, making it efficient. However, given the tool's complexity (7 optional parameters), it might be too sparse to be considered fully 'appropriately sized', though it maintains crisp structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 7 optional parameters and no output schema, yet the description only provides a high-level summary. It omits guidance on parameter combinations, whether fields are mutually exclusive, and session memory behavior, leaving gaps for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
All 7 parameters have individual schema descriptions, so the schema already provides comprehensive coverage. The description loosely alludes to categories (notes, targets, patch logs) but adds no extra meaning beyond what the schema already explains, resulting in a baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Update'), the resource ('active session memory state'), and the content types (notes, identified targets, patch logs). This distinguishes it from memory-read siblings like get_agent_context and query_memory_graph, which focus on retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied by the tool's name and the presence of read-oriented siblings, but no explicit when-to-use or when-not-to-use guidance is provided. The description does not mention alternatives or prerequisites, so it stops at 'implied usage' rather than giving clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/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 of behavioral disclosure. It merely lists what is retrieved but does not mention whether the operation is read-only, any authentication requirements, behavior for missing/invalid sessionId, or potential side effects. This minimal disclosure falls short of what is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no unnecessary words. It efficiently lists the four primary data components, making it both concise and structurally sound.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional parameter and no output schema, the description provides a reasonable overview of what the agent context includes. However, it does not cover behavior when sessionId is absent or the structure of the response, leaving minor gaps in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides a clear description for the only parameter, sessionId, so schema descriptiveness is 100%. The tool's description does not add any additional meaning or context about the parameter beyond what the schema states, matching the baseline of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Retrieve' and clearly enumerates the distinct components returned (persona, skills, memory summary, pipeline telemetry), making the tool's purpose unambiguous. This clearly differentiates it from sibling tools that deal with APK modification or memory graph query/update operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage as the go-to tool for retrieving full agent context, but it does not explicitly state when to use it versus alternatives like query_memory_graph or update_agent_memory. No exclusions or alternative conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the description's 'read-only and idempotent' is consistent but redundant. However, it adds behavioral context beyond annotations by stating that the operation produces warnings and evidence that should be reviewed, which implies output characteristics not covered by the annotation fields. No contradiction exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, all substantive: the first states the operation and deliverables, the second covers timing and non-mutability, the third gives actionable guidance. No filler or tautology; front-loaded with the key verb and resource.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a full output schema, one well-documented parameter, and annotations covering read-only/idempotent/destructive properties, the description sufficiently completes the picture by adding temporal workflow context and next-step actions. It explains the tool's role in the broader pipeline without needing to describe return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema covers the single parameter workspaceDir with a full description, giving 100% coverage. The description adds no new parameter-level detail; it merely references 'decoded APK workspace' which mirrors the schema. Baseline of 3 applies when the schema handles parameter semantics, which it does here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Read a decoded APK workspace' providing a specific verb and resource, then enumerates concrete outputs (manifest components, ABI coverage, Flutter conflicts, JNI loading evidence, candidate integration points). This clearly distinguishes it from siblings like decompile_apk (which produces the workspace) and inject_flutter_runtime_and_smali (which modifies files).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use it: 'use it after decompile_apk and before choosing an injection mode', and provides negative guidance by saying 'not to modify files'. It also names alternative orchestration steps by referencing inject_flutter_runtime_and_smali and patch_manifest_and_config as subsequent actions after reviewing warnings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, and the description adds specific details about what gets mutated: 'mutates workspaceDir by adding libraries, assets, and Smali files.' It also warns about uncertainty and experimental modes ('treat view_tree_injection as experimental because it requires a lifecycle-compatible host'). No contradiction with annotations, though it doesn't mention reversibility or permissions, which would have pushed it higher.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each earning its place: first states the main action and prerequisites, second states the safety/mutation detail, third provides mode selection guidance. Front-loaded with the core purpose, no filler, and structured to be read quickly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (7 parameters, nested objects, output schema, destructive behavior), the description provides all necessary context: prerequisites, mutation warning, mode selection rules, and experimental caveats. The output schema handles return values, so no need to repeat that. It fully complements the annotations and schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description doesn't add much beyond what the schema already explains; it does incorporate some mode-specific rationale (e.g., 'activity_overlay' for supported cached-engine path), but that's more usage guidance than parameter semantics. The schema already documents each parameter comprehensively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Inject' and clearly identifies the resource ('synthesized Flutter payload and generated Smali bootstrap') and target ('decoded APK workspace'). It distinguishes itself from sibling tools like decompile_apk and synthesize_flutter_payload by stating it runs after those steps and mutates the workspace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit sequencing is provided: 'after decompile_apk and synthesize_flutter_payload have completed' and 'run analyze_injection_surface first when the host lifecycle or ABI compatibility is uncertain.' It also gives mode-selection guidance, such as 'Choose activity_overlay for the supported cached-engine screen path' and 'use direct_application_hook only for a resolvable host Application,' clearly telling when to prefer one mode over another.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, but the description adds meaningful context: it 'mutates the manifest in place' and cautions to review the delta, especially for risky changes. This goes beyond the annotation by explaining the in-place mutation and highlighting specific areas of concern.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise at three sentences, front-loads the core purpose, then provides usage guidance and a risk warning. Every sentence adds value with no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, the description connects it to the pipeline (decoded workspace, recompilation), sets prerequisites, and references the structured delta for review. Since an output schema exists, the description does not need to detail return values, making this complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers 100% of parameters with detailed descriptions, so the baseline is 3. The tool description does not add parameter-specific details beyond the schema; it only groups them thematically (component, permission, rendering), which is already implicit in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Apply requested Flutter-related component, application, permission, and rendering changes') to a specific resource ('AndroidManifest.xml in a decoded workspace'). It also differentiates from the sibling tool analyze_injection_surface by noting that inspection alone should use that tool instead.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says when to use this tool ('only after reviewing the injection surface and generated classes') and when to use an alternative ('use analyze_injection_surface instead when only inspection is needed'). It also provides a post-usage guideline to 'review the structured delta before recompilation,' which is actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructive behavior, but the description adds valuable context: it 'overwrites outputApkPath and creates signing artifacts,' explains the difference between debug-signed and release artifacts, and mentions signature verification. This goes beyond mere annotation replication, though it doesn't detail every side effect.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded. The first sentence establishes the core action, the second covers usage and destruction, and the third clarifies the keystore nuance. No filler or redundant repetition of schema content; every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (build, align, sign, verify), and with an output schema present, the description fully covers what an agent needs to know: the workflow, when to use it, destructive side effects, and the signing artifact distinction. It is complete and self-sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description adds meaningful semantics for keystoreConfig by explaining that custom keystores are for 'authorized signing workflow' and that omitting it results in a 'debug-signed test artifact,' which the schema alone does not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's specific function: 'Build a modified decoded workspace with apktool, align the APK, sign it with apksigner, and verify the resulting signature.' It names the exact resources and actions, and distinguishes itself from sibling tools by positioning as 'the final packaging step after manifest and Smali validation.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use ('final packaging step after manifest and Smali validation') and when not to ('do not call it for read-only inspection'). It also differentiates authorized vs. unauthorized signing workflows with the keystore caveat, providing clear situational guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already signal destructiveHint=true, but the description adds specifics: 'replaces the payload output directory', 'expect build time, disk writes, and build diagnostics', and discloses invocation of the local Flutter SDK. These details go beyond the annotations and inform the agent of side effects and external dependencies.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with a front-loaded core action, followed by usage context and side-effect warnings. Every sentence provides distinct value with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a side-effect-heavy build tool, and the description covers prerequisites ('source Flutter code is available'), pipeline sequencing relative to siblings, and behavioral expectations. An output schema exists, so return values do not need explanation in the description. The tool is well-contextualized for an agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema description coverage is 100%, with detailed parameter descriptions including enum meanings and defaults. The description references 'selected Android ABIs' and 'source Flutter code' at a high level but does not add new parameter-level semantics beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Build a Flutter project into native libraries and flutter_assets for the selected Android ABIs', specifying the exact action, resource, and output. It distinguishes itself from injection siblings by framing the result as 'ready for injection', making its role in the pipeline unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit placement: 'Use it after target ABI analysis and before injection when source Flutter code is available', and names an alternative when artifacts already exist. This clearly differentiates it from inject_flutter_runtime_and_smali and provides concrete when-to-use versus when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the destructiveHint annotation, the description discloses that outputDir is removed and recreated, and that the input APK is read-only. It also mentions the apktool and Java prerequisite, adding meaningful context not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose, and each sentence adds new information (purpose, behavior, prerequisites). No redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage boundaries, dependencies, destructive behavior, and pipeline guidance. Combined with the output schema, it is fully sufficient for an agent to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; description adds specific semantics for outputDir (removed/recreated) and decompileSources (limited to resource and manifest inspection when false). This extra context helps the agent understand parameter side effects beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool decodes an APK into a named workspace with specific components (Smali, resources, assets, native-library, manifest) for later analysis or modification. This distinguishes it from sibling tools like analyze_injection_surface, which operate on an already-decoded workspace.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states to use analyze_injection_surface next, and advises against calling when a valid decoded workspace already exists. It also differentiates between full source decoding and resource/asset-only mode, providing clear usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/MarwanDevSpace/mcp-flutter-apk-injector'
If you have feedback or need assistance with the MCP directory API, please join our Discord server