data-engineering-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@data-engineering-mcpGenerate Oracle SQL to join the user and person tables for active users"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
data-engineering-mcp
Generic, local, and offline MCP server that transforms XLSX file headers into a searchable catalog, infers candidate relationships, and generates only Oracle SQL SELECT/WITH. It does not access databases, does not execute SQL, and has no Power BI integration or dependency.
Requirements and installation
Python 3.12
MCP Python SDK 2.x (
MCPServer, the current public API of the installed version)
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -e ".[dev]"Runtime dependencies: mcp, pandas, openpyxl, and pydantic; tests use pytest. The catalog uses openpyxl directly to open the workbooks in read-only mode and reads only the first required row.
Related MCP server: io.github.Optisol-Business/db-metadata-extractor-mcp
Data and architecture
Datasets are provided locally by the user and are not part of the repository. Place .xlsx files in data/; they remain available to the MCP but are ignored by Git. Each file is a table. The logical name strips .xlsx, the rawzn. prefix, and the _SINTETICO suffix, using a case-insensitive comparison. The first sheet not named SQL that has headers is used; records do not participate in discovery.
data/*.xlsx -> Catalog -> RelationshipEngine -> SQLGenerator
\-> explicação conservadora de SQLNew files are discovered by atualizar_catalogo, with no code changes. The update also detects removals and changes in the ordered header list, updates the timestamp, and recalculates candidates. The local schemas/datasets directory is configurable via the DATA_ENGINEERING_MCP_DATA_DIR variable; the default is data/.
Execution and testing
.\.venv\Scripts\data-engineering-mcp.exe
# ou
.\.venv\Scripts\python.exe -m data_engineering_mcp.server
.\.venv\Scripts\python.exe -m pytest
.\.venv\Scripts\python.exe scripts\smoke_test.pyThe default transport is stdio. Logs go to stderr to avoid corrupting the protocol. Set DATA_ENGINEERING_MCP_DATA_DIR to use a different local folder.
Tools
listar_tabelas,descrever_tabela,buscar_coluna,buscar_tabelasinferir_relacionamentos,encontrar_caminho,gerar_joinatualizar_catalogo,status_catalogogerar_sql,gerar_select,explicar_sql
gerar_sql receives tabelas, colunas, and typed filters {table?, column, operator, value}. Operators: =, <>, >, >=, <, <=, IN, IS NULL, IS NOT NULL, LIKE. Values become bind variables (:p1), never concatenated text. Ambiguous columns require TABELA.COLUNA. The default JOIN is LEFT JOIN, a conservative choice that preserves rows from the first table; the tool reports MEDIUM candidates and rejects LOW by default.
Example arguments:
{
"tabelas": ["RAW_HAP_TB_USUARIO", "RAW_HAP_TB_PESSOA"],
"colunas": ["CD_USUARIO", "NM_PESSOA_RAZAO_SOCIAL"],
"filtros": [{"column": "FL_STATUS_USUARIO", "operator": "=", "value": 2}]
}Relationship confidence
Every result is a nominal candidate, never a confirmed PK/FK. The score starts at 20 for identical column names; adds 30 for CD_, ID_, or NU_ prefixes; adds 20 when the column entity appears in a table name, plus 10 more if it appears in both. Occurrence in more than two tables subtracts 5 per extra occurrence (maximum 25); generic columns without an identifier prefix subtract 25. HIGH >= 75, MEDIUM >= 50, LOW < 50. No data values are read and no cardinality is computed, and this version has no explicit PK/FK metadata.
Security and limitations
Only structured Oracle SELECT/WITH SQL is generated. There is no surface for DDL/DML, arbitrary filter SQL, credentials, network, database, or external APIs.
Known limitations:
relationships are inferred nominally and may produce false positives or semantic negatives;
this version has no explicit PK/FK metadata;
generic or shared columns may lead to inappropriate paths;
LOWcandidates must not be used automatically;MEDIUMcandidates are inferences, not confirmations;explicar_sqlperforms conservative syntactic analysis and does not semantically validate the query against Oracle;some accent-containing logs may display incorrectly on a Windows console configured as CP1252.
XLSX files are always treated as read-only. Local datasets (data/*, *.xlsx, *.xls, *.csv, and *.parquet) are ignored and are not part of the repository.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides contextual Oracle database schema information to AI assistants, enabling them to understand and work with large databases containing thousands of tables. Supports multi-database connections, smart schema caching, table lookups, and relationship mapping.
- AlicenseNot gradedqualityDmaintenanceEnables extraction and querying of database schema metadata from PostgreSQL, Snowflake, SQL Server, BigQuery, and Oracle databases, saving results locally for analysis.MIT
- FlicenseNot gradedqualityCmaintenanceProvides tools to inspect dataset schema, profile, preview, and execute read-only SQL queries on uploaded CSV/Excel files.
- AlicenseNot gradedqualityBmaintenanceTurns Excel/CSV folders into a traceable, read-only AI knowledge layer; provides deterministic data queries, schema discovery, and evidence-backed search via MCP.1Apache 2.0
Related MCP Connectors
Find novel, statistically validated patterns in tabular data — hypothesis-free.
Formula-backed WorkPaper tools for workbook readback, input edits, and JSON persistence.
Generate Tableau .twb/.twbx workbooks: 47 tools for charts, dashboards, rules, CSV pipelines.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/paul-92/data-engineering-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server