关于 Chapel Support for MCP
Chapel Support for MCP 是面向 Chapel 开发的 MCP 服务,供 AI 助手使用。它提供教程示例访问、代码编译和可选的代码检查功能。
主要功能
- 01浏览 Chapel 入门教程
- 02读取教程内容
- 03编译 Chapel 程序
- 04使用 chplcheck 检查代码
- 05自动应用检查修复
适用场景
- 01查阅 Chapel 学习示例
- 02编译 Chapel 程序
- 03检查代码风格与规范
MCP 相关
该 MCP 服务向客户端提供列出和读取 Chapel 教程、编译程序以及检查代码的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Chapel 对 MCP 的支持
一个面向 Chapel 编程语言的 Model-Context-Protocol(MCP)服务,提供用于处理 Chapel 代码、访问入门教程和示例,以及将 Chapel 功能集成到 AI 助手和其他工具中的工具。
什么是 Chapel?
Chapel 是一种开源并行编程语言,旨在让大规模并行计算更加高效。它致力于提升并行计算机的可编程性,同时达到或超越 MPI、OpenMP 和 CUDA 等现有编程模型的性能和可移植性。
功能
此 MCP 服务提供以下 Chapel 支持功能:
- 访问 Chapel 入门教程:浏览和访问 Chapel 的教学示例
- 代码编译:通过 API 直接编译 Chapel 代码
- Lint 检查:使用
chplcheck检查 Chapel 代码是否符合代码风格和最佳实践,并应用自动修复 - 智能检测 CHPL_HOME:自动查找 Chapel 的安装目录
前提条件
- Python 3.13 或更高版本
- 已安装 Chapel 编程语言(参见 Chapel 安装指南)
- (可选)用于 Lint 检查功能的
chplcheck
安装
-
克隆此仓库:
git clone <repository-url> cd chapel-support -
使用 UV 创建并激活虚拟环境:
uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate -
同步项目依赖并配置环境:
uv sync
配置
MCP 服务需要知道 Chapel 安装位置(CHPL_HOME)。它会按以下顺序查找:
CHPL_HOME环境变量- 项目根目录中的
.env文件 - 如果 Chapel 编译器位于 PATH 中,则运行
chpl --print-chpl-home
如需使用 .env 文件,请在项目根目录中创建该文件,内容如下:
CHPL_HOME=/path/to/your/chapel/installation
请参阅 .env.example 获取模板。
使用方法
运行 MCP 服务
uv run chapel-support.py
这将在标准输入/输出传输模式下,使用虚拟环境启动 MCP 服务。
与 AI 助手或工具集成
如需将此 MCP 服务与 AI 助手或其他工具配合使用,请将其配置为连接到此服务。例如,在客户端配置文件中:
{
"context_servers": {
"chapel-support": {
"command": {
"path": "uv",
"args": [
"run",
"--directory",
"/path/to/chapel-support",
"chapel-support.py"
],
"env": {}
},
"settings": {}
}
}
}
注意:请将目录路径调整为 chapel-support 的安装位置。
可用工具
list_primers()
获取可用 Chapel 入门教程的列表。
返回: 相对于 CHPL_HOME 的教程文件路径列表。
get_primer(path: str)
获取指定 Chapel 入门教程的内容。
参数:
path:教程路径,由list_primers()返回
返回: 教程内容字符串。
compile_program(program_text: str, program_name: str = "program.chpl")
编译 Chapel 程序。
参数:
program_text:要编译的 Chapel 代码program_name:程序文件的可选名称(默认值:"program.chpl")
返回: 包含以下内容的元组:
- 成功状态(布尔值)
- 编译器输出/错误(字符串)
list_chapel_lint_rules()
列出 chplcheck 提供的所有 Chapel Lint 规则。
返回: 包含规则信息的字典列表:
name:规则名称description:规则说明is_default:该规则是否默认启用
lint_chapel_code(program_text: str, program_name: str = "program.chpl", fix: bool = False, custom_rules: Optional[List[str]] = None)
对 Chapel 代码进行 Lint 检查,并可选择应用修复。
参数:
program_text:要检查的 Chapel 代码program_name:程序文件的可选名称(默认值:"program.chpl")fix:是否应用自动修复(默认值:False)custom_rules:要启用的特定规则列表(默认值:None,即使用默认规则)
返回: 包含以下内容的字典:
warnings:Lint 检查警告字符串fixed_code:修复后的代码(当fix=True时)error:发生错误时的错误消息stats:Lint 检查过程的统计信息
贡献
欢迎贡献!请随时提交拉取请求或创建问题。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。