mcpField
M
mort-mcp

mort-mcp

本地服务
github.com/0xmortuex开发工具03 周前更新

关于 mort-mcp

mort-mcp 是为使用 Mort 语言的 Agent 提供的 MCP 服务,适合编写和检查 Mort 程序的开发者。它提供类型检查、运行、文档搜索和标准库接口查询,并从当前安装的编译器读取信息。

主要功能

  1. 01检查源代码的类型并定位错误
  2. 02编译并运行程序
  3. 03显示生成的 C 代码
  4. 04使用官方格式化器格式化代码
  5. 05搜索语言文档并查询标准库签名

适用场景

  1. 01检查新编写的 Mort 代码
  2. 02运行程序并查看输出与退出码
  3. 03查找语言规范或标准库接口

MCP 相关

作为 MCP 服务,它向 Agent 提供 Mort 检查、运行、格式化及文档查询工具。工具通过命令行调用 mortc,文档和标准库信息取自已安装的编译器。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"0xmortuex-mort": {
"command": "uvx",
"args": [
"mort-mcp"
],
"env": {
"MORT_HOME": "<MORT_HOME>"
}
}
}
}
启动命令uvx mort-mcp
需要配置的环境变量
MORT_HOMEPath to a checkout of github.com/0xmortuex/Mort (enables docs and examples)

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimort-mcp0.1.0

工具

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

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。