Mojo语言开发工具集

提供Mojo编程语言的标准库参考、符号文档、变更日志和项目文件访问的开发工具集。

  • by Conobi
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Conobi/mojo-mcp

使用说明

莫乔·麦克普

一个MCP服务器,允许Claude Code深度访问 魔力 编程语言--stdlib参考、完整的符号文档、实时变更日志和您自己的项目文件。

工具

工具 它做什么
search 使用Python代码段查询缓存的stdlib索引。返回所有模块中的结构、函数、特征和别名。
execute 运行一个完整的Mojo文件。返回stdout、stderr和返回代码。通过 cwd 从以下位置获取项目固定版本 .mojo-version.自动检测 mojox 在项目venv中,发现已安装的Mojo软件包。失败的运行会自动添加gotcha提示。
validate 在编译之前,根据已知的gotcha模式检查Mojo源代码。通过修复建议捕获弃用的API、编译挂起和常见陷阱。
lookup 获取一个符号的完整文档:签名、参数、方法、参数/返回值。
changelog 获取Mojo更新日志。按版本筛选或获取最新的两个版本。
read_file 从项目中读取文件(最大100 KB)。
list_files 按glob模式列出目录中的文件。默认为 **/*.mojo.
mojo_version 报告全球安装的Mojo版本和来自的任何项目固定版本 .mojo-version.
install_mojo 安装、升级或固定Mojo版本(全局或每个项目通过 .mojo-version).
update_server 将最新的mojo-mcp从GitHub拉到uvx缓存中。应用后重新启动Claude Code。

search 按名称查找事物; lookup 一旦你知道你想要什么,就会给你完整的合同。 validate 在编译之前就发现了常见的陷阱。他们一起让Claude审计Mojo项目中过时的API,而无需离开对话。


安装

先决条件: 紫外线.

# 1. MCP server — stdlib docs, search, lookup, changelog, execute
claude mcp add mojo-mcp --scope user -- uvx --from git+https://github.com/Conobi/mojo-mcp mojo-mcp

# 2. LSP plugin — go-to-definition, hover, diagnostics in .mojo files
claude plugin marketplace add Conobi/mojo-mcp
claude plugin install mojo-lsp

uvx 将MCP包直接从GitHub获取到一个隔离的环境中。没有克隆,没有手动配置。

组件 它给了克劳德什么
MCP服务器 Stdlib搜索、完整符号文档、更改日志、文件访问、代码执行
LSP插件 转到定义、查找引用、悬停、诊断 .mojo 文件

使用 --scope project 在 mcp add 命令将服务器提交到 .mcp.json 并与你的团队分享。

首次启动时,服务器会抓取并索引整个Mojo stdlib(约200个模块页面)。这需要30-60秒,然后缓存14天 ~/.cache/mojo-mcp/docs.json。后续启动是即时的。

注: 两者 execute LSP插件需要Mojo编译器。对于使用 mojox,the execute 工具会在项目的 .venv 并自动发现已安装的Mojo软件包——无需全局安装或手动 -I 需要旗帜。否则,请使用 install_mojo 工具或运行 uv tool install mojo-compiler 手动。其他工具在没有编译器的情况下工作。


更新

让克劳德跑 update_server 工具,或直接运行此命令:

uvx --refresh --from git+https://github.com/Conobi/mojo-mcp mojo-mcp --version

然后重新启动Claude Code以加载新版本。这 --refresh flag强制uvx从GitHub重新获取最新提交,而不管缓存了什么。


用法示例

发现符号

search: return [f['name'] for f in docs['collections.dict']['structs']]

获取完整签名

lookup: collections.dict.Dict

返回完整的结构签名、参数、实现的特征以及所有方法及其重载和arg/rereturn文档。

检查最近发生了什么变化

changelog:              # latest 2 releases
changelog: nightly      # nightly only
changelog: v26.1        # specific version

编译前验证

validate: code="def main():\n    var s = 'hi'\n    print(s[0])"
validate: path=/path/to/my-project/src/main.mojo

返回一个包含严重性、描述和建议修复的问题列表。这 execute 该工具还通过匹配的gotcha提示自动丰富编译器错误和超时。

审核项目

list_files: /path/to/my-project
read_file:  /path/to/my-project/src/main.mojo

与…结合 validate, lookup,以及 changelog 查找过时的API、重命名的函数和删除的符号。


缓存

文件 TTL 内容
~/.cache/mojo-mcp/docs.json 14天 完整的stdlib索引
~/.cache/mojo-mcp/changelog.json 7天 按版本更改日志

删除文件以强制下次使用时刷新。


发展

uv sync --all-extras           # install deps + dev extras
uv run mojo-mcp                # run the server manually

# Unit tests (no Mojo binary required)
uv run pytest

# Full test suite including live Mojo integration
uv run pytest --run-mojo

项目结构

src/mojo_mcp/
  server.py      — MCP server, tool definitions, routing
  docs.py        — stdlib scraping/caching, lookup, changelog
  sandbox.py     — file I/O, Mojo execution, validate
  gotchas.py     — gotcha pattern matching engine
  gotchas.yaml   — known gotcha patterns (version-filtered)
tests/
  conftest.py    — pytest config, --run-mojo marker
  test_gotchas.py, test_validate.py, test_enrichment.py, test_integration.py

许可证

麻省理工学院