Skip to main content
Glama
jphittell

Catalog MCP

by jphittell

Catalog MCP

ローカルのビジネスオブジェクト取り込みリポジトリからOracle HDLビジネスオブジェクトのメタデータを閲覧するための、スタンドアロンの読み取り専用MCPサーバー。

カタログインデックスは attributes/*.json を信頼できる唯一の情報源として扱います。manifest.json は、インデックス化された属性ドキュメントと一致する場合にのみ使用される補足的なメタデータです(任意)。

ローカルセットアップ

  1. Python 3.10+ で仮想環境を作成します。

  2. 依存関係をインストールします。

  3. デフォルトの兄弟パスを使用しない場合は、CATALOG_MCP_DATA_ROOT をビジネスオブジェクト取り込みリポジトリに向けます。

'/Users/justin/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/bin/python3' -m venv .venv
.venv/bin/python -m pip install -e '.[dev]'
cp .env.example .env

オプションで、サーバーのスコープを1つ以上の特定のビジネスオブジェクトに限定できます:

CATALOG_MCP_ALLOWED_OBJECTS=Worker

または:

CATALOG_MCP_ALLOWED_OBJECTS=Worker,Location

サーバーの実行

.venv/bin/python -m catalog_mcp.server

サーバーはデフォルトで stdio を介して実行されます。

また、チェックイン済みのランチャーを使用することもできます。これは CATALOG_MCP_DATA_ROOT をこのラップトップ上の兄弟ビジネスオブジェクトリポジトリにデフォルト設定します:

./scripts/run_catalog_mcp.sh

Codexへの登録

ローカルのCodex MCP設定にサーバーを追加します:

codex mcp add businessObjectCatalog -- /Users/justin/Documents/Codex/Projects/MCP/scripts/run_catalog_mcp.sh

登録を確認します:

codex mcp list
codex mcp get businessObjectCatalog

テスト

.venv/bin/pytest

エンドツーエンドのプレッシャーマトリックスを実行します:

.venv/bin/python scripts/pressure_test_catalog.py

公開MCPサーフェス

  • ツール:

    • catalog_health

    • get_catalog_stats

    • list_catalog_entries

    • get_catalog_entry

    • get_catalog_component

    • get_catalog_attribute

    • search_catalog

    • search_catalog_attributes

    • get_related_entries

    • refresh_catalog_index

  • リソース:

    • catalog://summary

    • catalog://product-areas

    • catalog://stats

    • catalog://entries/{entry_id}

正確なスコープでの取得

エージェントがすでにオブジェクト、コンポーネント、またはフィールドを把握している場合は、広範な検索よりも正確な取得を優先してください。

例:

{"identifier":"Worker"}
{"identifier":"Worker","component_name":"Worker"}
{"identifier":"Worker","component_name":"Worker","attribute_name":"WorkerNumber"}

Related MCP Connectors