leam-opt-mcp
This MCP server provides a staged, auditable antenna modeling workflow that turns natural language, images, and paper PDFs into versioned HFSS Python code, optionally builds HFSS projects, and runs gated simulation/optimization jobs.
Health & job management: Check server health, create modeling jobs, run modeling stages through a requested stage, and read current job state/artifact paths.
Source understanding: Analyze antenna images/PDFs to extract topology, dimensions, materials, and uncertainties; refine evidence; approve or recheck hash-frozen source candidates.
Engineering assumptions: Propose and approve values for unresolved parameters with rationale, keeping a hash-frozen review trail.
Model compilation & code generation: Deterministically compile approved evidence into reviewed HFSS artifacts and generate import-safe, versioned
generated_model_vNNN.pyfiles without starting AEDT.Artifact review gate: Hash all generated artifacts and require an approval token before any HFSS execution.
HFSS build: Build reviewed artifacts into an HFSS project; any post-review edit invalidates the approval hash.
Optimization: Create, preflight, and run HFSS optimization jobs in isolated task directories, with trial history, best-result tracking, and no overwriting of the source project.
Pipeline orchestration: Create an end-to-end pipeline spanning source understanding, HFSS build, and optimization, with gates before expensive steps.
Feedback & iteration: Record user feedback/comparison images and regenerate the next versioned Python model without overwriting older versions.
Validation support: Validate generated models against benchmark contracts and S11 data, including contract-only checks.
Provides tools for generating, reviewing, and versioning HFSS Python modeling code, building HFSS projects, running parameter studies, and automating antenna design optimization via PyAEDT.
Click on "Deploy 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., "@leam-opt-mcpTurn the antenna figure and dimensions in paper.pdf into HFSS Python code."
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.
LEAM Opt MCP
从论文、天线结构图和自然语言要求生成可审核、可版本化、可反馈修正的 HFSS Python 建模代码,并在模型确认后选择性进入仿真和自动优化。
当前版本:
0.1.0-alphaHFSS 是当前实现的后端;CST 接口已预留,但尚未实现。
这个项目解决什么问题
论文复现通常不是简单的“识别几个数字”:尺寸可能分散在图片、图注和正文中,部分参数没有公开,不同案例还可能出现在同一页。让大模型直接操作 HFSS,容易把识别错误直接变成不可追踪的模型错误。
本项目把这个过程拆成可检查的流水线:
PDF / 图片 / 文字描述
↓
识别天线拓扑、尺寸、材料和布尔关系
↓
区分论文证据、视觉解释、工程假设和未确定项
↓
人工审核与内容哈希确认
↓
generated_model_v001.py
↓
用户在 HFSS 中运行并与来源图片对照
↓
文字或截图反馈
↓
generated_model_v002.py
↓
可选:HFSS 求解和参数自动优化生成 Python 代码是默认终点。识别和代码生成不会自动启动 AEDT,也不需要 HFSS 许可证。
Related MCP server: ansys-aedt-mcp
核心能力
接收自然语言、PNG/JPEG 和论文 PDF;
使用本地视觉模型或云端视觉模型读取结构图;
将识别结果保存为参数、材料、实体、尺寸和布尔操作等中间工件;
对图文冲突、跨案例尺寸污染、低置信度结构和未公开参数执行质量检查;
用内容哈希冻结人工审核结果,工件修改后旧批准自动失效;
生成 import-safe 的
generated_model_vNNN.py,只暴露build(hfss);保存用户的 HFSS 对照意见和截图,生成新的代码版本而不覆盖旧版本;
在显式授权后构建 HFSS 工程、运行参数试验并保存最优结果;
同时提供 MCP 和命令行接口。
快速安装
需要 Python 3.10–3.13。仅使用离线建模流程时不需要安装 AEDT。
git clone https://github.com/jacksonnnzzz/leam-opt-mcp.git
cd leam-opt-mcp
py -3.12 -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e ".[dev,local-vision]"需要通过外部 Python 连接 HFSS 时,再安装 PyAEDT:
python -m pip install -e ".[hfss,dev,local-vision]"检查当前配置;报告只显示密钥是否存在,不显示密钥内容:
antenna-doctor配置视觉与文本模型
下面的组合使用本机 Ollama 识图、DeepSeek 处理文本和生成代码:
ollama pull qwen3-vl:8b
$env:ANTENNA_VISION_PROVIDER = "ollama"
$env:OLLAMA_BASE_URL = "http://localhost:11434"
$env:OLLAMA_VISION_MODEL = "qwen3-vl:8b"
$env:ANTENNA_TEXT_PROVIDER = "deepseek"
$env:DEEPSEEK_API_KEY = "<your-key>"
$env:DEEPSEEK_BASE_URL = "https://api.deepseek.com"
$env:DEEPSEEK_MODEL = "<your-text-model>"
# 可选:只覆盖本次进程使用的文本模型,包括续跑已有任务。
$env:ANTENNA_TEXT_MODEL = "<your-text-model>"
$env:ANTENNA_MCP_WORKSPACE = ".antenna-mcp"环境变量只对当前 PowerShell 进程及其子进程生效。不要把真实 API Key 写入 README、配置样例、任务 JSON 或 Git 提交。
ANTENNA_TEXT_MODEL 是显式的运行时覆盖项,优先级高于任务创建时保存的
request.model,但不会改写任务 JSON。它只传给 ANTENNA_TEXT_PROVIDER;本地视觉仍由
ANTENNA_VISION_PROVIDER 和 OLLAMA_VISION_MODEL 独立控制。没有设置该变量时,继续使用
原有的任务模型/提供方默认模型行为,因此旧任务和旧配置保持兼容。
UTF-8 JSON、Markdown、CSV 等纯文本附件会在明确的不可信证据边界内嵌入文本提示,并由
ANTENNA_TEXT_PROVIDER 处理;图片和 PDF 才路由至 ANTENNA_VISION_PROVIDER。文本附件的
总字符数默认限制为 250000,可用 ANTENNA_TEXT_ATTACHMENT_MAX_CHARS 调整。
也可以将视觉提供方设置为 openai,具体变量见 .env.example。
最短建模流程
1. 创建任务
antenna-workflow model-create `
--description "只复现目标图中的天线,不得混用论文其他案例的尺寸" `
--template paper_reconstruction `
--attachment "C:\path\to\paper.pdf"命令会返回一个 mdl-... 任务编号,后续命令都使用这个编号。
2. 识别并审核来源
antenna-workflow model-run <job-id> --through-stage source_analysis
antenna-workflow source-refine <job-id> `
--description "列出全部实体、独立尺寸、派生关系、材料和未确定项"检查任务目录中的:
source_analysis_candidate.json;source_refinement_report.json;source_review_packet.json;裁切后的视觉输入和视觉审计文件。
确认内容后,把命令返回的哈希原样提交:
antenna-workflow source-approve <job-id> <source-approval-hash>3. 生成建模代码
antenna-workflow model-run <job-id> --through-stage boolean
antenna-workflow codegen <job-id>生成流程在落盘前同时检查跨阶段结构一致性、model/boolean/simulation 职责隔离,以及
PyAEDT 0.26.3 关键方法和参数名。failed 状态下不要运行 codegen 或 AEDT;completed
也只代表生成门禁通过,最终正确性仍需 benchmark contract 和独立 HFSS/S11 验证。
如果旧任务曾把 qwen3-vl:8b 保存到 request.model,并在 model_3d 阶段失败,可在
同一个 PowerShell 中只覆盖续跑所用的文本模型:
$env:ANTENNA_TEXT_PROVIDER = "deepseek"
$env:ANTENNA_TEXT_MODEL = "<your-deepseek-text-model>"
$env:DEEPSEEK_API_KEY = "<your-key>"
$env:ANTENNA_VISION_PROVIDER = "ollama"
$env:OLLAMA_VISION_MODEL = "qwen3-vl:8b"
antenna-doctor
antenna-workflow model-run <job-id> --through-stage boolean续跑会复用失败阶段之前已经验证并保存的工件,从失败的 model_3d 重新开始;文本覆盖
不会把 Ollama 的视觉模型改成 DeepSeek 模型。
主要输出:
文件 | 作用 |
| 不可变的第一版建模代码 |
| 指向当前最新内容的稳定文件名 |
| 在 AEDT 内运行对应几何版( |
| 在 AEDT 内运行当前最新几何版模型的稳定入口 |
| 记录输入工件、哈希和执行边界 |
| 参数及单位 |
| 材料定义 |
| 实体和拓扑 |
| 坐标和尺寸关系 |
导入 generated_model_v001.py 不会启动 AEDT。只有主动调用其中的 build(hfss),才会修改传入的 HFSS 设计。
在 HFSS 中查看模型
仓库提供两种方式。
方式 A:AEDT 内运行 wrapper
codegen --through-stage boolean 会在该任务目录自动生成 run_in_aedt_vNNN.py
和 run_in_aedt.py;论文案例目录也包含相同形式的入口。打开目标工程,然后在
AEDT 中选择:
Tools > Run Script > run_in_aedt.pywrapper 会调用仓库或安装包中统一维护、带哈希校验的 native adapter,新建一个
唯一命名的 HFSS Design,只构建几何,不保存、不求解。不要直接选择
generated_model_vNNN.py。若移动任务目录,应保留完整 GitHub 仓库,或重新运行
codegen 以记录当前安装位置的 adapter。
包含 simulation_setup 的导出不会生成或覆盖 native wrapper,因为 native adapter
只实现几何接口,不实现 setup、端口或边界 API。此类完整仿真代码必须使用下方的
外部 CPython/PyAEDT 方式执行。
方式 B:外部 PyAEDT
python .\tools\apply_generated_model.py `
".\.antenna-mcp\<job-id>\generated_model_v001.py" `
--validate-only去掉 --validate-only 前,应先打开目标 AEDT 工程和空的 HFSS Design。可以使用 --expect-project 与 --expect-design 防止连接到错误对象。
用户反馈与版本迭代
在 HFSS 中对照论文图片后,提交具体修改意见和可选截图:
antenna-workflow feedback <job-id> `
"馈线需要向左移动 0.5 mm;不得修改已经审核的其他尺寸" `
--comparison-image ".\hfss-comparison.png"
antenna-workflow regenerate <job-id>系统会生成 generated_model_v002.py,不会覆盖 v001。反馈附件会复制到任务目录并记录 SHA-256。
可选:仿真和自动优化
模型确认后,才能考虑端口、边界、空气区域、网格、扫频与优化范围。这些信息不能仅凭结构图片静默猜测。
论文参考模型尚未通过论文门槛时,先使用版本化工程假设搜索。它会锁定论文明确参数, 只改变标记为“来源未披露”的端口、导体、介质或边界假设,并把每次 S11、收敛证据、 哈希和排名保存为不可覆盖版本:
antenna-workflow assumption-plan `
--space ".\examples\validation\wifi_patch_5250\assumption_space.json" `
--output-dir ".\examples\validation\wifi_patch_5250\local_results\assumption_search_v1" `
--limit 10完整的 AEDT 附加、恢复和失败重试命令见
docs/ASSUMPTION_SEARCH.md。只有工程假设版本通过参考门槛
G3 后,才能进入独立候选 G4/G5 和后续性能优化。
执行 HFSS 前需要最终审核哈希和显式执行门:
antenna-workflow artifact-review <job-id>
$env:ANTENNA_MCP_ALLOW_SIMULATION = "1"
antenna-workflow hfss-build <job-id> <artifact-approval-hash> `
--project-name "antenna.aedt"优化器会复制输入工程,在隔离任务目录中运行试验:
先验证每个优化变量确实会改变 HFSS 几何;
未通过自适应收敛或扫频收敛门禁的试验不会参与最优排名;
每次试验追加到
trials.jsonl;当前最优参数写入
best.json;最优工程单独保存;
原始
.aedt文件不会被覆盖;中断后可从已有试验继续,已完成任务重复执行不会再求解。
建议先执行不求解的预检,再正式运行:
antenna-workflow optimization-create .\optimization_request.json
antenna-workflow optimization-preflight <optimization-job-id>
$env:ANTENNA_MCP_ALLOW_SIMULATION = "1"
antenna-workflow optimization-run <optimization-job-id>官方探针贴片已完成一次 12 组真实 HFSS 回归:12/12 组均收敛,目标小频段内最差
S11 从 −9.9348 dB 改善到 −11.4999 dB,源工程 SHA-256 前后一致。可复核记录见
optimization_study_2026_08_28.json。
完整参数格式见 docs/PIPELINE.md。
MCP Server
启动 stdio MCP Server:
leam-opt-mcpMCP 客户端配置示例:
{
"mcpServers": {
"leam-opt": {
"command": "C:/path/to/repository/.venv/Scripts/python.exe",
"args": ["-m", "antenna_mcp.server"],
"env": {
"ANTENNA_TEXT_PROVIDER": "deepseek",
"ANTENNA_VISION_PROVIDER": "ollama",
"DEEPSEEK_API_KEY": "${DEEPSEEK_API_KEY}",
"OLLAMA_VISION_MODEL": "qwen3-vl:8b",
"ANTENNA_MCP_WORKSPACE": ".antenna-mcp"
}
}
}
}主要 MCP 工具:
analyze_antenna_sourcerefine_antenna_sourceapprove_antenna_sourcegenerate_antenna_pythonsubmit_antenna_model_feedbackregenerate_antenna_python_from_feedbackbuild_hfss_projectcreate_hfss_optimization_jobpreflight_hfss_optimization_jobrun_hfss_optimization_jobvalidate_antenna_modelget_antenna_job
论文复现案例
examples/leam_paper_cases 包含四个离线案例:
案例 | 来源 | 当前状态 |
| Fig. 3 | 图中导体尺寸已解析 |
| Fig. 4 | 拓扑和公开尺寸已解析;样条点为显式假设 |
| Fig. 5 | 公开尺寸已解析;基板、馈线等保留工程假设 |
| Fig. 7 | 七实体拓扑、修正式和 FR-4 数据已整理;铜厚为显式假设 |
论文 PDF 不随仓库分发。请把合法获取的 PDF 放入案例的 references/,或在请求文件中填写自己的本地路径。
项目结构
src/antenna_mcp/ 核心 Python 包与 MCP Server
examples/ 论文案例、证据与生成代码
tools/ AEDT native/PyAEDT 执行适配器
tests/ 不需要 API、AEDT 或许可证的测试
docs/ 架构、完整流程和发布说明
.github/ CI、Dependabot 与 Issue 模板正确性验证
论文几何复现案例与正确性基准严格分开。仓库以 Ansys 官方 PyAEDT 探针馈电 贴片作为已求解本地基线,并加入三篇开放论文的六个独立参考设计;它们都可分别 执行离线结构检查和完整 S11 对比:
antenna-workflow validate `
--benchmark ".\examples\validation\ansys_pyaedt_probe_patch\benchmark.json" `
--candidate ".\examples\validation\ansys_pyaedt_probe_patch\candidate_contract.example.json" `
--contract-only `
--report ".\tmp\probe-patch-contract-report.json"没有参考与候选两条 S11 CSV 时,完整验证只会返回 incomplete,不会把几何相似
误报为电磁正确。完整格式与本地参考求解流程见
docs/VALIDATION.md 和
examples/validation。
多论文验证活动的当前状态、论文目标、未决假设和下一道验收门槛见
examples/validation/CAMPAIGN.md。其中离线测试通过、
HFSS 参考求解通过和独立生成候选通过是三个不同结论,不会互相替代。
面向汇报的总体结论见
examples/validation/CORRECTNESS_REPORT.md。
7 个“一案例一文件夹”的运行入口见
examples/validation/cases/CASE_INDEX.md。
测试和打包
pytest
python -m build测试默认使用 fake provider 和 fake HFSS 对象,不会调用云端模型,不会启动 AEDT,也不会消耗 HFSS 许可证。
安全与工程边界
大模型生成的 Python 不是安全沙箱,执行前必须人工检查;
AST 检查只能阻止部分明显危险构造,不能证明电磁模型正确;
图片相似不代表端口、边界、网格、频扫和材料设置正确;
自动优化依赖有效的 AEDT 安装、HFSS 许可证和可求解工程;
项目不提供、修改或绕过任何 Ansys 许可证;
.env、API Key、论文 PDF、.aedt和求解结果默认不提交 Git。
更多信息:
上游工作与资料
本项目不复制 LEAM 源码,而是实现相似的分阶段、可检查建模思想,并增加 MCP、离线代码版本、人工反馈和 HFSS 优化层。
License
Available Tools
22 toolsanalyze_antenna_sourceC
Recognize topology, labels, dimensions, materials, and uncertainties in antenna images/PDFs.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | ||
| template | No | paper_reconstruction | |
| attachments | Yes | ||
| description | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full responsibility. It states what the tool recognizes but does not disclose whether it is read-only, what happens with multiple attachments, any limitations, or what the output contains. 'Recognize' hints at non-destructive analysis, but this is not explicit.
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 front-loaded sentence, easy to scan and appropriately short. However, it is concise at the cost of omitting necessary parameter and usage details, making it minimally useful rather than information-dense.
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 four parameters (two required), no annotations, and an output schema whose contents are not described, the description is insufficient for an agent to fully understand the tool's invocation context. It lacks parameter semantics, workflow placement, and behavioral expectations.
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 does not explain any of the four parameters (description, attachments, model, template). It only hints that images/PDFs are relevant, but leaves the required 'description' parameter and the 'template' default completely unexplained.
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 the specific verb 'Recognize' and clearly identifies the resource ('antenna images/PDFs') and the attributes extracted (topology, labels, dimensions, materials, uncertainties). This differentiates it from siblings like refine_antenna_source or approve_antenna_source, which imply modification or approval rather than analysis.
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 the tool is for extracting information from antenna source documents, but it does not state when to use it versus alternatives such as refine_antenna_source or recheck_antenna_source. There is no explicit 'when not to use' or reference to sibling tools, leaving workflow placement implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
antenna_server_healthA
Report configured workspace, optional backend availability, and execution gate.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description must convey behavioral traits. It mentions that the tool reports workspace configuration, optional backend availability, and execution gate, which gives some context about its informational nature. However, it does not disclose side effects, permission requirements, or potential delays, leaving uncertainty about the tool's runtime behavior.
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, well-structured sentence with no filler. Every word contributes to explaining the tool's purpose, and the information is 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?
The description gives the core idea but lacks contextual details such as when to call this health check, what the 'execution gate' implies, and how it relates to the sibling tools. The output schema likely covers return values, but the description alone leaves the tool's role in the workflow underspecified.
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, so the schema carries no semantic burden. The description is not required to elaborate on parameters, and the baseline for zero-parameter tools is 4.
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 a specific verb ('Report') and identifies three distinct resources (configured workspace, optional backend availability, execution gate). This clearly distinguishes it from sibling tools that create, run, or approve antenna artifacts.
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 provided on when to use this tool versus alternatives. The description states what it does but does not suggest when it should be invoked (e.g., before other operations) or when to avoid it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
approve_antenna_engineering_assumptionB
Approve the exact hash-frozen engineering assumption candidate after user review.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| approval_hash | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for disclosing behavioral traits. It indicates the action and a constraint (hash-frozen), but does not explain side effects (e.g., state changes, downstream triggers), permissions required, reversibility, or whether the approval is idempotent. This is a significant gap for an approval action.
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, well-structured sentence with no redundant words. It front-loads the verb and object, making it immediately understandable.
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?
Despite a simple signature (2 string params) and an output schema, the description lacks sufficient context about prerequisites (e.g., prior propose step), how this approval integrates with sibling tools, and what constitutes a valid approval hash. The 'after user review' hint is the only contextual anchor, which is insufficient for a mutating workflow step.
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 descriptions are empty (0% coverage), so the description must compensate. It hints at a hash ('exact hash-frozen') for approval_hash but does not explain the role of job_id or the format/relationship between the two parameters. An agent would be unclear what values to supply.
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 action ('Approve') and the specific object ('exact hash-frozen engineering assumption candidate'), which distinguishes it from sibling tools like 'approve_antenna_source' or 'propose_antenna_engineering_assumption'. The qualifiers 'exact hash-frozen' and 'after user review' add precision, though it doesn't explicitly list alternative 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 phrase 'after user review' implies a specific point in the workflow, providing some context for when to use the tool. However, there is no explicit guidance on when not to use it or what alternatives (e.g., approve_antenna_source, compile_reviewed_antenna_model) might be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
approve_antenna_sourceB
Approve the reviewed source candidate before downstream model/code generation.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| approval_hash | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It indicates the approval is a step in a pipeline but does not mention side effects, whether the operation is idempotent, or any security requirements (e.g., the approval_hash). The phrase 'before downstream generation' gives a hint, but essential behavioral details are missing.
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, front-loaded sentence with no filler. Every word contributes to the core purpose and timing, making it appropriately concise.
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?
Despite having an output schema, the description is too thin for an approval action. It doesn't explain prerequisites (e.g., that the source must be analyzed, refined, and rechecked first), what it means to 'approve' beyond the step, or what the approval_hash validates. For a tool with sibling workflow steps, more context is needed.
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% and the description provides no explanation of the two parameters (job_id and approval_hash). The approval_hash, in particular, is non-obvious and would benefit from a description of its role. The description does not compensate for the schema's lack of detail.
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 action ('Approve'), the resource ('reviewed source candidate'), and the context ('before downstream model/code generation'). It is specific enough to distinguish from sibling tools like approve_antenna_engineering_assumption, which targets a different artifact.
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 a clear temporal context: the approval happens after a source has been reviewed and before generation. However, it doesn't explicitly name alternatives or state when not to use the tool, which would push it to a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_approved_antenna_pipelineC
Build the approved pipeline model and stop before expensive optimization.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| approval_hash | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden for behavioral disclosure. It does reveal that the tool stops before optimization, but it does not explain side effects, what happens to the pipeline after building, or any error conditions. The description is too minimal to convey the tool's full behavioral profile.
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, front-loaded sentence with no wasteful phrasing. It earns its place by including the important 'stop before expensive optimization' detail, though the lack of additional context makes it under-specified rather than concisely comprehensive.
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 the tool has two required parameters and an output schema, the description is incomplete. It fails to explain what an 'approved' pipeline implies, where to get the approval_hash, or what the returned model looks like. For a build step in a pipeline, this is not enough guidance for an agent to use it independently.
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 provides only parameter names and types for job_id and approval_hash, with zero description coverage. The tool description does not explain the meaning, source, or relationship of these parameters, so the agent is left guessing—especially about what an approval_hash is. The description adds no value beyond the schema.
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—building the approved pipeline model—and adds a clear boundary with 'stop before expensive optimization,' which differentiates it from optimization-related siblings. However, 'approved' is not defined, so it is not a fully explicit resource.
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 phrase 'stop before expensive optimization' implies a use case of avoiding the optimization step, but it does not explicitly say when to use this tool versus alternatives like optimize_antenna_pipeline. There is no clear when-not-to-use or mention of prerequisites beyond the approval_hash parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_hfss_projectC
Build reviewed artifacts; any edit after review invalidates the supplied approval hash.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| grpc_port | No | ||
| project_name | No | antenna.aedt | |
| session_mode | No | new | |
| approval_hash | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses an important behavioral constraint (edits after review invalidate the approval hash), but with no annotations, the full burden is on the description. It does not mention side effects, permissions, idempotency, or what happens if the hash is invalid, leaving significant gaps.
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 brief and has no fluff, but it is under-specified. A single sentence with only one piece of constraint information is not enough for a 5-parameter tool, so this is under-specification rather than appropriate 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?
Given there are no annotations, no schema descriptions, and a complex 5-parameter surface, the description is severely incomplete. It does not explain the build process, output semantics (despite an output schema existing), or parameter roles, so the agent cannot reliably know when or how to invoke it.
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 no descriptions for any of the 5 parameters, and the description does not mention job_id, approval_hash, grpc_port, project_name, or session_mode. The tool provides no semantic meaning beyond the parameter names themselves.
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 action ('Build') and a general resource ('reviewed artifacts'), but it does not specify that this is an HFSS project build or what artifacts are included. The name provides context, but the description alone is vague and does not clearly distinguish from sibling build/compile 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?
No explicit guidance is given on when to use this tool versus alternatives. The mention of 'reviewed' implies it should be used after review, but there are no exclusions, prerequisites, or references to sibling tools like compile_reviewed_antenna_model or build_approved_antenna_pipeline.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compile_reviewed_antenna_modelC
Deterministically compile approved evidence and assumptions into reviewed HFSS artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| profile | No | auto | |
| assumption_approval_hash | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 mentions 'deterministically' implying reproducibility, but does not disclose side effects, required permissions, failure modes, or what 'reviewed artifacts' means concretely. This is insufficient for an agent to anticipate tool behavior.
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 with no redundant content, but it is under-specified rather than concise in a helpful way. It is not bloated, yet it omits crucial details that could also be conveyed briefly.
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 the presence of an output schema, return values do not need describing, but the tool still lacks context around when to use it, how the assumption approval hash is used, and relationship to sibling approval/build tools. The description is too thin for a 3-parameter tool in a complex pipeline.
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 does not explain any parameter (job_id, profile, assumption_approval_hash). The agent must rely solely on parameter names, which is not enough to understand formats, defaults, or relationships.
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 a specific verb ('compile') and resource ('approved evidence and assumptions') to indicate the tool transforms approved inputs into HFSS artifacts. However, 'reviewed HFSS artifacts' is somewhat ambiguous and does not clearly distinguish this from sibling tools like 'build_hfss_project' or 'build_approved_antenna_pipeline'.
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 versus alternatives, no prerequisites, and no exclusions. The description only states what it does, not when it should be invoked in the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_antenna_modeling_jobB
Create a staged prompt-driven modeling job without running the LLM or simulator.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | ||
| backend | No | hfss | |
| template | No | strong_description | |
| include_2d | No | ||
| attachments | No | ||
| description | Yes | ||
| include_simulation | No | ||
| include_optimization | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output 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 states the tool does not run the LLM or simulator, which is a helpful negative behavior, but it does not explain what 'staged prompt-driven' entails, whether the job is persisted, or any side effects of creation. This leaves significant ambiguity for a creation tool.
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, front-loaded sentence with no wasted words. It is economical and directly states the core purpose, though its terseness does leave gaps that are accounted for in other dimensions.
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?
Despite having an output schema (which covers return values), the description is insufficient for a tool with 8 parameters, no annotations, and a rich set of sibling tools. The domain term 'staged prompt-driven modeling job' is undefined, and the description does not explain how this tool fits into the workflow or what differentiates it from other creation tools.
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 0% description coverage for its 8 parameters, and the description mentions none of them. The meaning of fields like model, backend, template, include_2d, attachments, etc., is entirely unexplained, so the description adds no value beyond the raw schema.
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 identifies the action 'Create', the resource 'staged prompt-driven modeling job', and the key qualifier 'without running the LLM or simulator'. This distinguishes it from siblings like run_antenna_modeling_job, which presumably executes the job.
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 phrase 'without running' implies this tool is for setting up a job to be executed later, but the description does not explicitly state when to use this tool versus alternatives. It names no alternatives or exclusions, leaving the agent to infer usage from the sibling tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_antenna_pipelineC
Create one end-to-end job spanning multimodal understanding, HFSS build, and optimization.
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | ||
| backend | No | hfss | |
| template | No | strong_description | |
| grpc_port | No | ||
| include_2d | No | ||
| attachments | No | ||
| description | Yes | ||
| project_name | No | antenna_pipeline.aedt | |
| session_mode | No | new |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 only states that it creates an end-to-end job; it does not mention side effects, blocking behavior, required permissions, or what the returned job object represents.
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 front-loads the primary action and scope, with no filler or redundant phrasing. It is appropriately concise, though it is too terse given the tool's complexity.
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 9 parameters, no annotations, and zero schema description coverage, yet the description provides almost no contextual detail about inputs, behavior, or workflow. Although an output schema exists, it does not compensate for the missing parameter semantics and usage 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% and there are 9 parameters, but the description does not address any of them. It neither explains key parameters like description, project_name, or session_mode, nor compensates for the schema's lack of per-field descriptions.
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 a specific verb ('Create') and identifies the resource as 'one end-to-end job spanning multimodal understanding, HFSS build, and optimization,' which distinguishes it from stage-specific siblings like create_antenna_modeling_job or build_hfss_project. However, 'multimodal understanding' is somewhat vague, and the description says 'job' rather than 'pipeline' despite the tool name.
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 provided on when to use this tool versus alternatives such as generate_antenna_pipeline or create_antenna_modeling_job. There are no exclusions, prerequisites, or context about the intended workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_hfss_optimization_jobB
Copy an existing HFSS project into an isolated job and prepare black-box optimization.
| Name | Required | Description | Default |
|---|---|---|---|
| request | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool copies an existing project and creates an isolated job, which implies the original project is not mutated. However, there are no annotations, so the description carries the full burden, and it fails to mention prerequisites, lifecycle implications, or whether any persistent state is created beyond the copy.
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 front-loads the action ('Copy') and avoids extraneous words. It is appropriately sized for the tool's basic purpose.
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?
Despite the tool's complexity (black-box optimization, opaque request object, no annotations), the description is too terse. It does not explain required inputs, how the isolation works, what 'prepare black-box optimization' entails, or what the caller should expect. An output schema exists but is not provided, so the description must carry more weight.
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 input schema has a single generic 'request' object with additionalProperties true and no field descriptions, giving 0% schema coverage. The description adds no meaning about what the 'request' should contain, leaving the agent with no guidance on how to construct a valid request.
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 a specific action: copying an existing HFSS project into an isolated job and preparing black-box optimization. It distinguishes this creation/preparation step from sibling tools like run_hfss_optimization_job and build_hfss_project.
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 the tool is used in an optimization workflow, but it does not explicitly state when to use it versus alternatives, nor does it mention related steps like running the optimization job. No exclusions or alternative tool references are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_antenna_pipelineC
Run source understanding through optimization planning, then stop at the artifact review gate.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description alone must disclose side effects and behavior. It only mentions a stopping point ('stop at the artifact review gate') and a processing sequence, but does not say whether it mutates data, what inputs it uses beyond job_id, or whether it's long-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 one short sentence, so it is not verbose, but it is under-specified for the complexity of the tool. It lacks any structural breakdown (e.g., steps, conditions) that would help an agent understand the pipeline behavior.
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 the complexity implied by 21 sibling tools, this description is incomplete. It does not cover the output schema, the nature of the artifact review gate, or what 'source understanding' and 'optimization planning' entail.
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 a single required job_id with no description, and the tool description does not mention it. With 0% schema coverage, the description fails to explain the parameter's meaning or 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 gives a high-level process flow ('Run source understanding through optimization planning, then stop at the artifact review gate') but uses vague terms like 'source understanding' and 'optimization planning' without specifying the concrete action or output. It doesn't clearly state that it generates a pipeline, despite the tool name, and it doesn't differentiate from sibling pipeline steps.
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 no guidance on when to call this tool versus the many sibling tools. It implicitly suggests a sequence but never explains prerequisites or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_antenna_pythonA
Generate a complete Python model artifact without starting AEDT or using a license.
The returned file is safe to import offline. It exposes build(hfss); calling that
function later requires an explicitly supplied, licensed PyAEDT HFSS object.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| through_stage | No | boolean |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
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 disclosure. It reveals that no license is consumed, the generated file is offline-importable, and the exposed build(hfss) function requires a licensed PyAEDT object later. This is substantial behavioral context beyond mere operation.
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 only three sentences, front-loaded with the main purpose, and every sentence adds value (purpose, offline safety, function contract). There is zero fluff or redundancy.
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?
While the output behavior is well explained, the description is incomplete for pipeline usage: it does not clarify what job_id refers to, what through_stage means, or how this step relates to sibling tools like create_antenna_modeling_job or regenerate_antenna_python_from_feedback. The missing parameter semantics and pipeline context leave significant gaps.
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 gives no explanation of job_id or through_stage. The agent is left entirely in the dark about what values to supply for these parameters, making correct invocation nearly impossible.
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 a specific verb+resource: 'Generate a complete Python model artifact.' It also distinguishes this tool from siblings by highlighting that it runs 'without starting AEDT or using a license,' a unique trait among the listed 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?
It provides clear usage context: use this to obtain a Python artifact without needing a license or launching AEDT. It explains the output is safe to import offline, implying when this tool is appropriate, but it does not explicitly name alternatives or state exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_antenna_jobB
Read current job state and artifact paths.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. The verb 'read' implies a non-mutating operation, which is a clear behavioral trait, but the description does not disclose error handling, required permissions, or behavior when the job does not exist.
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 front-loads the core purpose with zero wasted words. It is appropriately sized for the tool's simplicity.
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?
An output schema exists to describe return values, so the description need not repeat them. However, the description lacks usage context and parameter origin, making it adequate for a simple one-parameter getter but not comprehensive.
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 does not elaborate on the job_id parameter beyond the schema's 'Job Id' label. It does not explain where to find the job_id or any format constraints, failing to compensate for the lack of schema detail.
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 'Read current job state and artifact paths' uses a specific verb ('read') and clearly identifies the resource (current job state and artifact paths), distinguishing it from sibling mutation tools like create_antenna_modeling_job or run_antenna_modeling_job.
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 provided on when to use this tool versus alternatives, such as needing to create or start a job first, or when to prefer run_antenna_modeling_job. There is no mention of prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
optimize_antenna_pipelineC
Run the planned HFSS optimization and produce the best project plus complete trial history.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It mentions running an optimization and producing outputs, but it doesn't reveal side effects (e.g., creating/modifying projects), prerequisites, or potential non-determinism. For a tool that likely executes a long-running workflow, this is insufficient.
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 with no wasted words. It front-loads the action and states deliverables clearly, making it easy to parse.
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?
While an output schema exists, the description lacks important context: what constitutes a 'planned' optimization, the relationship to the pipeline workflow (given sibling tools), and execution behavior (e.g., synchronous vs asynchronous). It's too sparse for a pipeline-level operation with multiple sibling tools.
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 sole parameter 'job_id' has no schema description and 0% coverage, and the tool description does not explain its meaning or how it relates to the 'planned HFSS optimization'. Since coverage is low, the description should compensate, but it adds no parameter-specific information.
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 'Run' and the resource 'planned HFSS optimization', with explicit outputs ('best project plus complete trial history'). It conveys the core function effectively, though it doesn't differentiate from the sibling tool 'run_hfss_optimization_job', which appears similar.
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 provided on when to use this tool versus alternatives. The word 'planned' implies a prerequisite but there is no explicit context, exclusions, or mention of alternative tools like 'run_hfss_optimization_job'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_antenna_artifact_reviewA
Hash every generated artifact and return the approval token required for HFSS execution.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output 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. It discloses the core operations (hashing artifacts, returning a token) but does not state whether the operation is read-only or has side effects, nor does it mention failure conditions.
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 with no unnecessary words, effectively front-loading the action and outcome.
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 (one required parameter), and the description provides a high-level purpose, but it lacks an explanation of the parameter and preconditions. Given the existence of an output schema, the missing return details are acceptable, but the parameter gap makes it incomplete.
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 description does not explain the job_id parameter at all. With 0% schema description coverage, this leaves the agent to infer that job_id refers to the artifacts to hash, which 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 clearly states the tool's function: hashing all generated artifacts and returning an approval token. It distinguishes this from sibling tools like approve_antenna_source or build_hfss_project by focusing on the hashing/preparation step.
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 phrase 'required for HFSS execution' provides clear context that this tool is a prerequisite before running HFSS. However, it does not explicitly mention alternatives or when not to use it, leaving some ambiguity relative to the approval-related sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
propose_antenna_engineering_assumptionB
Propose a value for a null/unresolved source parameter and return its review hash.
| Name | Required | Description | Default |
|---|---|---|---|
| unit | Yes | ||
| value | Yes | ||
| job_id | Yes | ||
| symbol | Yes | ||
| rationale | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It mentions the return of a 'review hash' but does not state whether the tool is a read or write operation, what side effects occur, required permissions, or how the proposal is processed. The term 'propose' implies a state change, but without annotation support, the description is insufficient.
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, front-loaded sentence. It is concise and free of filler, covering purpose and a key output. This is efficient, though it sacrifices detail in other dimensions.
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 tool with 5 required parameters and no annotations, the description is too brief. It does not explain the workflow position (e.g., when to propose vs approve), what the review hash is for, or any prerequisites. While an output schema exists, the description still lacks essential context for correct invocation in the broader pipeline.
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 hints at 'value' and 'source parameter' (likely 'symbol'), but does not explain job_id, unit, or rationale. The description adds general context but fails to map to the 5-parameter schema meaningfully.
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 a specific action: 'Propose a value for a null/unresolved source parameter' and indicates the tool returns a 'review hash'. This distinguishes it from sibling tools like approve_antenna_engineering_assumption and analyze_antenna_source by focusing on proposing a value for unresolved parameters.
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 clear usage context: when a source parameter is 'null/unresolved'. This implies a workflow step before approval, and the 'propose' wording suggests it is the action to take before moving to approval. It doesn't explicitly name alternatives, but the condition is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recheck_antenna_sourceB
Apply a reviewed source audit deterministically and issue a new hash-frozen candidate.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| visual_audit_path | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses two meaningful behavioral traits: 'deterministically' and 'hash-frozen', which clarify that the operation is reproducible and produces an immutable candidate. With no annotations provided, the description carries the full burden for transparency, but it omits side effects, permissions, or error behavior, so it is partially transparent.
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 with no unnecessary words, making it concise and front-loaded. However, its cryptic jargon ('hash-frozen') reduces overall clarity, though the structure itself is efficient.
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?
Despite having an output schema (contents unknown) and only two parameters, the description lacks crucial context: it does not explain what a 'reviewed source audit' is, how to obtain it, the significance of 'deterministically', or the role of the visual_audit_path. The description also does not indicate what the tool returns beyond 'a new candidate', leaving the agent with significant gaps.
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 input schema has two parameters (job_id, visual_audit_path) with 0% schema description coverage, yet the description does not mention either parameter or explain their roles. The parameter names are self-explanatory only at a basic level, and the description adds no information beyond the schema, failing to compensate for the low coverage.
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 a specific verb ('Apply') and resource ('reviewed source audit') with a concrete outcome ('issue a new hash-frozen candidate'), making the tool's core function clear. However, it does not explicitly differentiate from sibling tools like refine_antenna_source or approve_antenna_source, so it stops short of full clarity.
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 'reviewed' implies the tool should be used after an audit has been reviewed, but the description provides no explicit when-to-use guidance or alternatives. It does not contrast with sibling tools such as analyze or refine, leaving the usage context only weakly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
refine_antenna_sourceB
Reconcile raw visual evidence with extracted text; produces a hash-frozen review candidate.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| visual_audit_path | No | ||
| target_description | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, but it only mentions that it 'produces a hash-frozen review candidate,' which hints at immutability but nothing about side effects, permissions, or whether state is mutated. The term 'reconcile' is vague about the actual processing behavior.
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 with no redundant words. It is front-loaded with the verb and quickly communicates the core action and outcome, making it maximally concise.
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 description is too brief to be operationally useful: it lacks when-to-use guidance, parameter details, and an explanation of 'hash-frozen'. The output schema covers return values, but the tool's role in the larger workflow and its side effects are not specified, particularly given the large number of sibling tools.
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 does not explicitly describe any of the three parameters. While 'raw visual evidence' and 'extracted text' loosely align with visual_audit_path and target_description, the mapping is not explicit, and job_id is completely unexplained.
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 a specific verb ('reconcile') and identifies a distinct resource ('raw visual evidence with extracted text') as well as a distinctive output ('hash-frozen review candidate'). This clearly differentiates it from sibling tools like analyze_antenna_source and approve_antenna_source.
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 versus its 20+ siblings. No preconditions, workflow context, or alternatives are mentioned. The description only states what it does, not when it should be invoked.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
regenerate_antenna_python_from_feedbackB
Use recorded feedback to produce the next versioned Python model, still without AEDT.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It only mentions the core function and the 'still without AEDT' constraint, but does not clarify side effects, whether it mutates state, permissions required, or what 'recorded feedback' refers to.
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 with a clear verb-first structure. It contains no filler and communicates the essential action and constraint efficiently.
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 the tool has only one parameter and no annotations, the description lacks crucial workflow context: what constitutes 'recorded feedback', what state the job must be in, and what 'next versioned' implies for the output. While an output schema exists, the description does not compensate for missing prerequisites or the feedback source.
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 description does not mention the job_id parameter at all, and schema coverage is 0%. It adds no meaning beyond the schema's minimal 'Job Id' title, failing to explain how to obtain or interpret the job_id in the context of this feedback-driven regeneration.
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 specific action: using recorded feedback to produce the next versioned Python model. It distinguishes from sibling tools like generate_antenna_python by emphasizing 'from feedback' and 'next versioned', making its purpose unique.
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 phrase 'from feedback' implies the tool should be used when feedback has been recorded, but it does not explicitly state when to use this tool versus alternatives like generate_antenna_python or refine_antenna_source. No exclusions or prerequisites are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_antenna_modeling_jobB
Run modeling stages through the requested stage and save all intermediate artifacts.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| through_stage | No | boolean |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions saving artifacts (a side effect), but doesn't state whether execution is synchronous, if it can be re-run, what happens on failure, or what 'all intermediate artifacts' means. This is a significant gap for an execution tool.
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?
A single sentence of 12 words that is front-loaded with an action verb and contains no filler. Every word contributes meaning, making it a model of 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 tool that executes a multi-stage job, the description is underspecified. It omits prerequisites (e.g., job must exist), runtime behavior, output semantics, and how the through_stage parameter defaults. An output schema exists, but the description doesn't help the agent understand what to expect from execution.
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 adds meaning to through_stage via 'through the requested stage', but job_id is left implicit and valid stage values are never explained. The default 'boolean' for through_stage is weird and the description offers no clarification.
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 a specific verb ('run') and resource ('modeling job') with scope ('through the requested stage') and an outcome ('save all intermediate artifacts'). This clearly distinguishes it from sibling tools like create_antenna_modeling_job, get_antenna_job, and run_hfss_optimization_job.
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 the tool is used to execute a modeling job after creation, but provides no explicit when-to-use guidance, alternatives, or prerequisites. It does not mention that the job must first be created or when to prefer this over run_hfss_optimization_job.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_hfss_optimization_jobB
Run HFSS trials. Requires ANTENNA_MCP_ALLOW_SIMULATION=1 and never overwrites the source project.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure. It usefully states that the tool 'never overwrites the source project', a key safety trait. However, it does not disclose other side effects such as simulation execution time, resource usage, or whether the job can be rerun, leaving significant behavioral gaps.
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 exceedingly concise: a two-sentence statement that front-loads the action ('Run HFSS trials') followed by the most critical behavioral caveat. No words are wasted, and the structure is clear and scannable.
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 a single parameter, no annotations, and an output schema, the description is too sparse. It does not explain what the output represents, how job_id relates to the trials, or what happens when the job completes. The context of the HFSS optimization workflow is only hinted, making this insufficient for an agent to fully understand the tool's role.
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 (job_id) with 0% description coverage, and the tool description does not mention job_id at all. The meaning is only inferable from the tool name (run_hfss_optimization_job) as the identifier of the optimization job to execute. The description fails to compensate for the lack of schema-level parameter documentation.
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 'Run HFSS trials' clearly identifies the action (run) and resource (HFSS trials), and the additional detail about not overwriting the source project clarifies the tool's behavior. It distinguishes from sibling tools like 'create_hfss_optimization_job' by focusing on execution, though it could be more explicit about running a specific optimization job by ID.
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 prerequisite (ANTENNA_MCP_ALLOW_SIMULATION=1) but does not explain when to use this tool versus alternatives. It lacks guidance on selecting this tool over siblings like 'run_antenna_modeling_job' or 'build_hfss_project', offering no exclusions or context for decision-making.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_antenna_model_feedbackA
Record the user's HFSS/image comparison notes without running or changing AEDT.
| Name | Required | Description | Default |
|---|---|---|---|
| job_id | Yes | ||
| feedback | Yes | ||
| comparison_images | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output 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. It explicitly discloses the key behavioral trait that the tool does not run or change AEDT, which is essential for an agent to know that this is a safe, non-mutating operation. It does not mention whether it writes to a database or changes job status, but the explicit non-impact on AEDT is a strong transparency signal. No contradiction with annotations exists.
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, front-loaded with the verb and resource, and contains no unnecessary words. Every part adds information: the action, the target, and the key constraint. It is an exemplar of concise, structured tool 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?
This is a simple tool with three parameters and an output schema, so the description need not explain return values. It captures the core purpose and the main behavioral constraint, which is sufficient for basic understanding. However, it does not mention prerequisites (e.g., an existing job) or what happens after feedback is submitted, and it does not differentiate from related feedback-driven tools. Given the low complexity, the description is nearly complete but has minor gaps.
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 only loosely refers to 'HFSS/image comparison notes', which maps to the 'feedback' and 'comparison_images' parameters, but completely omits the 'job_id' parameter. The schema itself provides only titles, no descriptions. Thus, an agent would have to guess the meaning of job_id from context, so the description is insufficient in this dimension.
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 a specific verb 'Record' and identifies the resource as 'the user's HFSS/image comparison notes'. It also adds a crucial scope constraint 'without running or changing AEDT', which clearly distinguishes it from sibling tools like run_antenna_modeling_job or build_hfss_project. This gives a precise, non-ambiguous 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?
The phrase 'without running or changing AEDT' implies that this tool is for passive feedback capture, not for triggering any execution. This provides clear context for when to use it compared to tools like regenerate_antenna_python_from_feedback, which likely act on feedback. However, it does not explicitly name alternatives or state when not to use the tool, so it falls short of a 5.
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.
22 tool updates
v0.1.0- First observed
analyze_antenna_source - First observed
antenna_server_health - First observed
approve_antenna_engineering_assumption - First observed
approve_antenna_source - First observed
build_approved_antenna_pipeline - First observed
build_hfss_project - First observed
compile_reviewed_antenna_model - First observed
create_antenna_modeling_job - First observed
create_antenna_pipeline - First observed
create_hfss_optimization_job - First observed
generate_antenna_pipeline - First observed
generate_antenna_python - First observed
get_antenna_job - First observed
optimize_antenna_pipeline - First observed
prepare_antenna_artifact_review - First observed
propose_antenna_engineering_assumption - First observed
recheck_antenna_source - First observed
refine_antenna_source - First observed
regenerate_antenna_python_from_feedback - First observed
run_antenna_modeling_job - First observed
run_hfss_optimization_job - First observed
submit_antenna_model_feedback
TDQS
Scored across 22 tools
Multiple tools involve approval hashes and source refinement, making boundaries unclear (e.g., approve_antenna_source vs approve_antenna_engineering_assumption vs prepare_antenna_artifact_review). Pairs like refine_antenna_source and recheck_antenna_source appear to do nearly the same thing, causing likely misselection.
Naming mixes antenna and hfss prefixes (create_antenna_modeling_job vs build_hfss_project) and includes a noun-phrase tool (antenna_server_health). Verb forms vary (create, generate, build, compile) and long names like regenerate_antenna_python_from_feedback break any clean pattern.
With 22 tools, the server is on the heavy side, though the complexity of the domain (source analysis, modeling, simulation, optimization) justifies many steps. However, the number feels bloated due to overlapping tools that could be consolidated.
The toolset covers a full pipeline from source analysis through approval, Python generation, feedback, and HFSS optimization. Minor gaps exist (e.g., no job listing/cancellation, no pipeline status), but the core workflow is thoroughly covered.
Maintenance
Related MCP Connectors
Create RF signal projects from prompts, inspect graphs, and export IQ data.
AI-callable calculators and engineering models with real formulas. No hallucinated math.
- OwlCADOAuthcom.owlcad
Parametric 3D CAD for AI agents: build print-ready parts, check them, export STL, 3MF or STEP.
Design domain models and generate deterministic multi-stack code, driven by your coding agent.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables AI-assisted design of antennas and electromagnetic structures using openEMS FDTD simulation, with analytical dimension calculators and full-wave script generation.161AGPL 3.0
- AlicenseCqualityDmaintenanceEnables AI agents to control Ansys Electronics Desktop (HFSS, Maxwell, Q3D, etc.) using MCP tools for simulation automation.10045PolyForm Noncommercial 1.0.0
- AlicenseNot gradedqualityBmaintenanceEnables natural language control of HFSS (v2019-2025) for antenna modeling, simulation, and result extraction via win32com without PyAEDT.5MIT
- AlicenseNot gradedqualityAmaintenanceTurns CST Studio Suite into an AI-controllable electromagnetic design lab, enabling conversational THz metamaterial absorber design, unit-cell automation, Floquet port control, batch solve with checkpoint-resume, and surrogate-model predictions.1MIT