AnJian Agent
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@AnJian Agentassess https://example.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
安鉴台 AnJian Agent
安鉴台是一套本地优先、授权门禁明确的安全评估工具。它把内置检查、Nmap、httpx、Nuclei、受控 FFUF、detection-only SQLMap、Burp/HAR、TShark/PCAP 和源码扫描结果整理成统一证据,再生成中文 Markdown、HTML 与 Obsidian 报告。
它可以作为 CLI 独立运行,也可以接入 Claude Code、任意 MCP 客户端,或 Ollama、LM Studio、vLLM、llama.cpp 等 OpenAI 兼容本地模型。AI 只负责理解意图、编排和解释;真正的授权校验、目标限制和工具执行始终在本地 Python 层完成。
只对你本人拥有,或已取得资产所有者明确书面授权的系统使用。本项目不提供口令爆破、拒绝服务、漏洞利用、权限绕过、持久化、数据提取或批量互联网扫描能力。自动结果是待复核观察,不等于已确认漏洞。
为什么需要它
手动运行多个工具时,最费时间的通常不是输入命令,而是保持范围一致、过滤重复和误报、保存证据、解释覆盖缺口、再把结果写成可交付报告。安鉴台把这些重复工作固定成可复用流程:
一次授权,一个网址:精确目标在终端登记一次,有效期内可直接
/anjian <URL>。工具可用就运行,不可用就说明:不会把超时、Device Guard 阻止或代理 Fake-IP 伪装成“已完成”。
结果不会自动升级成漏洞:
suspected、informational、passed与人工确认的 finding 严格分开。证据统一:跨运行、Burp/HAR、PCAP、源码结果按稳定指纹去重并交叉印证。
数据留在本地:默认存储在
%USERPROFILE%\.anjian,不依赖云端账号或在线 AI。报告可长期积累:输出 Markdown/HTML/Obsidian,保留 SHA-256 清单和复核记录。
Related MCP server: Hunter
工作方式
flowchart LR
U["用户 / Claude Code / 本地模型"] --> A["一次性精确目标授权"]
A --> G["本地范围门禁"]
G --> T["内置检查与外部工具"]
T --> E["脱敏证据与 SHA-256"]
E --> C["去重与交叉印证"]
C --> O["待复核观察"]
O --> H["人工确认"]
H --> R["Markdown / HTML / Obsidian 报告"]模型无法通过 MCP 创建授权、扩大端口、允许内网或解锁主动工具。即使本地模型产生错误指令,Python 层仍会再次检查目标、端口、有效期、内网许可和工具级授权。
能力矩阵
通道 | 能力 | 关键限制 |
内置 baseline | DNS、HTTP(S)、TLS、响应头、Cookie | 低影响;不保存响应正文 |
外部 baseline | Nmap、ProjectDiscovery httpx | 仅明确端口;代理 Fake-IP 时安全跳过原始端口扫描 |
模板检查 | Nuclei | 受系统策略与终端工具授权约束 |
内容枚举 | FFUF | 有界字典、低速、单线程、SPA/soft-404/挑战页过滤 |
注入观察 | SQLMap | 只对已发现的同源 GET 参数做 detection-only 检查 |
被动资产 | subfinder、amass | 只有显式允许下级子域时运行 |
Web 证据 | Burp XML、HAR | 删除正文、Cookie、Authorization 和令牌值 |
流量证据 | TShark/PCAP | 用户指定文件、只读分析、不导出载荷 |
源码证据 | 内置规则、Semgrep、Trivy、Gitleaks | 只扫描用户明确提供的本地目录 |
输出 | Markdown、HTML、Obsidian、浏览器 PDF | 自动观察需人工复核后才进入正式发现 |
5 分钟开始
1. 安装
需要 Windows 11、Python 3.11+ 和 PowerShell。在仓库目录执行:
powershell -ExecutionPolicy Bypass -File .\setup.ps1或使用普通 Python 环境:
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e .2. 检查本机能力
anjian doctor缺少外部工具不会阻止安装;运行时会安全降级并在报告中记录覆盖限制。
3. 为精确目标登记一次授权
anjian authorize-target "https://example.com"根据提示亲自输入 AUTHORIZE DEEP example.com。默认端口为 80/443、有效期 90 天、不包含下级子域和私有网络。未登记或授权过期时,quick-assess 不会访问目标。
4. 一键评估
anjian quick-assess "https://example.com"命令会返回评估 ID、阶段状态、观察摘要和 report.md 的本地路径。
接入 Claude Code
powershell -ExecutionPolicy Bypass -File .\claude-integration\install-claude.ps1重启 Claude Code 后输入:
/anjian https://example.com安装器会创建隔离运行环境、注册本地 stdio MCP Server,并安装 /anjian 命令与 Skill;不会读取或修改你的 API Key。完整说明见 Claude Code 指南。
接入本地大模型
安鉴台 v0.5.0 提供无需模型工具调用能力的本地模型适配器:确定性 Python 核心先执行授权评估,再把脱敏结构化结果交给本地模型解释。小模型即使不会 function calling,也能稳定使用。
以 Ollama 为例:
ollama pull qwen2.5:7b
anjian-local-agent "评估 https://example.com" --model qwen2.5:7bLM Studio、vLLM 或 llama.cpp 只需指定兼容地址:
anjian-local-agent "审计 https://example.com" `
--base-url http://127.0.0.1:1234/v1 `
--model local-model如果模型服务不可用,适配器仍会保留确定性 JSON 结果,不会丢失已经完成的评估。详见 本地大模型部署。
浏览器工作台
anjian seed-demo
anjian serve浏览器打开 http://127.0.0.1:8765。工作台默认只监听本机回环地址,可维护项目、授权范围、人工发现、复测与正式报告。不要为了远程访问直接改成 0.0.0.0。
数据与隐私
CLI、MCP 和本地模型数据:
%USERPROFILE%\.anjian浏览器工作台数据库:项目目录中的
data/anjian.db.gitignore默认排除数据库、报告、HAR、PCAP、Burp XML、虚拟环境和.envWeb 证据只持久化必要的脱敏元数据;源代码秘密只保存哈希前缀
客户材料、授权文件和真实报告不应提交到公开 Git 仓库
备份与保留期检查:
anjian backup
anjian retention当前边界
安鉴台适合授权的小型网站安全基线评估、证据整理和报告交付,不是“自动渗透万能平台”。它不能证明网站没有漏洞,也不能代替登录态业务逻辑测试、复杂授权测试、代码审计、云配置审计、移动端或内网横向评估。Cloudflare、代理、WAF 和 Windows 应用控制也可能限制外部工具覆盖,报告会如实列出这些缺口。
开发与验证
python -m pip install -e ".[dev]"
pytest自动测试只访问测试进程拥有的 127.0.0.1 服务,不向公共互联网发送扫描请求。架构、安全边界与后续计划分别见:
项目原则
授权和范围控制优先于“能力更多”。
自动化负责减少重复劳动,人类负责最终判断。
任何失败、跳过和覆盖限制都必须出现在报告中。
默认本地存储、最少数据、证据脱敏。
新增网络能力必须先有滥用分析、范围约束与本地测试。
License
MIT © 2026 AnJian Desk Contributors
如果安鉴台对你有帮助,欢迎 Star、提交问题或改进文档。请不要在公开 Issue 中粘贴真实目标、客户名称、授权文件、Cookie、Token 或未公开漏洞细节。
Available Tools
15 toolsanjian_capability_planC
根据本机真实工具状态生成分层执行计划,并说明其他 Claude MCP 的安全路由。
| Name | Required | Description | Default |
|---|---|---|---|
| assessment_id | No |
TDQS
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 mentions '根据本机真实工具状态' (based on real local tool state) which suggests introspection, but doesn't disclose side effects, whether it mutates state, reads system tool configurations, or what happens during execution. The behavioral profile is under-specified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is concise and front-loads the main purpose. Every clause contributes meaning, though as noted the meaning is somewhat generic. It is appropriately brief for a single-sentence description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there's no output schema, no annotations, and a 0% schema description coverage, the description is the only information source, but it's thin. It doesn't clarify what the layered execution plan contains, what 'safe routing' means concretely, how it relates to the assessment workflow, or what the output format looks like. For a tool that generates plans for a security assessment workflow with 14 siblings, this is insufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the only parameter, assessment_id, has a default of empty string but zero documentation. The description doesn't explain what assessment_id does or whether it's needed. With a single optional parameter and no schema description, the description adds no meaning beyond the raw parameter name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it generates a layered execution plan based on local tool state and explains safe routing for other Claude MCP tools. The verb '生成' (generate) with resource '分层执行计划' (layered execution plan) is reasonably specific, but it doesn't clearly distinguish how this differs from sibling tools like anjian_consolidate or anjian_quick_assess, making the unique function somewhat ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions '说明其他 Claude MCP 的安全路由' (explains safe routing for other Claude MCP tools) which hints at when it might be useful, but there's no explicit guidance on when to call this versus siblings like anjian_quick_assess or anjian_doctor, nor conditions or prerequisites for invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
anjian_consolidateC
合并所有运行、Burp/HAR、PCAP 与源码结果,按资产和问题指纹去重并标记交叉印证。
| Name | Required | Description | Default |
|---|---|---|---|
| assessment_id | Yes |
TDQS
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. The description mentions deduplication ('去重') and cross-validation marking ('标记交叉印证'), which adds some behavioral context, but it doesn't disclose whether this is a mutating operation, whether it writes to persistent state, whether it can be re-run safely, or whether source data gets consumed/destroyed during consolidation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that efficiently conveys the core action (merge), inputs (multiple result types), and outcome (dedup + cross-validation). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has no annotations, no output schema, and a 0% schema description coverage. The description names the inputs but doesn't explain the expected output, whether the agent must run imports first, what 'marking cross-validation' means in practice, or any side effects. For a tool that consolidates multiple data sources, an agent would benefit from clarity on prerequisites and output format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for the single parameter (assessment_id). The description doesn't explain what the assessment_id refers to or where it comes from (though this is somewhat inferable from sibling tools like anjian_create_assessment and anjian_list_assessments). Baseline 3 applies given the parameter is simple and self-describing by name, but the description adds no value for the parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('合并' = merge) and resource (running, Burp/HAR, PCAP, source results), and mentions deduplication by asset/problem fingerprint with cross-validation marking. However, it doesn't distinguish this from sibling tools like anjian_validate_observation or anjian_run_assessment, and the verb '合并' (merge/consolidate) is somewhat generic without clarifying the tool's unique output.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., anjian_run_assessment, anjian_scan_source, anjian_import_web_evidence). It's implied that this tool is a post-processing aggregation step after running assessments and importing evidence, but the description doesn't state prerequisites like 'call after anjian_run_assessment' or ordering requirements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
anjian_create_assessmentB
创建严格限定目标、端口和有效期的授权评估。不会运行网络检查。
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes | ||
| valid_from | No | ||
| valid_until | Yes | ||
| allowed_ports | Yes | ||
| allow_subdomains | No | ||
| allow_private_network | No | ||
| authorization_reference | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral disclosure burden. It does state one key behavioral fact: '不会运行网络检查' (will not run network checks), which signals this is a lightweight creation-only operation. However, it doesn't disclose what happens after creation, whether existing assessments are affected, or whether this requires prior authorization validation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that front-loads the action and scope, followed by the critical caveat about not running network checks. No wasted words, though it could arguably include a bit more param guidance without bloating.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a 7-parameter creation tool with no output schema, no annotations, and 0% param coverage. For such a complex tool, the description should explain return values, what constitutes a successful creation, how the authorization_reference parameter is used, and the format expectations for dates/ports. The description is significantly under-specified for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions '目标、端口和有效期' (target, ports, valid period) which maps to 'target', 'allowed_ports', and 'valid_until' params, but ignores 'authorization_reference', 'allow_subdomains', 'allow_private_network', and 'valid_from'. Several parameters are undocumented in both schema and description, leaving the agent to guess their format/semantics (e.g., date formats, port syntax).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verbs and resources: '创建严格限定目标、端口和有效期的授权评估' (create an authorized assessment strictly limited by target, ports, and validity period). It clearly distinguishes this creation tool from siblings like anjian_run_assessment or anjian_quick_assess by emphasizing '创建' (create) and the restricted scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage via '创建...授权评估' but does not explicitly state when to use this versus anjian_quick_assess or anjian_run_assessment. The mention that it '不会运行网络检查' (will not run network checks) is a distinguishing factor but there's no explicit when-to-use versus when-not-to guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
anjian_doctorC
只读检查安鉴台、外部安全工具和报告能力,不对任何网络目标执行检查。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does disclose the critical safety behavior—that it only reads and inspects, never executing checks against network targets—which is valuable transparency for a 'doctor' tool that might otherwise sound like it runs diagnostics against live systems. However, it doesn't disclose what it does with findings, whether it writes to any state, or what the output looks like. The read-only nature is partially implied but the boundaries of 'external security tools' inspection are unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the tool's scope (read-only), its targets (安鉴台, external security tools, reports), and a critical exclusion (no network target checks). No wasted words, and the negative statement front-loads the safety-critical boundary. It's appropriately sized for a tool with no parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description is the only source of information, and it conveys the essential purpose and safety boundary. However, for a tool named 'doctor' (suggesting diagnostics), the description is somewhat thin—it doesn't clarify what a check entails, what constitutes a 'pass/fail' scenario, or how the output would be used. For a simple zero-parameter tool, this is adequate but not rich; more context about what the diagnostic produces would strengthen completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, which means there's nothing for the description to elaborate on parameter semantics. Per the baseline rule for zero-parameter tools, a score of 4 would be baseline, but the description adds no meaningful value about what state or context the tool reads from. Since schema coverage is 100% and there are no parameters to document, the description doesn't need to compensate, but it also doesn't provide any additional semantic context beyond the schema, placing it at the baseline-adjacent level of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it performs read-only checks on the 安鉴台 (Anjian platform), external security tools, and reporting capabilities, and explicitly clarifies it does not execute checks against network targets. However, the verb '检查' (check/inspect) is somewhat vague about what specific inspection or diagnosis this 'doctor' tool performs, and while it distinguishes itself as non-targeting, it doesn't clarify how it differs from sibling tools like anjian_capability_plan which may also assess platform capabilities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a partial exclusion (does not check network targets) which helps distinguish a core boundary, but it gives no guidance on WHEN to use this tool versus siblings like anjian_quick_assess, anjian_get_assessment, or anjian_capability_plan. There's no stated context for when a doctor/diagnostic check is appropriate, making it unclear which scenarios should trigger this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
anjian_generate_reportC
从最近运行生成中文 Markdown/HTML/Obsidian 报告和 SHA-256 清单。
| Name | Required | Description | Default |
|---|---|---|---|
| include_html | No | ||
| assessment_id | Yes | ||
| obsidian_vault | No | ||
| include_obsidian | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral disclosure burden. It mentions generating reports and SHA-256 manifests but doesn't disclose what happens to existing files (overwritten?), whether report outputs are persisted or returned, storage locations, or side effects. The description is vague about the actual behavior beyond generating output formats.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is economical, but it's under-specified rather than appropriately concise. It front-loads the core purpose but omits critical operational details. There is no wasted text, but the brevity comes at the cost of usefulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and 0% parameter description coverage, this description leaves a lot unexplained. The tool takes 4 parameters (one required) and produces multiple report formats plus a manifest, which suggests non-trivial complexity. The description is inadequate for a tool at this complexity level—an agent would need to guess about output structure, file handling, and the meaning of evaluation_id in relation to 'recent runs'.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description only mentions the output formats it produces. It doesn't explain what assessment_id refers to, what include_html/include_obsidian control (though these are fairly self-explanatory), or what obsidian_vault path should be. The description adds minimal value for understanding parameters beyond their names and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool generates Chinese Markdown/HTML/Obsidian reports and SHA-256 manifests from recent runs. This is a specific verb+resource combo with clear output formats. However, it doesn't distinguish from sibling tools like anjian_consolidate or anjian_capability_plan, and the phrase 'recent run' is ambiguous—does it mean the most recent assessment or a specified one?
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs. alternatives is provided. The description doesn't explain when a report should be generated vs. when to run other sibling tools. It also doesn't clarify what 'assessment_id' refers to or how it relates to recent runs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
anjian_get_assessmentC
读取一个评估的授权范围、最近观察与人工确认结果。
| Name | Required | Description | Default |
|---|---|---|---|
| assessment_id | Yes |
TDQS
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 states the three things read (authorization scope, recent observations, manual confirmation results) which gives some behavioral context, but it doesn't disclose whether this is a read-only operation, any authentication requirements, or whether it can be called independently or requires an existing assessment. The fields read are enumerated, which is useful, but safety/behavioral traits are under-specified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact sentence that front-loads the purpose. It's appropriately concise with no wasted words, though it could be slightly more informative without violating conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter read tool, the description is thin. There's no output schema, so the description carries the burden of explaining what's returned, but it only names three data categories (scope, observations, confirmations) without elaboration on format or depth. Given the read-only nature and single param, it's minimally adequate but leaves the agent guessing about return shape and dependencies.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% — the single parameter `assessment_id` has no description beyond its name. The tool description doesn't elaborate on what format the assessment_id should take (UUID, numeric, slug?) or where to obtain it (perhaps from anjian_create_assessment or anjian_list_assessments). With 0% schema coverage, the description should compensate but doesn't.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states what the tool does: reads an assessment's authorization scope, recent observations, and manual confirmation results. It has a specific verb ('读取'/read) and resource ('评估'/assessment). However, it doesn't distinguish this from siblings like anjian_quick_assess or anjian_get... (no other get-sibling exists, but anjian_list_assessments could overlap without clarification).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this vs alternatives. It doesn't say when one would want to read an assessment's scope/observations versus using anjian_list_assessments, or whether this should be called before/after other operations like anjian_run_assessment or anjian_validate_observation. Context is purely implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
anjian_import_pcapA
使用 TShark 只读分析指定 PCAP/PCAPNG,不启动全机抓包,不导出载荷。
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | ||
| assessment_id | Yes |
TDQS
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 does disclose the read-only nature (使用 TShark 只读分析) and what it does NOT do (不启动全机抓包, 不导出载荷), which is genuinely useful behavioral disclosure distinguishing this from active-capture tools. However, it doesn't disclose anything about required file access permissions, file size limits, output format, or what happens on parsing failure — gaps given zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that packs purpose, operation mode, exclusions, and safety characteristics into minimal words. Every element earns its place — no filler, no redundancy. This is an exemplary model of concise front-loaded information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool with no output schema and no annotations, the description covers the core behavioral contract (read-only, no capture, no export) well. However, given the tool imports/analyzes files into an assessment context, the complete absence of parameter semantics (what assessment_id links to) and no mention of the analysis process or return value leaves meaningful gaps for agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, meaning the 2 parameters (assessment_id, file_path) are completely undocumented in the schema beyond their names and types. The description does not explain what assessment_id refers to or what file_path format is expected. With 0% coverage and no parameter explanations, the description should compensate but does not, leaving the agent to guess parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool uses TShark to read-only analyze a specified PCAP/PCAPNG file, giving a specific verb (import/analyze) plus resource (PCAP). It distinguishes from sibling tools by contrasting against full machine packet capture ('不启动全机抓包'). The purpose is clear, though 'import' in the name suggests ingestion while the description emphasizes analysis, creating slight ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says it performs read-only analysis and does NOT start full-machine packet capture or export payloads, giving clear exclusionary guidance. The sibling tools (anjian_run_controlled_active_tool, anjian_scan_source) suggest when an alternative active-capture tool might be used, though no explicit alternative names are given. The 'when to use' context is implied by the read-only emphasis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
anjian_import_web_evidenceA
导入 Burp XML 或 HAR;只保存授权范围内的脱敏元数据,不保存 Cookie、令牌或正文。
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes | ||
| assessment_id | Yes |
TDQS
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. The description usefully discloses that only sanitized metadata within authorized scope is saved and explicitly states what is NOT saved (cookies, tokens, bodies), which is valuable privacy/security context for an agent deciding to use this tool on sensitive data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a tight two-clause sentence that packs purpose, scope constraint, and data-handling disclosure without redundancy. Every word earns its place and it is clearly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter import tool with no annotations and no output schema, the description covers the main behavioral contract (what's imported, what's stripped) well. However, given 0% param coverage and no mention of return values, file format details, or error scenarios, it's adequate but has meaningful gaps for a tool handling import.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. The description mentions file formats (Burp XML/HAR) but does not explain either parameter: assessment_id's format/role or file_path's expected path type/location. Both required parameters are undocumented beyond their titles, leaving the agent guessing about acceptable values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb+resource ('导入 Burp XML 或 HAR') and clarifies the scope by noting it only saves sanitized metadata within authorized scope. However, it doesn't explicitly distinguish this from the sibling anjian_import_pcap, though the file-format mention (Burp XML/HAR) implies the difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description is silent on when to use this vs anjian_import_pcap or other tools. The input formats (Burp XML/HAR) imply web-traffic import use, and the authorization-scope constraint implies prerequisites (authorized targets), but no explicit when/when-not guidance or alternative naming is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
anjian_list_assessmentsC
列出本机安鉴台评估及最近运行编号。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral disclosure burden. It's a listing/read operation, but this is never explicitly stated as safe/non-destructive. It doesn't disclose what '最近运行编号' refers to in detail, whether output is sorted, or what constitutes 'recent'. Zero annotation coverage and minimal behavioral context makes this under-specified.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that is front-loaded with the core purpose. There's no wasted text. However, given the low informational content, it could profitably use additional space to clarify usage context and output details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a simple listing tool with no parameters, no annotations, and no output schema, so one might argue the description is sufficient. However, the description doesn't explain what the returned data looks like (assessment names, run IDs, timestamps), what '最近运行编号' metadata means, or how it relates to anjian_get_assessment for follow-up retrieval. A list tool's value depends on what one does with the results, which is unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and 100% schema coverage, so the schema carries no parameter burden. With 0 parameters, the baseline is 4 per the rubric. The description adequately conveys that no input is needed to retrieve the list.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool lists local assessments and recent run numbers ('列出本机安鉴台评估及最近运行编号'). The verb is clear (list) and the resource is specified (assessments, recent runs). However, it doesn't distinguish from the sibling 'anjian_get_assessment' which retrieves a single assessment, so the differentiation burden is only partially met.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. Among siblings there are several related tools (anjian_get_assessment, anjian_create_assessment, anjian_run_assessment), but the description doesn't clarify when listing is the right choice. The context 'local' implies it's about local-only data, which is a mild usage clue but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
anjian_list_authorized_targetsA
只读列出已通过本机终端一次性确认的一键评估目标,不访问任何网站。
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It does state this is a read-only operation ('只读列出') and that it doesn't access websites, which provides useful safety-relevant behavioral disclosure. However, it doesn't describe what the returned data looks like, pagination, or error behavior. The read-only nature is the key behavioral trait and it is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, compact Chinese sentence that packs in the purpose (read-only listing), the scope (authorized targets), the prerequisite (one-time local confirmation), and the safety property (no website access). Zero waste, every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (0 params, no output schema), and the description covers the essential purpose and safety profile. However, with no output schema and no annotations, some description of what the return value looks like (a list of targets, their format) would improve completeness. The safety-critical 'no website access' detail is a strong disclosure, but the overall picture is lean for a security-oriented tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so the schema provides no semantic burden to document. The description adds value by explaining what is being listed (targets confirmed through one-time local terminal confirmation). With 0 params, a baseline of 4 is appropriate as the description compensates for the absence of any parameter-driven semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: read-only listing of authorized assessment targets that have been confirmed via one-time local terminal confirmation. It explicitly notes no website access. However, it doesn't clearly distinguish from sibling tools like anjian_list_assessments, though the 'targets' vs 'assessments' distinction is somewhat implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description conveys the tool lists authorized targets, implying it should be used before running assessments to see pre-approved targets. However, it doesn't explicitly state when to use this vs alternatives (e.g., anjian_list_assessments for completed assessments). The 'single confirmation' and 'no website access' give some context but not explicit when/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
anjian_quick_assessA
一键深度评估已登记目标:自动运行可用的非破坏性工具、合并证据并生成 Markdown 报告。只需网址。
| Name | Required | Description | Default |
|---|---|---|---|
| target | Yes |
TDQS
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 does disclose that only non-destructive tools are used (a meaningful safety trait) and that it produces a Markdown report. However, it doesn't disclose what happens to existing assessments, potential rate limits, or whether results are persisted/overwritten for the target.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that packs purpose, scope, safety constraint, and output format. Zero wasted words, front-loaded with the action verb.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter automated tool with no annotations and no output schema, the description covers the core workflow (run tools, merge evidence, generate report) but omits details like whether the report is stored, how to retrieve it, or what happens on failure. The safety disclosure (non-destructive) partially compensates for missing annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter (target) with 0% description coverage, so the description must compensate. It states '只需网址' (only needs a URL), which clarifies the expected format/value of target. This is sufficient for a single-parameter tool, though it doesn't specify whether the target must exactly match a registered name or a hostname format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb+resource: '一键深度评估已登记目标' (one-click deep assessment of registered targets). It explains what it does: runs available non-destructive tools, merges evidence, and generates a Markdown report. However, it doesn't explicitly distinguish from siblings like anjian_run_assessment, anjian_consolidate, or anjian_generate_report, which could each overlap in function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states the tool runs '非破坏性工具' (non-destructive tools) and works on '已登记目标' (registered targets), implying it requires prior registration. It mentions '只需网址' (only needs a URL), which signals minimal input. However, no explicit when/when-not guidance or alternative tool references (like anjian_run_assessment or anjian_consolidate) are given, leaving the agent to infer overlaps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
anjian_run_assessmentC
运行授权评估。active 只有在用户已通过终端单独解锁时才会执行。
| Name | Required | Description | Default |
|---|---|---|---|
| level | No | baseline | |
| assessment_id | Yes | ||
| use_external_tools | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does add one meaningful behavioral detail about the 'active' level requiring separate terminal unlock. However, it doesn't disclose whether this is a read or mutating operation, what side effects occur, whether use_external_tools has security implications (especially given many sibling tools relate to security testing/pcap), or what happens to the assessment after running.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (one sentence), which technically scores well on conciseness, but the brevity is a function of under-specification rather than deliberate economy. It does front-load the primary purpose in the first clause. One could argue a 4 given the minimal waste, but the lack of substance makes the conciseness a weakness, not a strength.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter tool with no output schema and no annotations, this description is inadequate. It doesn't explain what the assessment run returns, how the 'level' interacts with 'use_external_tools', whether this assessment modifies state, or what prerequisites exist (besides the 'active' unlock note). The security-testing context implied by sibling tools (pcap, web evidence, controlled active tools) makes the missing behavioral and permission context especially concerning.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate but does not. The description only mentions the 'active' level behavior, leaving 'passive' and 'baseline' levels unexplained. The critical parameters assessment_id and use_external_tools receive zero explanation about their meaning, valid inputs, or consequences. The mutually-exclusive nature of the levels is not clarified beyond the one note about 'active'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states "运行授权评估" (run authorization assessment), which identifies a verb+resource combination, but the description is very brief and doesn't distinguish this tool from siblings like anjian_create_assessment, anjian_get_assessment, or anjian_quick_assess. The meaning of "授权评估" leaves ambiguity about whether this executes, creates, or validates an assessment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides one usage condition: 'active' level only executes when user has separately unlocked it via terminal. However, it provides no guidance on when to use this versus anjian_create_assessment or anjian_run_controlled_active_tool, and no explanation of the relationship between assessment_id, level, and use_external_tools. No exclusions or alternatives are named explicitly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
anjian_run_controlled_active_toolC
运行终端已按工具解锁的受控 SQLMap/FFUF;MCP 本身无权授权或扩大范围。
| Name | Required | Description | Default |
|---|---|---|---|
| tool | Yes | ||
| endpoint_url | No | ||
| request_file | No | ||
| assessment_id | Yes | ||
| wordlist_path | No |
TDQS
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. While it does disclose an important limitation (MCP cannot authorize or broaden scope), it doesn't state what side effects occur (does it launch external processes? are these destructive scans?), whether it modifies anything, or what safety guarantees exist. For a security scanning tool, this is a significant transparency gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short—one sentence. It is 'concise' but arguably under-specified rather than efficiently structured. The caveat sentence about MCP authorization is somewhat useful but placed in the same sentence as the purpose, muddying clarity. There is no front-loading of the most important operational details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a moderately complex tool: 5 parameters, 2 security scanning tools, and no output schema or annotations. Given the complexity and the danger profile of running sqlmap/ffuf, the description is severely incomplete. It doesn't document what the output looks like, what prerequisites exist (e.g., authorized target list, which it likely relates to given anjian_list_authorized_targets), or how constraints are enforced. The blanket 'controlled' claim is unexplained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but there are 5 parameters. The description names the two tools (sqlmap, ffuf) which maps to the enum, but provides no semantics for assessment_id, endpoint_url, request_file, or wordlist_path. An agent would not know endpoint_url vs request_file distinction (both default to empty strings) or how wordlist_path relates to ffuf usage. The description adds essentially nothing beyond what the parameter names and enum convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it runs controlled SQLMap/FFUF on the terminal, with a caveat that MCP lacks authorization. The verb+resource is identifiable but the description is terse—it doesn't clarify what 'controlled' operation entails, what the tool actually does with inputs (injects a request file? probes an endpoint?), or how it differs from sibling anjian_run_assessment. It also fails to distinguish from anjian_scan_source and anjian_run_assessment, which likely overlap in purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does 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 vs alternatives. With siblings like anjian_run_assessment, anjian_scan_source, and anjian_capability_plan, there is no indication which should be used for active scanning versus qualitative assessment. The authorization caveat implies usage is restricted but gives no concrete basis for deciding invocation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
anjian_scan_sourceC
扫描用户明确提供的本地源码目录,结果脱敏并并入统一报告。
| Name | Required | Description | Default |
|---|---|---|---|
| source_path | Yes | ||
| assessment_id | Yes | ||
| use_external_tools | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral disclosure burden. '脱敏' (desensitized/redacted) discloses that results are sanitized, and '并入统一报告' indicates integration into a unified report, but it doesn't disclose the actual scanning behavior, potential for external tool calls, whether the scan is synchronous, what happens to files, or any side effects. The description is too terse 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no wasted words. All three clauses ('扫描', '结果脱敏', '并入统一报告') serve a purpose. It's under-specified rather than verbose; no padding or redundancy exists.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter scan tool with no annotations, no output schema, and 0% schema description coverage, the description is severely under-specified. It lacks parameter semantics, return behavior, prerequisite conditions, error handling, and behavioral context around the external tools flag and report integration. The tool is clearly more complex than this one-line description can convey.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate by explaining the parameters. It provides zero parameter-level guidance: source_path format, assessment_id purpose/where to get it, and use_external_tools (a boolean with a default) are all undocumented. The agent has no way to know how to construct or validate the source_path or how the external tools flag affects behavior.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb '扫描' (scan) and resource '本地源码目录' (local source directory), so the purpose is clear. However, it doesn't differentiate from siblings like anjian_run_assessment, anjian_import_web_evidence, or anjian_import_pcap, which all feed into the unified assessment pipeline. The phrase '结果脱敏并并入统一报告' hints at output processing but doesn't clarify what distinguishes this from other scanning/import tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The word '用户明确提供' (explicitly provided by user) implies a precondition for when to use this tool versus other import mechanisms, but this is implied rather than explicit. No exclusions or alternative tool recommendations are given, despite there being 13 sibling tools with overlapping assessment/import functionality.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
anjian_validate_observationC
记录人工辅助复核决定。必须说明复现、适用条件或误报理由,交付前仍需人类最终审阅。
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| decision | Yes | ||
| severity | No | ||
| description | No | ||
| assessment_id | Yes | ||
| observation_id | Yes | ||
| recommendation | No | ||
| validation_rationale | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the transparency burden. It does disclose that human final review is still required before delivery, which is useful behavioral context for a validation/mutation-type tool. However, it doesn't disclose what happens to the observation after validation, whether the decision is reversible, or what side effects recording a decision has on the assessment.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence that conveys key constraints (must explain rationale, human review still needed). It's short and front-loaded with the core purpose. It could add sibling differentiation, but the length is appropriate.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a validation tool with 8 parameters, no output schema, no annotations, and 0% schema coverage. The description is far too thin for the complexity of the operation. It doesn't clarify the decision enum semantics, what validation_rationale should contain for each decision type, how severity/recommendation enrich the record, or what happens after recording. A 4-param required tool with an enum deserves substantially more guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the 8 parameters, but it only mentions the rationale content requirement. The description doesn't explain what decision values mean (confirmed vs false_positive vs accepted) or the semantics of assessment_id/observation_id beyond the obvious, or how severity/recommendation relate to the decision. With low schema coverage, this is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the tool records manual assisted review decisions, but it's generic and doesn't clearly differentiate from siblings like anjian_consolidate or anjian_run_assessment. The verb '记录' (record) plus the resource '人工辅助复核决定' (manual review decision) gives a reasonable purpose, but the scope/relationship to other anjian tools like anjian_quick_assess or anjian_consolidate isn't clarified.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description says validation must explain reproduction, applicable conditions, or false-positive reasons, and that human final review is still needed before delivery. This provides some context but no explicit when-to-use or when-not-to-use guidance, nor does it distinguish when to use this versus sibling tools such as anjian_run_assessment or anjian_consolidate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
15 tool updates
v0.5.0- First observed
anjian_capability_plan - First observed
anjian_consolidate - First observed
anjian_create_assessment - First observed
anjian_doctor - First observed
anjian_generate_report - First observed
anjian_get_assessment - First observed
anjian_import_pcap - First observed
anjian_import_web_evidence - First observed
anjian_list_assessments - First observed
anjian_list_authorized_targets - First observed
anjian_quick_assess - First observed
anjian_run_assessment - First observed
anjian_run_controlled_active_tool - First observed
anjian_scan_source - First observed
anjian_validate_observation
TDQS
Tools are generally well-distinguished by action (assess, list, run, import, generate, scan, validate) and resource. However, anjian_doctor, anjian_capability_plan, and anjian_list_assessments all touch capability/status inspection and could occasionally confuse an agent about which to use for checking system state.
All tools share the anjian_ prefix with snake_case, showing consistency. However, the naming is inconsistent in granularity and verb style: some use domain-specific verbs (consolidate, validate_observation, import_pcap) while others are action-focused (run, list, create, get). The nouns range from concrete (assessment, target) to abstract (doctor, consolidate), lacking a uniform verb_noun pattern.
At 15 tools, this is near the high end of the ideal range but reasonable for a security assessment platform covering assessment lifecycle, evidence import, analysis, and reporting. Each tool serves a distinct stage of the workflow. Slightly heavy but justifiable given the breadth of the domain.
The surface covers the full assessment lifecycle: create/get/list/run assessments, import evidence (Burp/HAR/PCAP/source), consolidate, validate, and generate reports. Minor gaps include no explicit tool for deleting/deprecating assessments or managing report history/cleanup, and no dedicated tool for listing imported evidence, but agents can work around these.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
- RampifyOAuthdev.rampify
SEO MCP server: crawl your site, find AI-visibility gaps, and ship the fix from your coding agent.
MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Zero-config MCP security scanner for AI-generated apps. 25K+ vulnerability patterns.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMulti-language SAST and AI-powered fuzzing MCP server for Claude Code integration, enabling static and dynamic security analysis of code.MIT
- AlicenseNot gradedqualityBmaintenanceAI-driven penetration testing MCP server that equips Claude with 13 tools for automated reconnaissance, analysis, vulnerability validation, and exploitation.3GPL 3.0
- AlicenseAqualityBmaintenanceAn MCP server that provides passive and low-impact active reconnaissance tools for authorized bug bounty and security assessments, enabling LLMs to perform structured recon and generate reports.11Apache 2.0
- AlicenseCqualityCmaintenanceAI-powered security scanning MCP server that exposes 25+ professional tools, enabling penetration testing and security assessments through natural language interaction with AI agents like Claude Desktop.31MIT
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/ck3938700-ship-it/anjian-agent'
If you have feedback or need assistance with the MCP directory API, please join our Discord server