Pohoda MCP
MCP server for Pohoda accounting software (Czech) - read and create invoices, orders, inventory, contacts via mServer XML API.
Pohoda MCP Server
MCP server pro účetní software Pohoda od Stormware. Komunikuje s Pohodou přes mServer XML API.
Propojte svého AI asistenta přímo s účetnictvím. Ptejte se na faktury, procházejte adresář, kontrolujte zásoby, vytvářejte nové doklady nebo si nechte vytisknout fakturu do PDF. Stačí napsat, co potřebujete, a MCP server se postará o komunikaci s Pohodou.
Požadavky
- PHP 8.1+
- ext-curl, ext-dom, ext-simplexml
- Pohoda s aktivním mServerem
Nastavení mServeru v Pohodě
Před použitím MCP serveru je potřeba v Pohodě zapnout a nakonfigurovat mServer.
1. Otevření správy mServeru
V programu Pohoda otevřete agendu Účetní jednotky, v menu zvolteDatabáze > POHODA mServer.
2. Správa konfigurací
Otevře se dialogové okno se seznamem konfigurací mServeru. Pro každou konfiguraci je uveden název, port, stav spuštění, host a PID.
3. Vytvoření nové instance
Klikněte na Nový a na záložce Základní nastavte:
- Název mServeru
- Účetní jednotku, se kterou bude mServer komunikovat
- Port pro komunikaci (výchozí 444)
Na záložce HTTPS lze zapnout zabezpečenou komunikaci:
Na záložce Monitoring lze zapnout logování komunikace:
4. Spuštění
Vyberte konfiguraci a klikněte na Spustit (nebo dvakrát klikněte na záznam). mServer začne naslouchat na nastaveném portu.
Podrobnosti viz dokumentace Stormware.
Instalace MCP serveru
git clone https://github.com/dg/pohoda-mcp.git cd pohoda-mcp composer install
Konfigurace
Server se konfiguruje přes proměnné prostředí:
| Proměnná | Popis | Výchozí |
|---|---|---|
| POHODA_URL | URL mServeru | http://localhost:444 |
| POHODA_ICO | ICO účetní jednotky | |
| POHODA_USERNAME | Uživatelské jméno pro mServer | |
| POHODA_PASSWORD | Heslo |
Použití v agentech (např. Claude Code)
Přidejte do .mcp.json nebo do project settings:
{ "mcpServers": { "pohoda": { "command": "php", "args": ["/cesta/k/pohoda-mcp/server.php"], "env": { "POHODA_URL": "http://localhost:444", "POHODA_ICO": "12345678", "POHODA_USERNAME": "Admin", "POHODA_PASSWORD": "" } } } }
Dostupné nástroje
pohoda_status
Ověří, jestli mServer běží a odpovídá.
pohoda_list
Hlavní nástroj pro čtení dat. Vrací záznamy z libovolné agendy s možností filtrování.
Podporované agendy:
| Agenda | Popis | Agenda | Popis |
|---|---|---|---|
| invoice | faktury* | prijemka | příjemky |
| order | objednávky | vydejka | výdejky |
| addressbook | adresář | prodejka | prodejky |
| stock | zásoby | prevodka | převodky |
| voucher | pokladní doklady | vyroba | výroba |
| bank | banka | accountancy | účetní deník |
| contract | zakázky | store | sklady |
| intDoc | interní doklady | bankAccount | bankovní účty |
| offer | nabídky | cashRegister | pokladny |
| enquiry | poptávky | numericalSeries | číselné řady |
| centre | střediska | ||
| activity | činnosti |
* Agenda invoice vyžaduje parametr invoiceType: issuedInvoice nebo receivedInvoice.
Filtry pro doklady:
| Parametr | Popis |
|---|---|
| id | ID záznamu |
| dateFrom / dateTill | rozsah dat (YYYY-MM-DD) |
| company | název firmy |
| ico | IČO firmy |
| number | číslo dokladu |
| lastChanges | záznamy změněné od data (YYYY-MM-DDThh:mm:ss) |
Filtry pro zásoby (navíc k výše uvedeným):
| Parametr | Popis |
|---|---|
| code | kód zásoby |
| name | název zásoby |
| EAN | čárový kód |
| storage | cesta ve členění skladu (např. "ZBOZI/Elektro") |
pohoda_create_invoice
Vytvoření vydané nebo přijaté faktury. Podporuje:
- adresu partnera přímo nebo vazbu na adresář (
partnerId) - variabilní symbol, datum splatnosti, datum zdanitelného plnění
- předkontaci, způsob platby, bankovní účet
- středisko, činnost, zakázku
- cizí měnu s kurzem
- položky s vazbou na skladovou kartu (
stockCode)
pohoda_create_address
Vytvoření záznamu v adresáři (firma/kontakt).
pohoda_create_stock
Vytvoření skladové karty. Kromě základních údajů (kód, název, cena) podporuje:
- EAN, PLU pro pokladny
- příznaky pro prodej a e-shop
- popis, doplněk názvu, krátký název
- minimální a maximální zásobu, hmotnost
- dodavatele, záruku
pohoda_create_order
Vytvoření přijaté nebo vydané objednávky s položkami.
pohoda_print
Tisk nebo export do PDF libovolného záznamu. Umí:
- tisk na tiskárnu (výchozí nebo konkrétní)
- export do PDF souboru na serveru (
pdfPathje povinný) - vrácení PDF jako Base64 přímo v odpovědi
- odeslání PDF emailem (s předmětem a textem)
Agenda se zadává česky: vydane_faktury, prijate_faktury, zasoby, adresar,pokladna, banka, interni_doklady, zakazky, vydejky, prijemky, prodejky,vydane_objednavky, prijate_objednavky, vydane_nabidky, prijate_nabidky atd.
ID tiskové sestavy (reportId) najdete ve vlastnostech sestavy v programu Pohoda.
pohoda_raw_xml
Odeslání libovolného XML. Pokrývá případy, na které ostatní nástroje nestačí. XML se vloží přímo do <dat:dataPackItem> obálky, musí tedy obsahovat vlastní namespace deklarace.
Struktura projektu
server.php vstupní bod MCP serveru (stdio transport)
src/
McpTools.php tenký MCP adaptér (#[McpTool] atributy)
PohodaClient.php HTTP klient a doménové metody pro mServer API
XmlBuilder.php stavba XML požadavků přes XMLWriter
Response.php parsovaná odpověď z mServeru
ResponseItem.php jeden záznam z odpovědi
Licence
MIT
Servidores relacionados
Cover Letter
Generates professional PDF cover letters using LaTeX. Requires Docker for local execution.
UnifAI
Dynamically search and call tools using UnifAI Network
JIRA
Integrate Atlassian JIRA into any MCP-compatible application to manage issues and projects.
Xeams MCP Server
Validate email address and check that status of a previously sent email
Calculator
Performs a wide range of mathematical calculations, including basic arithmetic, advanced operations, trigonometry, and safe expression evaluation.
Linear MCP Server
Manage projects, issues, and teams using the Linear API.
Jira MCP
MCP server for connecting AI assistants to your own Jira instance
Jira MCP Server
An MCP server for interacting with Jira projects and issues.
Brand24
Social listening and brand monitoring
Agile Luminary
Connects AI clients to the Agile Luminary project management system via its REST API.