Skip to main content
Glama

One-click static analysis

mp_analyze

Performs static analysis of WeChat Mini Programs by appid or active detection: decrypts/unpacks packages/plugins, locates signatures/encryption, extracts APIs, generates repro code, and writes reports.

Instructions

一键静态分析:解密解包(主包+分包+插件) → 签名/加密定位 → API 抽取 → 复现代码生成 → 结构化报告。输入 appid 或 '--active' 自动检测运行中的小程序。产出 report.json + REPORT.md + repro.node.mjs + repro.python.py。

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": {
      "appid": "<appid>"
    },
    "name": "mp_analyze"
  }
}

Input Schema

NameRequiredDescriptionDefault
appidYes小程序 appid (wx开头16位hex),或 '--active' 自动检测

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.3

TDQS

B3.4/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, and it does disclose the stage sequence and the exact artifacts produced (report.json, REPORT.md, repro.node.mjs, repro.python.py), which is above-average transparency. It does not say whether the WeChat client must be running, how long the multi-stage run takes, whether the target is modified, whether elevated permissions are needed, or how partial failures are handled. For a heavy multi-stage decrypt-and-generate operation, those omissions are material.

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

Conciseness4/5

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

Front-loaded with the purpose, then the input, then the outputs, with no filler. The arrow-chained stage list is dense but scannable and each stage earns its place. Slightly terse for the amount of behavior being summarized, but nothing is wasted.

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?

Naming the four output artifacts compensates for the absent output schema, and the stage list conveys scope well. However, with no annotations and no output schema, the definition leaves prerequisites, runtime characteristics, and error behavior unexplained — the areas that matter most for a one-click destructive-ish decrypt pipeline. Adequate but with clear gaps.

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?

There is a single required parameter with 100% schema description coverage, so the schema already defines appid and the '--active' sentinel. The description repeats exactly that semantics without adding format constraints, validation rules, or failure modes beyond the schema. Baseline 3 applies.

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 names a concrete five-stage pipeline on a concrete resource (mini-program appid): decrypt/unpack, signature/encryption location, API extraction, repro generation, structured report. An agent immediately knows this is an end-to-end analysis tool rather than a single-step operation. It stops short of naming which sibling to prefer when only one stage is wanted (e.g. mp_decrypt or mp_sign_crack), so differentiation is implied rather than stated.

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 only usage guidance is the input convention — pass an appid or '--active' to auto-detect a running mini-program — which is genuinely useful context for invocation. There is no when-to-use/when-not guidance relative to near-neighbours such as mp_analyze_all, mp_decrypt, or mp_sign_crack, which is a real gap given the overlap in names. An agent must infer that this tool is the full-pipeline option.

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