ORAS について
ORASは、VS Codeのエージェントモードでレジストリに関する会話を行うためのMCPサーバーです。`oras-go`を用い、`oras` CLIに依存せずOCI準拠レジストリのアーティファクトを調べられます。
主な機能
- 01OCIレジストリ内のアーティファクト検出
- 02VS Codeでのレジストリ対応チャット
- 03`oras` CLI不要の`oras-go`利用
- 04ORASまたはDocker CLIの認証情報を利用
活用シーン
- 01コンテナイメージの対応プラットフォームを調べる
- 02レジストリの最新イメージを確認する
- 03アーティファクトの署名と種類を確認する
MCP 対応
VS Codeのエージェントモード向けに設定できるstdio MCPサーバーとして動作します。MCPクライアントにレジストリアーティファクトの検出機能を提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ORAS MCP サーバー
使い方
レジストリを認識したチャットを行うには、VS Code エージェントモード内で動作するように ORAS MCP サーバーを設定します。
このサーバーは oras-go ライブラリを使用して実装されており、oras CLI に依存しません。
Docker を使用したセットアップ
Docker を使って ORAS MCP サーバーを実行すると簡単です。
VS Code のセットアップ
以下のコードを .vscode/mcp.json に追加します。
{
"servers": {
"oras-mcp-server": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"ghcr.io/oras-project/oras-mcp:main",
"serve"
]
}
}
}
Docker の認証情報をマウントする(Linux のみ)
Linux ユーザーは、設定ファイルをマウントすることで docker login の認証情報を共有できます。
{
"servers": {
"oras-mcp-server": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-v",
"${env:HOME}/.docker/config.json:/root/.docker/config.json:ro",
"ghcr.io/oras-project/oras-mcp:main",
"serve"
]
}
}
}
認証情報を ${env:DOCKER_CONFIG} の下に保存している場合は、パスを調整してください。コンテナーが認識するのはインラインの auths エントリーのみです。ヘルパーベースの設定(credsStore、credHelpers)は使用できません。macOS/Windows では、代わりにリリース済みバイナリをインストールしてください。
リリース済みバイナリからのセットアップ
-
GitHub リリースページにアクセスし、お使いの OS と CPU アーキテクチャに合ったアーカイブ(Linux または macOS の場合は
oras-mcp_<version>_<os>_<arch>.tar.gz、Windows の場合はoras-mcp_<version>_windows_<arch>.zip)をダウンロードします。 -
アーカイブを展開します。フォルダーには
oras-mcp(Windows の場合はoras-mcp.exe)という名前の実行ファイルと、プロジェクトのライセンスのコピーが含まれています。 -
バイナリを
PATH上のディレクトリ(Linux/macOS では/usr/local/bin、Windows では%LOCALAPPDATA%\Programs\oras-mcpなど)に移動するか、展開した場所から直接参照します。 -
oras-mcp serve --help(またはoras-mcp.exe serve --help)を実行し、お使いのシステムでバイナリが動作することを確認します。 -
VS Code エージェントモードと連携するには、展開したバイナリを指すように
.vscode/mcp.jsonを更新します。{ "servers": { "oras-mcp-server": { "type": "stdio", "command": "/absolute/path/to/oras-mcp", "args": [ "serve" ] } } }Windows では、
"command": "C:/path/to/oras-mcp.exe"を設定します。
認証
oras-mcp は ORAS および Docker の CLI と同じストアから認証情報を読み込みますが、それらのストアをサーバープロセスから参照できるようにする必要があります。
- リリース済みバイナリ – ホストマシンで
oras login <registry>またはdocker login <registry>を実行すると、バイナリがキャッシュ済みの認証情報を自動的に取得します。 - Docker コンテナー – Linux では、認証情報のセクションに示すように Docker の設定をマウントできます。ファイルにインラインの
authsエントリーが含まれていることを確認してください。Docker Desktop(macOS/Windows)はキーチェーンヘルパーに依存するため、これらの環境ではリリース済みバイナリを使用してください。
チャットの例
Q: イメージ ghcr.io/oras-project/oras はどのプラットフォームに対応していますか?
A: イメージ ghcr.io/oras-project/oras は以下のプラットフォームに対応しています。
- Linux (amd64)
- Linux (arm64)
- Linux (arm、バリアント v7)
- Linux (s390x)
- Linux (ppc64le)
さらに詳しい情報が必要であればお知らせください。
Q: MCR にある最新の Azure Linux 3.0 イメージは何ですか?署名はありますか?その種類は何ですか?
A: Microsoft Container Registry(MCR)にある最新の Azure Linux 3.0 イメージには 3.0.20250402 というタグが付いています。署名があり、その署名の種類は application/vnd.cncf.notary.signature です。
リリースプロセス
メンテナーは、リリースチェックリストでリリース手順の全容を確認できます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。