Godbolt Compiler Explorer について
Godbolt Compiler Explorer MCPは、Compiler Explorer REST APIにアクセスするFastMCPサーバーです。コードやCMakeプロジェクトのコンパイル、フォーマットに加え、MCPエージェント向けの言語・コンパイラー情報を提供します。
主な機能
- 01ソースコードのコンパイル
- 02CMakeプロジェクトのコンパイル
- 03コードのフォーマット
- 04言語、コンパイラー、ライブラリの参照
- 05アセンブリとバージョン情報の取得
活用シーン
- 01コードをコンパイルして生成されたアセンブリを確認
- 02MCPエージェントからCMakeプロジェクトをビルド
- 03エージェントのワークフローでソースコードを整形
MCP 対応
Compiler Explorerのコンパイルとフォーマット機能をツールとして提供し、言語、コンパイラー、ライブラリ、フォーマッター、アセンブリ資料、バージョン情報を読み取り専用リソースとしてMCPクライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Godbolt Compiler Explorer MCP
Godbolt Compiler Explorer の REST API エンドポイントにアクセスできる Model Context Protocol (MCP) サーバーです。FastMCP Python ライブラリを使用して構築されています。
インストール
- このリポジトリをクローンします:
git clone <repository-url>
cd godbolt-mcp
- 仮想環境を作成して有効化します:
python -m venv venv
source venv/bin/activate
- 依存関係をインストールします:
pip install -r requirements.txt
使用方法
単独での使用
MCP サーバーを直接実行します:
python godbolt_mcp.py
MCP 対応エージェントへの追加
仮想環境の Python を使用して、サーバーを MCP の設定に追加します:
{
"mcpServers": {
"godbolt-compiler-explorer": {
"command": "/absolute/path/to/godbolt-mcp/venv/bin/python",
"args": ["/absolute/path/to/godbolt-mcp/godbolt_mcp.py"]
}
}
}
注:/absolute/path/to/godbolt-mcp を、インストールディレクトリの実際の絶対パスに置き換えてください。
利用可能なツール
リソース(読み取り専用アクセス)
resource://languages- サポートされているすべてのプログラミング言語を一覧表示しますresource://compilers/{language_id}- 指定した言語で利用可能なコンパイラーを取得しますresource://libraries/{language_id}- 指定した言語で利用可能なライブラリを取得しますresource://formats- 利用可能なコードフォーマッターを一覧表示しますresource://asm/{instruction_set}/{opcode}- アセンブリ命令のドキュメントを取得しますresource://version- Compiler Explorer のバージョン情報を取得します
ツール(アクション)
compile_code(compiler_id, source, user_arguments=None, files=None, libraries=None)- ソースコードをコンパイルしますcompile_cmake(compiler_id, source, user_arguments=None, files=None, libraries=None)- CMake プロジェクトをコンパイルしますformat_code(formatter, source)- ソースコードをフォーマットします
例
examples/ フォルダーには、MCP サーバーのテストに使用できるソースファイルのサンプルが含まれています:
hello.cpp- シンプルな C++ の「Hello World」プログラムhello.rs- シンプルな Rust の「Hello World」プログラム
MCP 対応エージェントに次のプロンプトを試し、サンプルファイルのアセンブリコードを生成してください:
C++ の例:
Compile the hello.cpp file from the examples folder with GCC and show me the exact generated assembly code with optimization level -O2.
Rust の例:
Compile the hello.rs file from the examples folder with the latest Rust compiler and show me the exact generated assembly code with release optimizations.
依存関係
fastmcp>=0.2.0- MCP サーバーのフレームワークhttpx>=0.25.0- API リクエスト用の HTTP クライアント
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。