oracle-eim-dq
Enables governed, read-only EIM data-quality checks against Oracle On-Prem and ATP by loading ACTIVE rules and running approved aggregate SQL to produce Markdown reports.
README
Oracle EIM Data Quality
Standalone MCP server for governed EIM data-quality checks against On-Prem Oracle and Oracle ATP. This is not the Oracle MCP chatbot.
The chatbot project (oracle-mcp-chatbot) answers natural-language questions.
This project loads ACTIVE rules from EIM_APPS.EIM_DQ_RULES_LOOKUP, runs
approved read-only SQL, and returns a director-ready Markdown report. An
optional isolated writer can atomically persist governed summaries and failed
record details without enabling arbitrary DML.
pip install --target .pydeps -r requirements-dev.txt
PYTHONPATH=.pydeps:src pytest
cp .env.example .env # add credentials
PYTHONPATH=.pydeps:src python -m oracle_mcp.server --profile both --check
PYTHONPATH=.pydeps:src python -m oracle_mcp.server --profile both
Rule workflow and report contract: docs/data-quality-framework.md.
What it does
| Capability | How |
|---|---|
| Separate from the chatbot | Own repo, own MCP server name oracle-eim-dq |
| ACTIVE rules only | Catalog filter RULE_STATUS = 'ACTIVE' |
| Checkpoint context | REFERENCE_CHECKPOINT is narrative, never executed as SQL |
| Read-only source access | AST guard plus SET TRANSACTION READ ONLY |
| Metrics | Total, failed, pass %, failure %, severity |
| Persisted reconciliation | Fixed parameterized INSERTs through a separate writer |
| Trend | Like-for-like population signature vs persisted history |
MCP tools
list_active_dq_rulesexecute_data_quality_ruleexecute_and_persist_data_quality_rule(registered only when persistence is enabled)- plus the same read-only discovery/validate/execute tools used to confirm objects
Enable persistence
Persistence is disabled by default. Have a DBA review and run
sql/04_dq_results_schema.sql, then configure the separate DQ_WRITE_*
credentials in .env and set:
ORACLE_MCP_DQ_PERSISTENCE_ENABLED=true
The writer receives INSERT only on EIM_APPS.EIM_DQ_RECON_SUMMARY and
EIM_APPS.EIM_DQ_FAILED_RECORDS. It must not reuse the read-only account.
Retention/purge is DBA-owned; the MCP process has no DELETE privilege.
Cursor MCP
Point Cursor at mcp-clients/cursor-mcp.json (replace absolute paths). The
workspace .cursor/mcp.json should register oracle-eim-dq with cwd set to
this repository, not oracle-mcp-chatbot.
Test locally
Run these commands from this repository:
# 1. Unit and security tests (no database required)
PYTHONPATH=.pydeps:src .pydeps/bin/pytest -q
# 2. Verify both Oracle connections
PYTHONPATH=.pydeps:src python3 -m oracle_mcp.server --profile both --check
# 3. Verify the MCP tool surface and read the live ACTIVE-rule catalog
PYTHONPATH=.pydeps:src python3 scripts/verify_dq.py
Expected live verification:
{
"status": "OK",
"server": "oracle-eim-dq",
"databases": ["ATP", "ONPREM"],
"dq_tools": ["execute_data_quality_rule", "list_active_dq_rules"]
}
If active_rule_count is 0, connectivity and MCP are working but the governed
catalog has no ACTIVE rules yet. Populate and approve catalog rows outside this
read-only application, then rerun the verification.
After changing .cursor/mcp.json, reload Cursor's MCP servers. In chat, first
ask: List the active EIM data-quality rules. Do not attempt a rule execution
until that call returns an ACTIVE rule ID.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
mcp-server-qdrant
这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。