使用说明
datev-mcp
MCP server for DATEV accounting workflows — connect AI agents to German accounting data.
An open-source Model Context Protocol server that enables AI assistants (Claude, ChatGPT, Cursor, etc.) to work with DATEV accounting data: parse EXTF files, look up SKR03/SKR04 chart of accounts, create booking entries, and generate DATEV-compliant exports.
Offline-first. No DATEV account required. No approval process.
Features
- EXTF file handling — read, validate, and generate DATEV EXTF booking files
- SKR03 & SKR04 — query the standard German charts of accounts (137+ / 89+ accounts)
- Booking entries — create and validate DATEV-compliant booking entries
- AI suggestions — rule-based account suggestions from invoice text
Quick Start
Claude Desktop
Requires uv installed (provides the uvx command).
Add to your claude_desktop_config.json:
{
"mcpServers": {
"datev": {
"command": "uvx",
"args": ["datev-mcp"]
}
}
}
Local Development
git clone https://github.com/BadRix90/datev-mcp
cd datev-mcp
uv venv && uv sync --extra dev
uv run python -m datev_mcp.server
HTTP Mode
uv run python -m datev_mcp.server --transport http
# Server runs on http://localhost:8080
Available MCP Tools
| Tool | Description |
|---|---|
datev_buchung_erstellen |
Create a DATEV booking entry with validation |
datev_buchung_vorschlagen |
Suggest accounts from invoice text |
datev_extf_lesen |
Read and parse an EXTF file |
datev_extf_validieren |
Validate an EXTF file for DATEV compliance |
datev_extf_exportieren |
Export booking entries as EXTF file |
datev_kontenrahmen_suchen |
Search SKR03/SKR04 chart of accounts |
datev_kontenrahmen_info |
Get details for a specific account number |
MCP Resources
| URI | Content |
|---|---|
datev://kontenrahmen/skr03/{nr} |
SKR03 account details |
datev://kontenrahmen/skr04/{nr} |
SKR04 account details |
Demo
Web Demo
uv run python demo/server.py
# Open http://localhost:8090
Interactive wizard that demonstrates the AI agent workflow: invoice processing, account lookup, and EXTF export — all powered by real MCP tool calls.
CLI Demo
uv run python demo/mockup.py
Runs 5 scenarios showing how an AI agent would interact with the DATEV MCP server.
Architecture
Phase 1 (current): Offline-first
+-----------+ MCP +------------+
| AI Agent | --------> | datev-mcp |
| (Claude) | | Server |
+-----------+ +-----+------+
|
+-----v------+
| EXTF Parser|
| SKR03/04 |
| (local) |
+------------+
Phase 2 (planned): DATEV API integration via OAuth 2.0
Configuration
| Environment Variable | Description | Default |
|---|---|---|
DATEV_MCP_LOG_LEVEL |
Log level (DEBUG/INFO/WARNING) | INFO |
DATEV_MCP_TRANSPORT |
Transport type (stdio/http) | stdio |
DATEV_MCP_PORT |
HTTP port (http transport only) | 8080 |
Copy .env.example to .env to configure.
Development
# Run tests
uv run pytest
# Lint & format
uv run ruff check .
uv run ruff format .
Requirements: Python >= 3.12, uv
Tech Stack
- FastMCP 3.1.0 — MCP server framework
- Pydantic v2 — data validation
- Ruff — linting & formatting
- pytest — testing
Disclaimer
This project is not affiliated with, endorsed by, or connected to DATEV eG in any way. "DATEV" and "EXTF" are trademarks of DATEV eG. This software implements the publicly documented EXTF file format for interoperability purposes.
The SKR03 and SKR04 chart of accounts data included in this project is based on publicly available information. It is provided for educational and interoperability purposes only. For authoritative account definitions, consult the official DATEV documentation.
This software is provided "as is" without warranty of any kind. It does not constitute tax, legal, or accounting advice. Users are responsible for verifying all generated data before use in production accounting systems.
Author
Kay Dietrich — kaydietrich.com | SyntraQ AI
License
MIT — free to use, modify, and distribute, including commercially.
