MCP教堂支持
Chapel编程语言的模型上下文协议(MCP)服务器,提供使用Chapel代码、访问入门和示例以及将Chapel功能与AI助手和其他工具集成的工具。
什么是教堂?
小教堂 是一种开源并行编程语言,专为大规模高效并行计算而设计。它旨在提高并行计算机的可编程性,同时与MPI、OpenMP和CUDA等当前编程模型的性能和可移植性相匹配或超越。
特性
此MCP服务器提供以下Chapel支持功能:
- 教堂入门课程:浏览并访问Chapel的教育入门示例
- 代码编译:通过API直接编译Chapel代码
- 代码检查:检查教堂代码,了解风格和最佳实践,使用
chplcheck并应用自动修复 - 智能CHPL_HOME检测:自动定位Chapel的安装目录
先决条件
- Python 3.13或更高版本
- 已安装Chapel编程语言(请参阅 教堂安装指南)
- (可选)
chplcheck用于linting功能
安装
- 克隆此存储库:
git clone
cd chapel-support- 使用UV创建和激活虚拟环境:
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate- 将环境与项目依赖关系同步:
uv sync配置
MCP服务器需要知道Chapel安装的位置(CHPL_HOME)。它将尝试按以下顺序找到它:
- 从
CHPL_HOME环境变量 - 从a
.env项目根目录中的文件 - 通过跑步
chpl --print-chpl-home如果Chapel编译器在您的PATH中
使用a .env 文件,在项目根目录中创建一个,使用:
CHPL_HOME=/path/to/your/chapel/installation看 .env.example 对于模板。
用法
运行MCP服务器
uv run chapel-support.py这将使用您的虚拟环境以stdio传输模式启动MCP服务器。
与AI助手或工具集成
要将此MCP服务器与AI助手或其他工具一起使用,请将其配置为连接到此服务器。例如,在客户端配置文件中:
{
"context_servers": {
"chapel-support": {
"command": {
"path": "uv",
"args": [
"run",
"--directory",
"/path/to/chapel-support",
"chapel-support.py"
],
"env": {}
},
"settings": {}
}
}
}注意:将目录路径调整到教堂支架安装的位置。
可用工具
list_primers()
获取可用Chapel初级读本的列表。
退货: 与CHPL_HOME相关的底漆文件的路径列表。
get_primer(path: str)
检索特定教堂入门的内容。
参数:
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.
退货: 包含规则信息的词典列表:
name:规则名称description:规则描述is_default:默认情况下是否启用该规则
lint_chapel_code(program_text: str, program_name: str = "program.chpl", fix: bool = False, custom_rules: Optional[List[str]] = None)
Lints Chapel代码,并可选择应用修复程序。
参数:
program_text:教堂代码为lintprogram_name:程序文件的可选名称(默认:“program.chpl”)fix:是否应用自动修复(默认值:False)custom_rules:要启用的特定规则列表(默认值:无,使用默认规则)
退货: 包含以下内容的词典:
warnings:包含linting警告的字符串fixed_code:固定代码如果fix=Trueerror:如果出现问题,则显示错误消息stats:关于起毛过程的统计数据
贡献
欢迎投稿!请随时提交拉取请求或未决问题。
