mcp-flutter-apk-injector
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_FLUTTER_LOG_LEVEL | No | Log level for the MCP server (e.g., info, debug, error). | info |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| decompile_apkA | Decode an APK into a Smali, resources, assets, native-library, and manifest workspace for later analysis or modification. The input APK is read-only, but outputDir is removed and recreated; use analyze_injection_surface next, and do not call this when a valid decoded workspace already exists. Full source decoding requires apktool and Java, while decompileSources=false is limited to resource and manifest inspection. |
| analyze_injection_surfaceA | Read a decoded APK workspace to identify manifest components, ABI coverage, Flutter conflicts, JNI loading evidence, and candidate integration points. This operation is read-only and idempotent; use it after decompile_apk and before choosing an injection mode, not to modify files. Review warnings and evidence before calling inject_flutter_runtime_and_smali or patch_manifest_and_config. |
| synthesize_flutter_payloadA | Build a Flutter project into native libraries and flutter_assets for the selected Android ABIs, ready for injection into a decoded workspace. Use it after target ABI analysis and before injection when source Flutter code is available; use an existing validated payload directory instead when artifacts are already built. This invokes the local Flutter SDK and replaces the payload output directory, so expect build time, disk writes, and build diagnostics. |
| inject_flutter_runtime_and_smaliA | Inject a synthesized Flutter payload and generated Smali bootstrap into a decoded APK workspace after decompile_apk and synthesize_flutter_payload have completed. This mutates workspaceDir by adding libraries, assets, and Smali files; run analyze_injection_surface first when the host lifecycle or ABI compatibility is uncertain. Choose activity_overlay for the supported cached-engine screen path, use direct_application_hook only for a resolvable host Application, and treat view_tree_injection as experimental because it requires a lifecycle-compatible host. |
| patch_manifest_and_configA | Apply requested Flutter-related component, application, permission, and rendering changes to AndroidManifest.xml in a decoded workspace. Use it only after reviewing the injection surface and generated classes; it mutates the manifest in place, so use analyze_injection_surface instead when only inspection is needed. Review the structured delta before recompilation, especially for application-class, permission, exported-component, or network-security changes. |
| recompile_align_and_signA | Build a modified decoded workspace with apktool, align the APK, sign it with apksigner, and verify the resulting signature. Use this as the final packaging step after manifest and Smali validation; it overwrites outputApkPath and creates signing artifacts, so do not call it for read-only inspection. Provide a custom keystore only for an authorized signing workflow; otherwise the result is a debug-signed test artifact, not an update-compatible release by default. |
| get_agent_contextA | Retrieve Hermes+ persona, loaded skills, live memory summary, and pipeline telemetry |
| update_agent_memoryB | Update active session memory state with notes, identified targets, or patch logs |
| query_memory_graphB | Search and inspect historical patch logs, register allocations, and decompilation metadata |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| scan | Perform a detailed injection surface diagnostic audit of a decompiled APK workspace |
| decompile | Disassemble an Android APK file into Smali bytecode and decoded resources |
| inject | Execute Flutter engine and Smali glue code injection into a target APK workspace |
| patch | Patch AndroidManifest.xml and Smali structures with Flutter requirements |
| recompile | Rebuild, align, and sign the modified APK workspace |
| pipeline | Execute full end-to-end automated reverse engineering & Flutter injection pipeline |
| merge | Plan and validate split-package compatibility without blindly merging APK directories |
| revert | Inspect patch history and determine whether verified rollback evidence exists |
| memory | Inspect active Hermes+ session memory state, historical patch logs, and telemetry |
| hermes_guide | Display Hermes+ system architecture rules and reverse engineering guidelines |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| agent-persona | |
| agent-rules | |
| skill-hermes-apk-reverse-engineering | |
| skill-mcp-toolchain-orchestrator | |
| memory-session | |
| memory-patch-history |
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