mcpField
C
Chapel Support for MCP

Chapel Support for MCP

ローカル
github.com/DanilaFe開発ツール173 週間前に更新

Chapel Support for MCP について

Chapel Support for MCPは、Chapelコードを扱うAIアシスタント向けのMCPサーバーです。入門資料の参照に加え、コードのコンパイルや任意のLintを行えます。

主な機能

  1. 01Chapel入門資料の一覧
  2. 02入門資料の取得
  3. 03Chapelプログラムのコンパイル
  4. 04chplcheckによるLint
  5. 05Lint修正の自動適用

活用シーン

  1. 01Chapelの学習例を調べる
  2. 02Chapelプログラムをコンパイルする
  3. 03コードのスタイルと規約を確認する

MCP 対応

接続クライアントに、Chapel入門資料の一覧・取得、プログラムのコンパイル、コード検査用のツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MCP 向けの Chapel サポート

Chapel プログラミング言語用の Model-Context-Protocol(MCP)サーバーです。Chapel コードを扱うためのツール、入門ガイドやサンプルへのアクセスを提供し、Chapel の機能を AI アシスタントなどのツールと統合します。

Chapel とは?

Chapel は、大規模な並列コンピューティングを生産的に行うことを目的として設計されたオープンソースの並列プログラミング言語です。MPI、OpenMP、CUDA などの現在のプログラミングモデルと同等以上の性能と移植性を維持しながら、並列コンピューターのプログラミング性を高めることを目指しています。

機能

この MCP サーバーは、Chapel に関する以下の機能を提供します。

  • Chapel 入門ガイドへのアクセス:Chapel の学習用入門サンプルを閲覧、参照できます
  • コードのコンパイル:API を通じて Chapel コードを直接コンパイルできます
  • リンティング:chplcheck を使用して Chapel コードのスタイルとベストプラクティスを確認し、自動修正を適用できます
  • CHPL_HOME のスマートな検出:Chapel のインストールディレクトリを自動的に検索します

前提条件

  • Python 3.13 以降
  • Chapel プログラミング言語がインストールされていること(Chapel インストールガイドを参照)
  • (オプション)リンティング機能を使用する場合は 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

これにより、仮想環境を使用して stdio トランスポートモードで 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 のリンティングルールをすべて一覧表示します。

戻り値: ルール情報を含む辞書の一覧です。

  • 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 コードをリンティングし、必要に応じて修正を適用します。

パラメーター:

  • program_text:リンティングする Chapel コード
  • program_name:プログラムファイルの名前(省略可。デフォルト:「program.chpl」)
  • fix:自動修正を適用するかどうか(デフォルト:False)
  • custom_rules:有効にする特定のルールの一覧(デフォルト:None。デフォルトのルールを使用します)

戻り値: 次の内容を含む辞書です。

  • warnings:リンティングの警告を含む文字列
  • fixed_code:fix=True の場合に修正されたコード
  • error:エラーが発生した場合のエラーメッセージ
  • stats:リンティング処理に関する統計情報

貢献

貢献を歓迎します!お気軽にプルリクエストを送信するか、イシューを作成してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。