关于 mort-mcp
mort-mcp 是为使用 Mort 语言的 Agent 提供的 MCP 服务,适合编写和检查 Mort 程序的开发者。它提供类型检查、运行、文档搜索和标准库接口查询,并从当前安装的编译器读取信息。
主要功能
- 01检查源代码的类型并定位错误
- 02编译并运行程序
- 03显示生成的 C 代码
- 04使用官方格式化器格式化代码
- 05搜索语言文档并查询标准库签名
适用场景
- 01检查新编写的 Mort 代码
- 02运行程序并查看输出与退出码
- 03查找语言规范或标准库接口
MCP 相关
作为 MCP 服务,它向 Agent 提供 Mort 检查、运行、格式化及文档查询工具。工具通过命令行调用 mortc,文档和标准库信息取自已安装的编译器。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
8收录的工具列表 · 更新于 3 周前
此工具无需参数。
详细介绍
mort-mcp
让 AI Agent 编写一种它从未见过的语言。
Mort 是一种静态类型系统语言,可编译为 C。它是 MORT OS 使用的语言。没有任何模型的训练数据包含 Mort,因此让 Agent 编写 Mort 时,它会猜成类似 Rust 的语法,结果就会出错。
mort-mcp 为 Agent 提供人类初学者会用到的工具:快速且能提供精确错误信息的类型检查器、运行程序的方式、可搜索的语言规范,以及标准库的准确签名。
> mort_check
FAILED:
error: <source>:4:1: argument 1 of 'strings.starts_with' expects []const u8, got *u8
if strings.starts_with("mortos", "mort") {
> mort_std strings
// First byte offset of `needle` in `text`, or None if it does not occur.
pub fn index_of(text: []const u8, needle: []const u8) -> Option<u64>;
...
> mort_run
[exit 0]
1
安装
你需要 Mort 编译器。最简单的设置方式是检出仓库,其中也包含文档和示例:
git clone https://github.com/0xmortuex/Mort
pip install mort-mcp ziglang # ziglang = zero-install C backend for mort_run
claude mcp add mort --env MORT_HOME=/path/to/Mort -- mort-mcp
如果没有设置 MORT_HOME,mort-mcp 会使用 PATH 中的 mortc(pip install git+https://github.com/0xmortuex/Mort)。这样也能进行检查、运行和标准库查询。mort_docs 和 mort_examples 需要检出的仓库。
工具
| 工具 | 功能 |
|---|---|
mort_check | 对 source 文本或 files 进行类型检查,但不构建。速度快,且无需 C 编译器。返回带有源代码行的 file:line:col 诊断信息。 |
mort_run | 编译并运行,支持 stdin、args 和超时设置。报告输出和退出代码。 |
mort_emit_c | 显示生成的 C 代码。freestanding=True 会显示内核模式下的输出。 |
mort_format | 使用官方格式化工具(mortc fmt)进行格式化。 |
mort_std | 列出标准库模块,或显示某个模块的公共 API:准确签名、结构体字段和文档注释。 |
mort_docs | 搜索语言规范和参考文档,例如“资源结构体清理”或“整数溢出”。 |
mort_examples | 列出或读取编译器的示例程序。 |
mort_version | 显示编译器和语言版本,以及编译器的位置。 |
每个工具都会通过命令行界面调用 mortc,并从已安装的编译器读取标准库签名和文档。因此,即使语言发生变化,答案也会与正在运行的版本保持一致。
测试
pip install ".[test]" "ruff==0.16.0" "mypy==2.3.0" ziglang
ruff check src tests && mypy --strict src
MORT_HOME=/path/to/Mort pytest tests
如果没有设置 MORT_HOME,只会运行单元测试和 MCP 握手测试。CI 会检出最新版本的 Mort,并且每晚也会运行,因此编译器命令行界面或文档布局的变更都会导致构建失败。
许可证
MIT
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。