Token导航 LogoToken导航

MCP Server · AI代理

Openxe MCP Server

连接OpenXE ERP系统与本地AI助手的服务,支持通过自然语言查询和操作ERP数据,无需云端处理。

stdio官方级别未说明来源级核验工具 0github
本地处理TypeScript数据分析

快速开始

作者 / 组织
Avatarsia
提供方
Avatarsia
运行时
Node.js

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

Openxe MCP Server 属于AI代理类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

AI代理

传输方式

stdio

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

安装命令

npx -y github:Avatarsia/openxe-mcp-server

客户端配置示例

{
  "mcpServers": {
    "openxe-mcp-server": {
      "command": "npx",
      "args": [
        "-y",
        "github:Avatarsia/openxe-mcp-server"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

OpenXE MCP Server

Verbinde dein OpenXE ERP mit jedem KI-Assistenten -- per MCP (Model Context Protocol).

69 Tools | 19 Resources | 5 Berichte | 11 Dashboard-KPIs | Verifiziert gegen OpenXE v1.12

Was ist das?

Dieser Server verbindet dein OpenXE ERP-System mit lokalen KI-Assistenten wie LM Studio, Ollama, OpenWebUI und anderen MCP-faehigen Clients. Du stellst Fragen auf Deutsch, und der Assistent liest und schreibt automatisch in deinem ERP -- alles lokal, keine Cloud noetig.

Beispiele:

  • *"Zeig mir alle offenen Auftraege"*
  • *"Erstelle einen neuen Kunden: Firma Muster GmbH, Musterstr. 1, 12345 Berlin"*
  • *"Wie hoch ist der Umsatz diesen Monat?"*
  • *"Welche Rechnungen sind ueberfaellig?"*
  • *"Erstelle eine Bestellung bei Lieferant Mueller fuer 100 Schrauben"*

Voraussetzungen

  • Node.js Version 20 oder neuer ()
  • OpenXE mit aktiviertem API-Zugang
  • Ein KI-Assistent der MCP unterstuetzt (LM Studio, OpenWebUI, Ollama, etc.)

Einrichtung

Schritt 1: API-Benutzer in OpenXE anlegen

  1. Melde dich als Admin in OpenXE an
  2. Gehe zu Administration > Einstellungen > Benutzer
  3. Erstelle einen neuen Benutzer (oder verwende einen bestehenden)
  4. Setze unter API > REST-API ein Passwort
  5. Merke dir Benutzername und Passwort

Schritt 2: MCP-Server in deinem KI-Assistenten einrichten

Der Server wird automatisch heruntergeladen und gestartet -- du musst nichts installieren. Du brauchst nur drei Angaben:

AngabeBeispielBeschreibung
OPENXE_URLhttp://192.168.0.100Die Adresse deines OpenXE-Servers
OPENXE_USERNAMEapi-userDer API-Benutzername aus Schritt 1
OPENXE_PASSWORDmein-passwortDas API-Passwort aus Schritt 1
LM Studio

Ab Version 0.3+. Oeffne Settings > MCP und fuege folgendes ein:

Minimale Konfiguration (LAN-Betrieb, schneller Einstieg):

{
  "openxe": {
    "command": "npx",
    "args": ["-y", "github:Avatarsia/openxe-mcp-server"],
    "env": {
      "OPENXE_URL": "http://192.168.0.100",
      "OPENXE_USERNAME": "api-user",
      "OPENXE_PASSWORD": "mein-passwort",
      "OPENXE_ALLOW_HTTP": "1"
    }
  }
}

Vollstaendige Konfiguration (mit allen Optionen):

{
  "openxe": {
    "command": "npx",
    "args": ["-y", "github:Avatarsia/openxe-mcp-server"],
    "env": {
      "OPENXE_URL": "http://192.168.0.100",
      "OPENXE_USERNAME": "api-user",
      "OPENXE_PASSWORD": "mein-passwort",
      "OPENXE_ALLOW_HTTP": "1",
      "OPENXE_MODE": "router",
      "OPENXE_TIMEOUT": "30000",
      "OPENXE_AUDIT_LOG": "1"
    }
  }
}

Was bedeuten die einzelnen Einstellungen?

VariableWert im BeispielWas macht das?
OPENXE_URLhttp://192.168.0.100Die IP-Adresse oder URL deines OpenXE-Servers im Netzwerk.
OPENXE_USERNAMEapi-userDer Benutzername, den du in OpenXE unter API angelegt hast.
OPENXE_PASSWORDmein-passwortDas dazugehoerige Passwort.
OPENXE_ALLOW_HTTP1Unterdrueckt die Sicherheitswarnung bei HTTP-Verbindungen. Im lokalen Netzwerk (LAN) ist HTTP in Ordnung -- die Warnung ist fuer Internetverbindungen gedacht, wo HTTPS Pflicht waere.
OPENXE_MODErouterSteuert, wie viele Tools das LLM sieht. router (Standard) zeigt nur 2 kompakte Tools -- ideal fuer lokale Modelle mit begrenztem Kontextfenster. full zeigt alle 69 Tools einzeln. readonly erlaubt nur Lesen (kein Erstellen/Bearbeiten/Loeschen).
OPENXE_TIMEOUT30000Wie lange der Server maximal auf eine Antwort von OpenXE wartet (in Millisekunden). 30000 = 30 Sekunden. Bei langsamen Servern oder grossen Abfragen auf 60000 erhoehen.
OPENXE_AUDIT_LOG1Protokolliert jeden einzelnen Tool-Aufruf (welches Tool, welche Parameter, wann). Nuetzlich zum Nachvollziehen, was das LLM gemacht hat. Sensible Daten (IBAN, PayPal, Passwoerter) werden dabei automatisch maskiert. Das Protokoll erscheint in der Konsole (stderr).
Tipp fuer lokale Modelle: Verwende den router-Modus (Standard). Er reduziert den Token-Verbrauch von ~10.000 auf ~1.500 Tokens fuer die Tool-Definitionen -- das laesst mehr Platz fuer deine eigentliche Frage und die Antwort.

Alternative: Lokaler Build mit .env-Datei

Wenn du das Repo selbst geklont und lokal gebaut hast (npm install && npm run build), kannst du die Credentials in einer .env-Datei im Projektverzeichnis pflegen, statt sie inline in der MCP-Client-Konfiguration zu hinterlegen. Der Eintrag sieht dann so aus:

{
  "openxe": {
    "command": "node",
    "args": [
      "/openxe-mcp-server/dist/index.js"
    ],
    "cwd": "/openxe-mcp-server"
  }
}

Wichtig:

  • Kein env-Block in der MCP-Client-Konfiguration — sonst ueberschreiben die inline-Werte die Eintraege aus der .env.
  • cwd zwingend setzen, und zwar auf das Projektverzeichnis (openxe-mcp-server). dotenv laedt die .env aus dem aktuellen Arbeitsverzeichnis des Prozesses, nicht aus dem Verzeichnis, in dem index.js liegt. Ohne cwd startet der MCP-Client den Node-Prozess aus seinem eigenen Installationsordner, und die .env wird nicht gefunden.
  • Kein npx, sondern node — npx -y github:... wuerde jedes Mal das GitHub-Package in einen Cache-Ordner ziehen und deinen lokalen Build ignorieren.
  • Nach Code-Aenderungen npm run build nicht vergessen — gestartet wird dist/index.js, nicht die TypeScript-Quellen.
OpenWebUI + Ollama

Ab OpenWebUI 0.6+. Unter Admin > Tools > MCP Servers eintragen:

  • Command: npx
  • Args: -y github:Avatarsia/openxe-mcp-server
  • Umgebungsvariablen: OPENXE_URL, OPENXE_USERNAME, OPENXE_PASSWORD
Andere MCP-Clients

Jeder Client mit stdio-Transport funktioniert:

OPENXE_URL=http://dein-openxe-server \
OPENXE_USERNAME=dein-api-user \
OPENXE_PASSWORD=dein-api-passwort \
npx -y github:Avatarsia/openxe-mcp-server

Schritt 3: Testen

Starte deinen KI-Assistenten und frage: *"Zeig mir alle Artikel"*. Wenn Daten kommen, funktioniert alles.


Funktionen

Was kann der Server?

BereichLesenSchreibenBerichte
Kunden & LieferantenAuflisten, Suchen, DetailsAnlegen, Bearbeiten (60+ Felder inkl. Bank, PayPal, SEPA, Dokumentversand)--
ArtikelAuflisten, Details, Preise, Lagerbestand--Lagerwert, Nachbestellbedarf
AuftraegeAuflisten, Details, PositionenAnlegen, Bearbeiten, FreigebenAuftragseingang
RechnungenAuflisten, Details, PositionenAnlegen, Bearbeiten, Freigeben, Bezahlt markierenUmsatz, Offene Posten, Altersstruktur
AngeboteAuflisten, DetailsAnlegen, Bearbeiten, In Auftrag wandeln--
LieferscheineAuflisten, DetailsAnlegen, Bearbeiten--
GutschriftenAuflisten, DetailsAnlegen, Bearbeiten--
Bestellungen (Einkauf)Auflisten, Details, PositionenAnlegen, Bearbeiten, FreigebenEinkaufsvolumen je Lieferant
EinkaufspreiseStaffelpreise je Lieferant----
AbonnementsAuflisten, DetailsAnlegen, Bearbeiten, Loeschen--
CRM--Notizen, Telefonate, E-Mails erfassen--
ZeiterfassungStatus, Wochenuebersicht, EintraegeEin-/Ausstempeln, Eintraege CRUD--
Tracking--Sendungsnummern anlegen--
DateienAuflistenHochladen (base64)--
Dashboard11 KPIs (Umsatz, Auftraege, Kunden, Lager, Einkauf)----
Berichte5 Reports (Umsatz, Offene Posten, Lager, Beschaffung, Periodenvergleich)----
PDFEinzeln oder bis zu 20 auf einmal----

Smart Filters

Alle Listen-Abfragen unterstuetzen clientseitige Filter:

  • where: {plz: {startsWith: "2"}}, {gesamtsumme: {gt: 100}}, {land: {equals: "DE"}}, {"positionen.nummer": {containsAny: ["ART-001", "ART-002"]}}
  • where-Operatoren (neu): in (Feld matcht einen Wert aus Liste), containsAny (Array-Feld enthaelt mindestens einen Wert), containsAll (Array-Feld enthaelt alle Werte). Alle drei vergleichen case-insensitive.
  • Dot-Notation: Feldnamen wie positionen.nummer iterieren ueber verschachtelte Array-Felder eines Belegs. Eine einzelne Bedingung matcht "mindestens ein Element". Mehrere Bedingungen mit gleichem Array-Prefix (z.B. positionen.nummer + positionen.menge) werden automatisch elementweise gepaart — der Beleg matcht nur, wenn dasselbe Array-Element alle Bedingungen erfuellt.
  • sort/limit: Ergebnisse sortieren und begrenzen
  • zeitraum: dieser-monat, letzter-monat, letzte-30-tage, Q1-2026, 2025
  • status_preset — entity-spezifisch, unbekannte/nicht unterstützte Werte werden vom Handler als Fehler abgewiesen:

- list-quotes: offen | angenommen | abgelehnt - list-orders: offen | entwurf - list-invoices: offen | unbezahlt | bezahlt | ueberfaellig | entwurf | mahnkandidaten - list-delivery-notes, list-credit-memos: wird nicht unterstützt - list-purchase-orders: offen | freigegeben | bestellt | angemahnt | empfangen | aktiv - Für business-query-Presets (offene-rechnungen, nicht-versendet, ueberfaellige-rechnungen, ueberfaellige-lieferungen usw.) das separate Tool openxe-business-query bzw. die action business-query nutzen.

  • aggregate: count, sum_feld, avg_feld, groupBy_feld
  • format: table, csv, ids, csv-positions (bei Belegen: eine CSV-Zeile pro Belegposition statt pro Beleg, mit Beleg-Header-Feldern als Prefix und Positions-Feldern dahinter; bei Filter auf positionen.* werden nur die passenden Positionen exportiert).

Beispiel (router-Modus): Rechnungen finden, die Artikel ART-001 oder ART-002 enthalten, und nur die passenden Positionen als CSV exportieren:

{
  "action": "list-invoices",
  "params": {
    "zeitraum": "2025",
    "where": {
      "positionen.nummer": {"containsAny": ["ART-001", "ART-002"]}
    },
    "format": "csv-positions"
  }
}

Im full-Modus wird derselbe Aufruf direkt als Tool openxe-list-invoices mit dem inneren params-Objekt als Argumenten verwendet.

Berichte

BerichtBeschreibung
UmsatzberichtNach Kunde, Artikel, Monat, Quartal, Jahr oder Projekt -- mit optionaler Margenberechnung
Offene PostenListe, Altersstruktur (0-30/31-60/61-90/90+ Tage), Kreditlimit-Auslastung
LagerbestandUebersicht, Nachbestellbedarf, Lagerwert (VK)
BeschaffungEinkaufsvolumen je Lieferant, offene Bestellungen mit Ueberfaellig-Warnung
PeriodenvergleichAktuell vs. Vorperiode (Monat/Quartal/Jahr) fuer Umsatz, Auftraege, Neukunden, Rechnungen

Konfiguration

Pflicht-Variablen

VariableBeschreibung
OPENXE_URLBasis-URL deiner OpenXE-Instanz (z.B. http://192.168.0.100)
OPENXE_USERNAMEAPI-Benutzername
OPENXE_PASSWORDAPI-Passwort

Optionale Variablen

VariableDefaultBeschreibung
OPENXE_API_PATH/api/index.phpAPI-Endpunkt-Pfad (nur aendern wenn noetig)
OPENXE_TIMEOUT30000Request-Timeout in Millisekunden
OPENXE_MODErouterrouter (2 Tools, wenig Tokens), full (alle einzeln), readonly (nur Lesen)
OPENXE_ALLOW_HTTP-Auf 1 setzen um die HTTP-Warnung im LAN zu unterdruecken
OPENXE_AUDIT_LOG-Auf 1 setzen fuer Audit-Logging aller Tool-Aufrufe

Sicherheits-Variablen (nur fuer Netzwerk-Betrieb mit --http)

VariableDefaultBeschreibung
MCP_AUTH_TOKEN-Bearer-Token fuer HTTP-Zugriff
MCP_HTTP_HOST127.0.0.1Bind-Adresse (0.0.0.0 fuer Netzwerk, nur mit Reverse-Proxy!)
MCP_ALLOWED_ORIGINS-Erlaubte Origins (kommagetrennt, DNS-Rebinding-Schutz)

Haeufige Probleme

Der KI-Assistent findet keine Daten

  • Pruefe ob die OpenXE-URL erreichbar ist: curl http://dein-openxe-server/api/index.php
  • Pruefe ob Benutzername und Passwort stimmen
  • Pruefe ob die Umgebungsvariablen korrekt gesetzt sind

Authentifizierung schlaegt fehl

  • OpenXE nutzt HTTP Digest Auth -- der Benutzer braucht ein Passwort unter API > REST-API
  • Sonderzeichen im Passwort koennen Probleme mit Umgebungsvariablen verursachen

Timeout bei grossen Abfragen

  • Erhoehe OPENXE_TIMEOUT (z.B. auf 60000 fuer 60 Sekunden)
  • Verwende spezifischere Abfragen statt *"zeig mir alles"*

Leere Ergebnisse bei Bestellungen

  • Bestellungen (Einkauf) sind nicht ueber die REST v1 API verfuegbar -- der MCP-Server nutzt automatisch die Legacy API als Fallback
  • Wenn trotzdem leer: pruefe ob Bestellungen in OpenXE existieren

Sicherheit

Lokaler Betrieb (Standard)

Im Normalfall laeuft der Server als Subprocess deines KI-Assistenten (stdio-Transport). Dabei werden keine Netzwerkports geoeffnet -- die Kommunikation laeuft ueber Pipes. Fuer den Betrieb im lokalen Netzwerk sind keine zusaetzlichen Einstellungen noetig.

Read-Only Modus

Wenn du nur Daten lesen moechtest (kein Erstellen/Bearbeiten/Loeschen):

OPENXE_MODE=readonly

Netzwerk-Betrieb (--http)

Nur wenn du den Server als eigenstaendigen Netzwerkdienst betreiben willst:

MCP_AUTH_TOKEN=dein-token npx -y github:Avatarsia/openxe-mcp-server -- --http
  • Bindet standardmaessig nur auf 127.0.0.1 (nicht von aussen erreichbar)
  • Mit MCP_HTTP_HOST=0.0.0.0 von aussen erreichbar -- nur hinter einem Reverse-Proxy mit HTTPS verwenden!

Tool Annotations

Alle Tools tragen MCP-Annotations (readOnlyHint, destructiveHint, idempotentHint). Dein KI-Client kann damit automatisch vor kritischen Aktionen warnen.


Fuer Entwickler

Konfiguration via .env-Datei

Der Server unterstuetzt eine .env-Datei im Projektverzeichnis. Kopiere .env.example und passe die Werte an:

cp .env.example .env

Die .env-Datei wird nicht nach Git committed (steht in .gitignore). Umgebungsvariablen die direkt gesetzt werden (z.B. ueber die MCP-Client-Konfiguration) haben Vorrang vor .env.

Projektstruktur

src/
  index.ts          # MCP-Server Einstiegspunkt (laedt dotenv)
  config.ts         # Umgebungsvariablen (Zod-validiert)
  client/           # HTTP Digest Auth Client fuer OpenXE
  tools/            # Tool Handler (Schreiben via Legacy API)
    report-tools.ts # 5 Berichts-Tools
    procurement-tools.ts # Beschaffung (Bestellungen)
    document-tools.ts    # Belege CRUD + Konvertierung
    address-tools.ts     # Adressen mit Feld-Normalisierung
    ...
  resources/        # Resource Handler (Lesen via REST v1)
  schemas/          # Zod-Schemas fuer Eingabe-Validierung
  utils/            # Smart Filters, Pagination, Aggregation
tests/              # 369 Unit-Tests (Vitest)
docs/
  api-reference/    # Verifizierte OpenXE API-Dokumentation
  llm/              # LLM-optimierte Kurzreferenz

Lokal entwickeln

git clone https://github.com/Avatarsia/openxe-mcp-server.git
cd openxe-mcp-server
npm install
cp .env.example .env     # Dann Werte anpassen
npm run build
npm test
npm start

Der Server laedt automatisch eine .env-Datei aus dem Projektverzeichnis (via dotenv). Alternativ koennen die Variablen weiterhin direkt als Umgebungsvariablen oder ueber die MCP-Client-Konfiguration gesetzt werden — .env hat die niedrigste Prioritaet.

API-Dokumentation

Verifizierte Dokumentation im Verzeichnis docs/api-reference/:

  • AUTH.md -- HTTP Digest Authentifizierung, 96 Permissions
  • LEGACY-API.md -- 120+ Legacy API Endpoints (Schreiben)
  • REST-V1-STAMMDATEN.md -- Artikel, Adressen, Kategorien, etc.
  • REST-V1-BELEGE.md -- Auftraege, Rechnungen, Lieferscheine, etc.
  • REST-V1-SONSTIGE.md -- Abos, CRM, Tracking, Dateien, etc.
  • SPEZIAL-APIS.md -- Shop-Import, OpenTRANS, Mobile API

Bekannte Einschraenkungen

ProblemUrsacheWorkaround
BelegEdit (alle Typen) crasht mit 500Server-Bug in OpenXE v1.12Edit-Tools angelegt, funktionieren auf neueren Versionen
Lieferadressen REST v1 komplett 500PHP 8.x Signatur-Bug (#249)Legacy-API-Fallback fuer Create/Edit
Bestellungen nicht via REST v1Kein Endpoint registriertAutomatischer Legacy-API-Fallback
Einkaufspreise nicht via REST v1Include nicht registriert (#252)Legacy ArtikelGet als Fallback
Gruppen nicht via API nutzbarREST v1 404, Legacy XML-BugIssue geplant
Mobile Dashboard API (16 KPIs)Permission fehlt in UI (#254)Eigene Dashboard-KPIs als Ersatz
Report-Templates nicht via API erstellbarKein POST /v1/reports Endpoint (#254)JSON-Template lokal generieren, in UI importieren
Protokoll fehlt bei API-Weiterfuehren#244--
Gemma 4 schein Inkompatibel zu sein--

Lizenz

MIT -- siehe LICENSE.

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

ERP集成TypeScript本地部署AI助手本地处理数据查询自动化操作

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Openxe MCP Server

MCP World · 本页

0stdio有1 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Openxe MCP Server 怎么安装?

公开资料给出的安装命令是 npx -y github:Avatarsia/openxe-mcp-server,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Openxe MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

Openxe MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Openxe MCP Server 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

Openxe MCP Server 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP