克拉尤特·麦克普
 
KLayout的只读MCP服务器。它打开GDS/OAS布局,检查几何形状和层次结构,渲染确定性PNG,并使用结构化JSON输出运行批量DRC。
安装
最快一次性跑步:
uvx klayout-mcp@latest安装一次:
uv tool install klayout-mcp传统Python安装:
python -m pip install klayout-mcp对于批量DRC klayout 可执行文件必须打开 PATH 或通过暴露 KLAYOUT_BIN.
export KLAYOUT_BIN=/Applications/klayout.app/Contents/MacOS/klayout快速开始
klayout-mcp 是一个stdio MCP服务器。默认启动形状为:
command: uvx
args: klayout-mcp@latest如果您的客户无法使用 uvx,安装一次工具并启动 klayout-mcp 直接。
典型工作流程:
open_layoutlist_layerslist_cells或describe_cellquery_regionmeasure_geometryanalyze_waveguiderender_viewrun_drc_scriptextract_markersclose_session
客户端设置
更多复制粘贴示例已上线 examples/mcp/README.md.
法典
[mcp_servers.klayout]
command = "uvx"
args = ["klayout-mcp@latest"]
[mcp_servers.klayout.env]
KLAYOUT_BIN = "/Applications/klayout.app/Contents/MacOS/klayout"或者使用CLI添加它:
codex mcp add klayout \
--env KLAYOUT_BIN=/Applications/klayout.app/Contents/MacOS/klayout \
-- uvx klayout-mcp@latest克劳德代码
{
"mcpServers": {
"klayout": {
"command": "uvx",
"args": ["klayout-mcp@latest"],
"env": {
"KLAYOUT_BIN": "/Applications/klayout.app/Contents/MacOS/klayout"
}
}
}
}或者使用CLI添加它:
claude mcp add --transport stdio klayout \
--scope project \
--env KLAYOUT_BIN=/Applications/klayout.app/Contents/MacOS/klayout \
-- uvx klayout-mcp@latest光标
游标是基于文件配置的:
{
"mcpServers": {
"klayout": {
"command": "uvx",
"args": ["klayout-mcp@latest"],
"env": {
"KLAYOUT_BIN": "/Applications/klayout.app/Contents/MacOS/klayout"
}
}
}
}开源代码
OpenCode是基于文件配置的:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"klayout": {
"type": "local",
"command": ["uvx", "klayout-mcp@latest"],
"enabled": true,
"environment": {
"KLAYOUT_BIN": "/Applications/klayout.app/Contents/MacOS/klayout"
}
}
}
}其他MCP主机
用途:
command:uvxargs:["klayout-mcp@latest"]env:KLAYOUT_BIN需要时
工具
- 会议:
open_layout,close_session - 结构:
list_layers,list_cells,describe_cell - 几何形状:
query_region,measure_geometry,analyze_waveguide - 查看:
set_view,render_view - DRC:
run_drc_script,extract_markers
配置
| 变量 | 目的 | 默认值 |
|---|---|---|
KLAYOUT_MCP_ARTIFACT_ROOT | 运行时工件的根目录 | /.artifacts |
KLAYOUT_MCP_SESSION_TTL_SECONDS | 会话不活动超时 | 3600 |
KLAYOUT_BIN | DRC的KLayout批处理可执行文件 | klayout |
行为:
- 任何绝对本地路径都可以用于布局和DRC脚本
- 工具返回的工件路径是绝对的
- 会话在不活动后延迟过期
close_session删除会话工件目录
工件和错误
文物存储在 .artifacts/sessions// 包括渲染、DRC报告、标记作物和日志。
工具故障返回结构化JSON,例如:
{
"code": "FILE_NOT_FOUND",
"message": "Layout file does not exist",
"details": {
"path": "/abs/path/to/missing.gds"
}
}常用代码: FILE_NOT_FOUND, SESSION_NOT_FOUND, INVALID_BOX, INVALID_LAYER, INVALID_TARGET, DRC_RUN_FAILED.
发展
对于源代码检查:
uv sync --extra dev
uv run klayout-mcp如果MCP客户端需要直接启动结账:
command: uv
args: --directory /abs/path/to/klayout-mcp run klayout-mcp发布
正常发布是自动进行的 release-please.
- 合并常规承诺
main release-please打开或更新发布PR- 合并该版本的PR更新
pyproject.toml,CHANGELOG.md,创建标签和GitHub版本,并发布到PyPI
要让发布PR在分支保护下运行正常CI,请配置一个名为 RELEASE_PLEASE_TOKEN 使用可以打开拉取请求的GitHub令牌。没有它, release-please 退回到 github.token,这可能不会触发PR工作流。
手册 release.yml 工作流仍然可用于TestPyPI验证和恢复发布。
参考
- docs/specs/2026-03-05-klayout-observer-mcp-controll.md
- docs/plans/2026-03-05-klayout-observer-mcp-design.md
- docs/plans/2026-03-05-klayout-observer-mcp-impliance-prap.md
文档网站
存储库配置为使用MkDocs读取文档。
在本地构建文档:
uv run --extra docs mkdocs build --strict在本地提供文档:
uv run --extra docs mkdocs serve将GitHub存储库导入ReadtheDocs后,可以使用以下命令直接从默认分支构建 .readthedocs.yaml.
