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

您可以选择将服务器的作用域限定为一个或多个确切的业务对象:

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