Omeka S MCP Sample について
Omeka S MCP Sample は、MCP サーバーを介して Omeka S API を Claude Desktop に接続します。アイテムの閲覧や管理に加え、ファイルまたは URL からメディアをアップロードできます。
主な機能
- 01ページネーション付きアイテム一覧
- 02アイテム詳細の取得
- 03メタデータ付きアイテムの作成
- 04ファイルまたは URL からメディアをアップロード
活用シーン
- 01Omeka S コレクションの閲覧
- 02アイテム詳細の確認
- 03アイテムとメタデータの追加
- 04アイテムへのメディア添付
MCP 対応
MCP サーバーは、アイテムの一覧・取得・作成とメディアのアップロードをツールとして公開します。README には Claude Desktop の設定方法が記載されています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Omeka S MCP サンプル
このプロジェクトでは、MCP(Model Context Protocol)を使用して、Omeka S API を Claude Desktop と統合する方法を紹介します。
サーバーは、以下の Omeka S API 機能を提供します。
- アイテムの一覧表示
- アイテムの詳細取得
- 新しいアイテムの作成
- メディアのアップロード(ファイルまたは URL から)
インストール
- このリポジトリをクローンします
- 依存関係をインストールします:
uv pip install -e .
設定
プロジェクトのルートに .env ファイルを作成し、Omeka S API の認証情報を設定します。
OMEKA_API_URL=https://your-omeka-s-instance/api
OMEKA_KEY_IDENTITY=your-key-identity
OMEKA_KEY_CREDENTIAL=your-key-credential
使用方法
Claude Desktop の設定ファイルに、以下の設定を追加します。
"mcpServers": {
"omeka-s-mcp-sample": {
"command": "python",
"args": [
"/path/to/omeka-s-mcp-sample/server/omeka_server.py"
]
}
}
メモ
サーバーの起動時に
command not foundエラーが表示される場合は、Python 実行可能ファイルのフルパスを指定してください。
利用可能なツール
サーバーは、以下の MCP ツールを提供します。
list-items
ページネーションに対応した、Omeka S のアイテム一覧を取得します。
get-item
ID を指定して、特定のアイテムの詳細を取得します。
create-item
タイトルと任意の説明を指定して、新しいアイテムを作成します。
upload-media
ローカルファイルまたは URL から、アイテムにメディアをアップロードします。
使用例
Claude に以下を依頼できます。
- Omeka S インスタンスのアイテム一覧を表示する
- 特定のアイテムの詳細を取得する
- メタデータを付けて新しいアイテムを作成する
- アイテムにメディアファイルまたは URL をアップロードする
開発
このプロジェクトでは、以下を使用します。
- Python 3.10+
- MCP 1.6.0+
- API リクエスト用の aiohttp
- コードのフォーマットとリンティング用の Ruff
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。