莫乔·麦克普
一个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-lspuvx 将MCP包直接从GitHub获取到一个隔离的环境中。没有克隆,没有手动配置。
| 组件 | 它给了克劳德什么 |
|---|---|
| MCP服务器 | Stdlib搜索、完整符号文档、更改日志、文件访问、代码执行 |
| LSP插件 | 转到定义、查找引用、悬停、诊断 .mojo 文件 |
使用 --scope project 在 mcp add 命令将服务器提交到 .mcp.json 并与你的团队分享。
首次启动时,服务器会抓取并索引整个Mojo stdlib(约200个模块页面)。这需要30-60秒,然后缓存14天 ~/.cache/mojo-mcp/docs.json。后续启动是即时的。
注: 两者executeLSP插件需要Mojo编译器。对于使用mojox,theexecute工具会在项目的.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______________________________________________________________________
许可证
麻省理工学院
