MCP Hub
Back to servers

POHODA MCP Server

An MCP server that integrates with Stormware POHODA accounting software via the mServer XML API. It provides 48 tools to manage invoices, stock, orders, warehouse documents, and accounting reports through any MCP-compatible client.

glama
Updated
Mar 15, 2026

POHODA MCP Server

License: MIT Node.js Version TypeScript

MCP server for POHODA (Stormware) accounting software. Manage invoices, stock, orders, bank documents, warehouse, and accounting from any MCP-compatible client.

48 tools covering all major POHODA agendas via mServer XML API.

Requirements

  • Node.js 20+
  • POHODA with mServer enabled and running
  • mServer user credentials with XML communication rights

Installation

git clone https://github.com/hlebtkachenko/pohoda-mcp.git
cd pohoda-mcp
npm ci
npm run build

Configuration

Cursor

~/.cursor/mcp.json

{
  "mcpServers": {
    "pohoda": {
      "command": "node",
      "args": ["/path/to/pohoda-mcp/dist/index.js"],
      "env": {
        "POHODA_URL": "http://localhost:444",
        "POHODA_USERNAME": "<your-username>",
        "POHODA_PASSWORD": "<your-password>",
        "POHODA_ICO": "<your-company-ico>"
      }
    }
  }
}

Claude Desktop

claude_desktop_config.json (location)

{
  "mcpServers": {
    "pohoda": {
      "command": "node",
      "args": ["/path/to/pohoda-mcp/dist/index.js"],
      "env": {
        "POHODA_URL": "http://localhost:444",
        "POHODA_USERNAME": "<your-username>",
        "POHODA_PASSWORD": "<your-password>",
        "POHODA_ICO": "<your-company-ico>"
      }
    }
  }
}

Claude Code

.mcp.json in your project root, or ~/.claude.json globally:

{
  "mcpServers": {
    "pohoda": {
      "command": "node",
      "args": ["/path/to/pohoda-mcp/dist/index.js"],
      "env": {
        "POHODA_URL": "http://localhost:444",
        "POHODA_USERNAME": "<your-username>",
        "POHODA_PASSWORD": "<your-password>",
        "POHODA_ICO": "<your-company-ico>"
      }
    }
  }
}

Any MCP client (stdio)

The server uses stdio transport. Point your MCP client to:

node /path/to/pohoda-mcp/dist/index.js

With environment variables set for authentication (see below).

Environment Variables

VariableRequiredDescription
POHODA_URLYesmServer URL (default port: 444)
POHODA_USERNAMEYesPOHODA user with XML rights
POHODA_PASSWORDYesPOHODA password
POHODA_ICOYesCompany IČO (accounting unit)
POHODA_TIMEOUTNoRequest timeout in ms (default: 120000)
POHODA_MAX_RETRIESNoMax retries on timeout/503 (default: 2)
POHODA_CHECK_DUPLICITYNoEnable duplicate import checks (default: false)

Tools

System (3)

ToolDescription
pohoda_statusCheck mServer status (processing queue, idle/working)
pohoda_company_infoGet accounting unit info (company name, database, period)
pohoda_download_fileDownload a file from POHODA's documents folder

Address Book (4)

ToolDescription
pohoda_list_addressesExport contacts with filters (name, IČO, code, date)
pohoda_create_addressCreate a new contact in address book
pohoda_update_addressUpdate an existing contact by ID
pohoda_delete_addressDelete a contact by ID

Invoices (3)

ToolDescription
pohoda_list_invoicesExport invoices — issued, received, advance, credit notes, receivables, commitments
pohoda_create_invoiceCreate an invoice with line items, partner, symbols, VAT
pohoda_delete_invoiceDelete an invoice by ID

Orders (3)

ToolDescription
pohoda_list_ordersExport issued/received orders with filters
pohoda_create_orderCreate an order with items and partner
pohoda_delete_orderDelete an order by ID

Offers (2)

ToolDescription
pohoda_list_offersExport issued/received offers
pohoda_create_offerCreate an offer with items

Enquiries (2)

ToolDescription
pohoda_list_enquiriesExport issued/received enquiries
pohoda_create_enquiryCreate an enquiry with items

Contracts (3)

ToolDescription
pohoda_list_contractsExport contracts with filters
pohoda_create_contractCreate a new contract
pohoda_delete_contractDelete a contract by ID

Bank Documents (2)

ToolDescription
pohoda_list_bankExport bank documents (receipts/expenses)
pohoda_create_bankCreate a bank document with items

Cash Vouchers (2)

ToolDescription
pohoda_list_vouchersExport cash register vouchers
pohoda_create_voucherCreate a cash voucher (receipt/expense)

Internal Documents (2)

ToolDescription
pohoda_list_internal_docsExport internal accounting documents
pohoda_create_internal_docCreate an internal document

Stock / Inventory (5)

ToolDescription
pohoda_list_stockExport stock items with filters (code, name, store)
pohoda_create_stockCreate a new stock item
pohoda_update_stockUpdate a stock item by ID or code
pohoda_delete_stockDelete a stock item
pohoda_list_storesList all stores (warehouses)

Warehouse Documents (8)

ToolDescription
pohoda_list_prijemkyExport receiving documents (příjemky)
pohoda_create_prijemkaCreate a receiving document
pohoda_list_vydejkyExport dispatch documents (výdejky)
pohoda_create_vydejkaCreate a dispatch document
pohoda_list_prodejkyExport sales documents (prodejky)
pohoda_create_prodejkaCreate a sales document
pohoda_list_prevodkyExport transfer documents (převodky)
pohoda_create_prevodkaCreate a transfer document

Production & Service (4)

ToolDescription
pohoda_list_vyrobaExport production documents
pohoda_create_vyrobaCreate a production document
pohoda_list_serviceExport service records
pohoda_create_serviceCreate a service record

Reports (4)

ToolDescription
pohoda_list_accountancyExport accounting journal entries
pohoda_list_balanceExport saldo/balance records
pohoda_list_movementsExport stock movement records
pohoda_list_vatExport VAT classification records

Settings (1)

ToolDescription
pohoda_list_settingsExport settings (numerical series, bank accounts, cash registers, centres, activities, payment methods, stores, storage, categories, accounting units)

Docker

docker build -t pohoda-mcp .
docker run --rm -i \
  -e POHODA_URL=http://host.docker.internal:444 \
  -e POHODA_USERNAME=<your-username> \
  -e POHODA_PASSWORD=<your-password> \
  -e POHODA_ICO=<your-company-ico> \
  pohoda-mcp

Multi-stage build, runs as non-root node user.

Security

  • Credentials via environment variables only
  • STW-Authorization Basic auth per POHODA mServer specification
  • STW-Application: pohoda-mcp header for audit trail in POHODA monitoring
  • STW-Check-Duplicity header support to prevent duplicate imports
  • XML escaping handled by xmlbuilder2 for all user-provided values
  • Path traversal prevention for file downloads (normalize + reject .. prefixed paths)
  • Input validation via Zod on all tool parameters

Architecture

src/
  index.ts              Entry point, env validation, tool registration
  client.ts             HTTP client (STW-Auth, Windows-1250, gzip/deflate, retries)
  xml/
    builder.ts          DataPack XML envelope builder (xmlbuilder2)
    parser.ts           ResponsePack parser (fast-xml-parser)
    namespaces.ts       40+ POHODA XML namespace URIs
  core/
    types.ts            ToolResult interface, ok/err helpers
    shared.ts           Date conversion, env helpers
    filters.ts          Filter builder for export requests
  tools/
    system.ts           Status, company info, file download (3 tools)
    addresses.ts        Address book CRUD (4 tools)
    invoices.ts         All invoice types (3 tools)
    orders.ts           Issued/received orders (3 tools)
    offers.ts           Offers (2 tools)
    enquiries.ts        Enquiries (2 tools)
    contracts.ts        Contracts (3 tools)
    bank.ts             Bank documents (2 tools)
    vouchers.ts         Cash vouchers (2 tools)
    internal_docs.ts    Internal documents (2 tools)
    stock.ts            Stock/inventory CRUD (5 tools)
    warehouse.ts        Příjemky, výdejky, prodejky, převodky (8 tools)
    production.ts       Production and service records (4 tools)
    reports.ts          Accountancy, balance, movements, VAT (4 tools)
    settings.ts         Numerical series, bank accounts, centres... (1 tool)

POHODA mServer Setup

  1. Open POHODA → Settings → mServer
  2. Create a new mServer configuration
  3. Set the listening port (default: 444)
  4. Start the mServer
  5. Ensure the user has XML communication rights (Settings → Access Rights → File → Data Communication)

For internet access, use HTTPS or VPN. mServer is primarily designed for local network use.

Tech Stack

  • TypeScript
  • @modelcontextprotocol/sdk
  • Zod (schema validation)
  • xmlbuilder2 (XML generation)
  • fast-xml-parser (XML parsing)
  • iconv-lite (Windows-1250 encoding)
  • Native fetch

API Reference

License

MIT

Reviews

No reviews yet

Sign in to write a review