Skip to main content
Glama
jphittell

Catalog MCP

by jphittell

Katalog-MCP

Eigenständiger, schreibgeschützter MCP-Server zum Durchsuchen von Oracle HDL-Geschäftsobjekt-Metadaten aus dem lokalen Repository für die Aufnahme von Geschäftsobjekten.

Der Katalogindex behandelt attributes/*.json als die Quelle der Wahrheit. manifest.json ist ein optionales ergänzendes Metadatum, das nur verwendet wird, wenn es mit einem indizierten Attributdokument übereinstimmt.

Lokale Einrichtung

  1. Erstellen Sie eine virtuelle Umgebung mit Python 3.10+.

  2. Installieren Sie die Abhängigkeiten.

  3. Verweisen Sie CATALOG_MCP_DATA_ROOT auf das Repository für die Aufnahme von Geschäftsobjekten, wenn Sie nicht den standardmäßigen Pfad im übergeordneten Verzeichnis verwenden möchten.

'/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

Sie können den Server optional auf ein oder mehrere exakte Geschäftsobjekte beschränken:

CATALOG_MCP_ALLOWED_OBJECTS=Worker

oder:

CATALOG_MCP_ALLOWED_OBJECTS=Worker,Location

Server ausführen

.venv/bin/python -m catalog_mcp.server

Der Server läuft standardmäßig über stdio.

Sie können auch den eingecheckten Launcher verwenden, der CATALOG_MCP_DATA_ROOT standardmäßig auf das Repository für Geschäftsobjekte im übergeordneten Verzeichnis auf diesem Laptop setzt:

./scripts/run_catalog_mcp.sh

Bei Codex registrieren

Fügen Sie den Server zur lokalen Codex-MCP-Konfiguration hinzu:

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

Überprüfen Sie die Registrierung:

codex mcp list
codex mcp get businessObjectCatalog

Test

.venv/bin/pytest

Führen Sie die End-to-End-Druckmatrix aus:

.venv/bin/python scripts/pressure_test_catalog.py

Öffentliche MCP-Oberfläche

  • Tools:

    • 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

  • Ressourcen:

    • catalog://summary

    • catalog://product-areas

    • catalog://stats

    • catalog://entries/{entry_id}

Exakter Abruf

Wenn ein Agent das Objekt, die Komponente oder das Feld bereits kennt, bevorzugen Sie den exakten Abruf gegenüber einer breiten Suche.

Beispiele:

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

Related MCP Connectors