
Etld Mcp Server
io.github.pablixnieto2Published by GitHub account pablixnieto2v3.2.2Updated Oct 24, 2026
Deterministic B2B Data Middleware. Waterfall parsing for CSV, EDI, SEC & Finance. No hallucinations.
Overview
A local MCP server that parses structured B2B and financial files (CSV, EDI, bank statements, PDFs) into clean JSON through a deterministic parsing service.
- What you can do
- Parse financial and B2B files: bank statements in Spanish Norma 43, broker trade histories, and ANSI X12 EDI documents into JSON, and generate SEPA PAIN.008 direct-debit XML from JSON input. Convert PDFs to spatial Markdown that preserves table structure, and extract invoices and resumes against a schema. Enrich single values: normalize amounts and currencies, resolve human-readable dates with timezone awareness, standardize addresses, and map accounting concepts to ES PGC, US GAAP or IFRS. Requests are routed through a three-layer waterfall of deterministic parsers, embedding-based schema alignment and a constrained LLM step.
- When to use it
- Useful when an assistant must read messy structured business or financial files without losing precision or burning context on thousands of rows, for example turning bank statements, EDI orders or broker exports into reliable JSON, or normalizing amounts, dates and addresses before further processing.
- Requirements
- Runs locally as an npm package over stdio, typically launched with npx, so Node.js is needed. Requires an ETLD_API_KEY environment variable (a master key or provisioned key) obtained by purchase or agent-led provisioning. The parsing engine is a hosted cloud service, so network access is required.
Installation
In SourceWeft
- Open Etld Mcp Server in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
ETL-D MCP Server 🌊
[npm version] [PyPI version] [MCP Registry] [License: MIT]
ETL-D is a deterministic data middleware designed to act as a shield for AI Agents. It stops LLMs from "hallucinating" over structured data by providing a strict, 3-layer parsing architecture via the Model Context Protocol (MCP).
⚠️ The Problem: The "Data Tax" & Hallucinations
Standard LLMs are terrible at reading raw B2B files (CSV, PDF, EDI, Norma 43). They suffer from:
- Token Exhaustion: Sending a 5,000-row CSV to context is a waste of money.
- Precision Loss: LLMs struggle with spatial alignment. A misplaced comma in a bank statement is a financial catastrophe.
- Non-Determinism: You can't build a reliable pipeline if the output format depends on the LLM's "mood."
✅ The Solution: 3-Layer Waterfall Architecture
The ETL-D engine processes every request through a strict hierarchy:
- Layer 1 (Heuristic): 100% Python-native deterministic parsers. 0% Hallucination risk. ~70ms latency.
- Layer 2 (Semantic): Column-to-Schema alignment using embedding-based routing.
- Layer 3 (LLM Shield): Strict JSON enforcement using Llama 3.3 70B with
additionalProperties: falseconstraints for high-entropy noise.
🚀 Quick Start (Claude Desktop)
- Open your
claude_desktop_config.json. - Add the ETL-D server (Ensure you use version
3.3.3):
🔑 How to Get an API Key?
-
Option A: Manual Purchase (Human) Get a Starter Pack ($5 / 5,000 credits) or a Subscription at api.etl-d.net.
-
Option B: Zero-Touch Provisioning (Agent-Led) 🤖 If you don't have a key, simply ask Claude: "I don't have an ETL-D key, can you help me get one?". The agent will call the /provision tool, generate a Stripe Checkout link for you, and automatically set up the key once paid. Zero-touch, human-in-the-loop.
🛠️ Available MCP Tools
- Financial & B2B Heavy Lifting parse_bank_statement: Support for Spanish Norma 43 (N43). Turns raw bank files into clean JSON.
parse_trade_history: Deterministic extraction of trades, fees, and dividends from complex broker exports.
parse_edi: ANSI X12 EDI parser (Optimized for 850 Purchase Orders).
generate_sepa_xml: JSON to PAIN.008 (Direct Debit) XML generator.
- Document Intelligence pdf_to_spatial_markdown: Crucial for Agents. Converts PDFs to Markdown preserving table structures before the LLM reads them.
extract_invoice / extract_resume: High-accuracy schema extraction for standard B2B documents.
- Atomic Enrichment (1 Credit/call) enrich_amount: Cleans "Total: 1.240,50€" into {amount: 1240.50, currency: "EUR"}.
enrich_date: Resolves human-readable dates ("next Friday at 5pm") with Timezone awareness.
enrich_address: Standardizes global messy addresses into structured components.
accounting_map: Maps concepts to ES PGC, US GAAP, or IFRS.
🏗️ Ecosystem
Cloud Engine: Hosted at api.etl-d.net (Python/FastAPI).
Python SDK: pip install etld.
n8n Nodes: Available in the n8n community as n8n-nodes-etld.
⚖️ License
MIT - Created by Pablixnieto2
Source: README.md at commit 7e7d192
Tools
0Version history
1- v3.2.2LatestSep 16, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.