mcpField
C
Chapel Support for MCP

Chapel Support for MCP

本地服务
github.com/DanilaFe开发工具173 周前更新

关于 Chapel Support for MCP

Chapel Support for MCP 是面向 Chapel 开发的 MCP 服务,供 AI 助手使用。它提供教程示例访问、代码编译和可选的代码检查功能。

主要功能

  1. 01浏览 Chapel 入门教程
  2. 02读取教程内容
  3. 03编译 Chapel 程序
  4. 04使用 chplcheck 检查代码
  5. 05自动应用检查修复

适用场景

  1. 01查阅 Chapel 学习示例
  2. 02编译 Chapel 程序
  3. 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

安装

  1. 克隆此仓库:

    git clone <repository-url>
    cd chapel-support
    
  2. 使用 UV 创建并激活虚拟环境:

    uv venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  3. 同步项目依赖并配置环境:

    uv sync
    

配置

MCP 服务需要知道 Chapel 安装位置(CHPL_HOME)。它会按以下顺序查找:

  1. CHPL_HOME 环境变量
  2. 项目根目录中的 .env 文件
  3. 如果 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 检查过程的统计信息

贡献

欢迎贡献!请随时提交拉取请求或创建问题。

评论

支持 Markdown

第一次接触 MCP?

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

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