mcpField
O
ORAS MCP Server

ORAS MCP Server

ローカル
oras.landクラウド・インフラ056 週間前に更新

ORAS MCP Server について

ORAS MCP Serverは、VS CodeのエージェントモードをOCIレジストリに接続し、レジストリ情報を使ったチャットを可能にします。`oras-go`で実装され、Dockerまたは配布バイナリで実行できます。

主な機能

  1. 01VS Codeでのレジストリ対応チャット
  2. 02Dockerとバイナリでのセットアップ
  3. 03ORASとDockerの認証情報を利用
  4. 04`oras-go`による実装

活用シーン

  1. 01コンテナイメージの対応プラットフォーム確認
  2. 02アーティファクトのメタデータや署名の確認

MCP 対応

stdioで動作し、VS CodeのエージェントモードなどのMCPクライアントにレジストリアクセスを公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"oras-mcp-shizhmsft": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/oras-project/oras-mcp:main"
]
}
}
}
起動コマンドdocker run -i --rm ghcr.io/oras-project/oras-mcp:main

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocighcr.io/oras-project/oras-mcp:main

ツール

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

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

詳細

ORAS MCP サーバー

Build Status codecov

バナー

使い方

レジストリを認識したチャットを行うには、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 では、代わりにリリース済みバイナリをインストールしてください。

リリース済みバイナリからのセットアップ
  1. GitHub リリースページにアクセスし、お使いの OS と CPU アーキテクチャに合ったアーカイブ(Linux または macOS の場合は oras-mcp_<version>_<os>_<arch>.tar.gz、Windows の場合は oras-mcp_<version>_windows_<arch>.zip)をダウンロードします。

  2. アーカイブを展開します。フォルダーには oras-mcp(Windows の場合は oras-mcp.exe)という名前の実行ファイルと、プロジェクトのライセンスのコピーが含まれています。

  3. バイナリを PATH 上のディレクトリ(Linux/macOS では /usr/local/bin、Windows では %LOCALAPPDATA%\Programs\oras-mcp など)に移動するか、展開した場所から直接参照します。

  4. oras-mcp serve --help(または oras-mcp.exe serve --help)を実行し、お使いのシステムでバイナリが動作することを確認します。

  5. 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 は以下のプラットフォームに対応しています。

  1. Linux (amd64)
  2. Linux (arm64)
  3. Linux (arm、バリアント v7)
  4. Linux (s390x)
  5. 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 です。

リリースプロセス

メンテナーは、リリースチェックリストでリリース手順の全容を確認できます。

コメント

MCP は初めてですか?

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

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