@chanmeng666 / archlang-mcp
一、 模型上下文协议 服务器 ArchLang -制作、检查和修理 用代码编写的建筑平面图,来自任何会mcp的主机。
这是一个 薄薄的摄影棚盖住了 @chanmeng666/archlang 图书馆 (没有子流程,
没有重新实现):每个工具包装一个纯的导出函数。核心仍然存在
zero-dependency - MCP SDK仅存在于此包中。
何时使用CLI
ArchLang的主要代理接口是代理原生的 archlang 命令行界面不是这个
服务器。CLI的成本 在调用代理之前,代理的上下文窗口中没有任何内容,
而MCP工具模式则永久驻留在窗口中。如果你的代理已经有了
甲壳,偏爱:
npx -y @chanmeng666/archlang context # the whole language + workflow + CLI + errors, one call
npx -y @chanmeng666/archlang compile plan.arch -o out.svg --json
后 npm i -g @chanmeng666/archlang 同样的呼叫是 archlang context 和
archlang compile …. 该包还安装了一个 arch 别名,但在Linux, macOS和
Git Bash内核自带 arch,所以是裸露的。 arch 运行错误的程序。
这个MCP服务器的存在使得MCP本地主机可以 发现 ArchLang通过
注册表和驱动它没有shell。它在官方MCP注册表中被列为
io.github.ChanMeng666/archlang-mcp. 这是可发现性渠道,而不是
更换。看到 美国存托凭证0012
(修正 美国存托凭证0009(分布式优于协议的立场)。
服务器指令
在 initialize 服务器发送一个短消息 instructions 字符串,支持它的主机
添加到模型的上下文中:阅读 archlang://spec 资源优先,然后写入 .arch →
compile (和 fix)→ describe → validate 与 strict:true → finish 在出口之前。
它是 SKILL.md的循环,压缩,并且测试将其命名为CLI清单的命令保存
按照这个循环的顺序。
工具
每个工具都使用ArchLang source (一个 plan "…" { … } 字符串)并返回
结构化的JSON。 compile 还接受 plan_json (Plan-JSON / RPLAN形状)。
| 工具 | 它是做什么的 |
|---|---|
compile | 呈现源(或 plan_json)转换为SVG,或零深度ASCII (format:"txt"),将JSON计划为对象(format:"json",形状 plan_json )或PNG图像(format:"png",在 archlang preview宽度,除非 width 覆盖它,在一个固定的范围内;需要可选 @resvg/resvg-js,其中 .mcpb 捆树叶)。 accessible, overlay:"circulation" 有选择地加入。返回输出+诊断。多层平面图返回每一层 pages[]; level 呈现一个。 |
describe | 语义事实(房间,区域,邻接,门,流通,区域,楼层,确切的 floor_polygon/floor_circle 形状,还有 freedom 报告哪些位置是手工创建的(与解析器派生的)-无需图像验证意图。 |
lint | 咨询 W_* 健全性警告(可能包括固定携带) W_ALIAS_MATCH 对于从间接标签别名推断的房间使用); profile 选择一个规则集。 |
validate | 解析+解析+ lint,船门。 strict 警告失败; graph 根据预定的房间图检查室内门的邻接性; intent 盖茨在一份简短的合同上(见下文) archlang://intent-schema)。 |
score | 连续意图测量:一个计划在多大程度上满足了一个简短的计划satisfied/total/score/subscores). 措施,而不是大门。 |
repair | 明确的更正:墙上/门口/秋千外的家具→新的 .arch 源+更改日志。从不添加门/窗。 |
finish | 完成绘图:布置没有家具的房间,然后添加缺少的家具 paper, scale, dims auto, title, schedule rooms 和 legend →新 .arch 源+更改日志。只填补缺失的东西; only 运行一个阶段(furnish 或者 sheet); reissue 可能会取代 paper/scale. |
fix | 对计划的诊断应用机器适用的修复(语法校正器;有界固定点)。 unsafe 扩大到 maybe-incorrect. |
suggest | 咨询门/窗声明(每个门/窗声明都通过一个稳定的ref -一个授权id或唯一类别-或绝对坐标,而不是一个可重新绑定的位置id)来解决无法到达的房间/没有窗户的卧室-数据,从未应用过。 |
complete | LSP完成项在源字节偏移的范围内。 |
link | 在浏览器中显示计划的两个url,无需安装任何内容: playground (宿主编辑器,呈现)和 embed (计划本身,一个iframe),加上 bytes,压缩计划的大小,和 ok ( errors 当计划未编译时,计算;它仍然链接,页面显示诊断)。计划在URL片段中运行。需要一个出口的核心 ./link;年龄大的人 ok:false 以及它需要的版本。 |
什么 compile的 accessible 这里有什么,它没有什么
accessible: true 为SVG提供了 <title>/<desc> 对, role="img" 在词根上,which
是整个选项,因为这个垫片暴露了它。 无法访问v1.36元素控件
通过MCP。 他们需要 annotate 与 accessible,这个工具通过了 annotate 只有
用于 format:"txt";它还需要 accessible 作为布尔值,所以 { idPrefix } 保持不变的形式
几个计划在一个HTML页面共享 arch-title/arch-desc 也不能请求。
需要键盘和屏幕阅读器(可操作绘图)的主机 data-arch-primary,
role="button", aria-label 对每个元素-必须调用 图书馆. CLI不能
制作它: annotate 没有国旗,所以呢 archlang compile --accessible 停在
<title>/<desc> 一对。
import { compile } from "@chanmeng666/archlang";
compile(src, { annotate: true, accessible: { idPrefix: "plan-7" } });
输出契约,嵌入者仍然拥有什么,以及已知的屏幕阅读器限制 这个 语言参考.
资源
| URI | 内容 |
|---|---|
archlang://spec | 整个语言在一页(spec.llm.md)。 |
archlang://context | 完整代理上下文:规范+工作流+ CLI引用+错误目录(llms-full.txt)。 |
archlang://schema | Plan-JSON编译输入的JSON模式(2020-12)。 |
archlang://grammar | 用于保证可解析生成的GBNF约束解码语法。 |
archlang://intent-schema | JSON模式(2020-12)用于简要的意图-形状 validate的 intent 和 score的 brief 接受。 |
安装
克劳德代码
claude mcp add archlang -- npx -y @chanmeng666/archlang-mcp
克劳德桌面
将......添加到...... claude_desktop_config.json (设置→开发→编辑配置):
{
"mcpServers": {
"archlang": {
"command": "npx",
"args": ["-y", "@chanmeng666/archlang-mcp"]
}
}
}
光标
将......添加到...... .cursor/mcp.json (项目)或 ~/.cursor/mcp.json (全球):
{
"mcpServers": {
"archlang": {
"command": "npx",
"args": ["-y", "@chanmeng666/archlang-mcp"]
}
}
}
VS代码
将......添加到...... .vscode/mcp.json:
{
"servers": {
"archlang": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@chanmeng666/archlang-mcp"]
}
}
}
许可证
MIT©Chan孟