Token导航 LogoToken导航TokenDH.com
Pohoda MCP logo
文档知识未说明官方级别未说明来源级核验

Pohoda MCP

MCP Server

为Stormware的Pohoda会计软件提供AI助手集成服务,支持查询发票、管理库存、创建文档及打印PDF等功能。

工具数

10

提示词数

0

GitHub Stars

7

资源数

0
PHP发票管理Claude库存管理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

dg

提供方

dg

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Pohoda MCP服务器

MCP 会计软件服务器 徒步旅行 od风暴。 通过舒适沟通 mServer XML API.

将您的AI助理直接连接到会计。查询发票,浏览 目录,检查库存,创建新文档或打印 PDF格式。只需输入您需要的内容,MCP服务器将处理通信 放松。

要求

  • PHP 8.1+
  • extcurl、extdom、extsimplexml
  • 使用活动的mServer的便利(方案版本2)

在舒适中设置 mServer

在使用 MCP 服务器之前,您需要在“方便”中打开并配置 mServer。

1. 打开 mServer 管理

在“舒适”中打开议程 会计单位在菜单中选择 数据库 > HOHODA mServer.

Otevření správy mServeru

2. 配置管理

打开 mServer 配置列表对话框。 每个配置都包含名称、端口、启动状态、客户端和 PID。

Správa mServeru

3. 创建新实例

点击 新建 和 标签 基本 继续:

  • 名称 mServeru
  • 会计单位mServer将与之通信
  • 港口 通讯(默认444)

Nastavení instance

在书签上 超文本传输安全协议 可以启用安全通信:

Nastavení HTTPS

在书签上 监控 可以启用通信日志:

Nastavení monitoringu

4. 启动

选择配置,然后单击 已下载 (或双击记录)。 mServer 将在设置的端口上开始监听。

或者,mServer可以通过开关从命令行控制 /HTTP 烟酰胺腺嘌呤二核苷酸 pohoda.exe最后一个参数是配置名称(括号, 如果有空白:

& "C:\Program Files (x86)\STORMWARE\POHODA\Pohoda.exe" /HTTP start "eShop-1"
& "C:\Program Files (x86)\STORMWARE\POHODA\Pohoda.exe" /HTTP stop "eShop-1"
& "C:\Program Files (x86)\STORMWARE\POHODA\Pohoda.exe" /HTTP restart "eShop-1"
& "C:\Program Files (x86)\STORMWARE\POHODA\Pohoda.exe" /HTTP list

其它命令: stop /f (强制终止) list:xml (XML 配置列表)。 建议在启动时自动启动 Stormware 任务调度器 视窗 (不是Windows服务)

详情见 Stormware 文档.

安装 MCP 服务器

git clone https://github.com/dg/pohoda-mcp.git
cd pohoda-mcp
composer install

Konfigurace

服务器通过环境变量进行配置:

变量描述默认
POHODA_URLURL mServeruhttp://localhost:444
POHODA_ICO ICO会计单位
POHODA_USERNAMEmServer的用户名
POHODA_PASSWORDHeslo
POHODA_EXE_PATH K路 Pohoda.exe 自动启动 mServer (可选)
POHODA_CONFIG_NAMEmServer 自动启动配置名称(可选)

如果设置 POHODA_EXE_PATHPOHODA_CONFIG_NAME服务器在第一 tool call 验证 mServer 是否正在运行,如果没有,则自动通过 pohoda.exe /HTTP start. 当MCP退出服务器时,它会再次停止,但只有当它自己启动时(如果 mServer已经在运行,让它运行。仅适用于 Windows(mServer 是 Comfort 的一部分)。

在代理中使用(例如 Claude Code)

添加到 .mcp.json nebo做项目设置:

{
	"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": "",
				"POHODA_EXE_PATH": "C:\\Program Files (x86)\\STORMWARE\\POHODA\\Pohoda.exe",
				"POHODA_CONFIG_NAME": "mServer1"
			}
		}
	}
}

最后两个变量是可选的,用于自动启动 mServer 第一个工具调用(见上文)。

可用工具

状态_status

检查 mServer 是否正在运行和响应。基本呼叫只返回短文本 z GET /status (对应于一个简单的字符串,而不是XML)。带参数 companyDetail=true 此外,通过验证查询返回实体名称, 数据库名称和当前会计年度。

参数列表
companyDetailtrue/false 还返回活动会计单位的数据(default) false)

pohoda_list_documents、pohoda-list_stock、pohoda list_contacts

按照记录类型划分的三种阅读工具。利基/数字议程 (centre, activity, store, bankAccount, cashRegister, numericalSeries) 不可通过专用工具, 使用 pohoda_raw_xml.

pohoda_list_文档

文件参数 agenda — 以下之一:

议程列表
invoice 发票\*prijemka 收益
order 订单vydejka 支出
voucher 出纳文件prodejka 销售
bank银行prevodka 转换器
contract 订单vyroba 生产
intDoc 内部文件。 accountancy 会计日记。
offer报价
enquiry需求

\*议程 invoice 需要参数 invoiceType: issuedInvoicereceivedInvoice.

肮脏: id, dateFrom, dateTill, company, ico, number (精确匹配整个值,而不是子字符串) lastChanges (记录由 YYYY-MM-DDThh:mm:ss), limit (默认 100,客户端剪切)。

pohoda_list_stock

物资。过滤器 : id, code, name, EAN, storage (仓库的路径,例如。 "ZBOZI/Elektro"), store (简称基金) internet (真/假), lastChanges, limit.

pohoda_list_contacts

地址簿过滤器 : id, company, ico, lastChanges, limit.

pohoda_create_invoice

创建发出或接受的发票。支持 :

  • 直接的合作伙伴地址或链接到目录(partnerId)
  • 可变符号,到期日期,应纳税履行日期
  • 预付款, 付款方式, 银行账户
  • 中心,活动,任务
  • 外汇汇率
  • 与存储卡相关的项目(stockCode)

pohoda_create_address

在目录(公司/联系人)中创建条目。

pohoda_create_stock

创建存储卡。除了基本数据(代码,名称,价格)外,还支持:

  • EAN、PLU代表珍宝
  • 销售和电子商店的症状
  • 说明,名称补充,简称
  • 最小和最大库存,重量
  • 供应商,保修

pohoda_create_order

创建已接受或已发出的项目订单。

pohoda_print

打印或导出任何记录为PDF。知识 :

  • 打印到打印机(默认或特定)
  • 导出到服务器上的PDF文件(pdfPath 是强制性的PDF路径)
  • 直接在响应中返回 PDF 作为 Base64 (pdfBase64=true, 需要 pdfPath)

议程是捷克语: vydane_faktury, prijate_faktury, zasoby, adresar, pokladna, banka, interni_doklady, zakazky, vydejky, prijemky, prodejky, vydane_objednavky, prijate_objednavky, vydane_nabidky, prijate_nabidky atd。

打印报告 ID (reportId)根据安装和自定义而有所不同。 你可以舒适地找到它。 打印报表编辑器 (文件菜单 → 打印报告) 您可以在每个报表中看到 ID 列,或者在报表上单击鼠标右键 在新闻对话中→ 特性标准附带的报告在行中具有ID 数百到数千(通常为200-3000+)。

pohoda_raw_xml

发送任何XML。它涵盖了其他工具不够的情况。 XML直接插入 `` 信封必须包含自己的 命名空间deklarace。

参考资源(MCP Resources)

允许的数字显示为 MCP 资源,因此客户端可以使用 无需 tool call 即可:

URI内容
pohoda://enums/agendas议程列表按照哪个工作表工具覆盖分割
pohoda://enums/vat-rates 允许的值 vatRate 项目(none, low, high)
pohoda://enums/payment-types价值观 paymentType faktur(draft, cash, card, compensation)
pohoda://enums/print-agendas 捷克议程名称已接受 pohoda_print

使用PHP代码(无MCP)

该库也可以直接作为mServer的PHP客户端使用,独立于MCP。 适用于自定义脚本,cronjoby或与现有应用程序集成。

use DG\Pohoda\PohodaClient;

$client = new PohodaClient(
    url: 'http://localhost:444',
    ico: '12345678',
    username: 'Admin',
    password: '',
);

// Najdi fakturu podle čísla dokladu
$list = $client->listRecords('invoice', ['number' => '26010192'], 'issuedInvoice');
$faId = (int) $list->items[0]->data['invoice'][0]['invoiceHeader']['id'];

// Vytiskni ji do PDF
$client->printRecord([
    'agenda' => 'vydane_faktury',
    'recordId' => $faId,
    'reportId' => 3000,
    'pdfPath' => 'C:\\tmp\\faktura.pdf',
]);

公共方法 PohodaClient: getStatus(), listRecords(), createInvoice(), createAddress(), createStock(), createOrder(), printRecord(), sendRawXml().

启动和停止 mServer

如果脚本无法假定mServer已经运行,则可以使用类 MServerController这是一个薄的包装 pohoda.exe /HTTP start|stop哪个 启动非阻塞休息,并在启动后授粉 PohodaClient::getStatus(), 直到 mServer 开始响应。只有Windows。

最简单的方法就是把它交出去。 PohodaClientu - 然后他自己开始懒惰 mServer 在第一个 HTTP 请求之前停止,并在销毁时再次停止 他自己开始;如果他已经跑了,让他跑:

use DG\Pohoda\MServerController;
use DG\Pohoda\PohodaClient;

$client = new PohodaClient(url: 'http://127.0.0.1:555', ico: '12345678', username: 'Admin', password: '');
$client->setController(new MServerController(
    exePath: 'C:\Program Files (x86)\STORMWARE\POHODA\Pohoda.exe',
    configName: 'mServer1',
));

// ... práce s $client — autostart se postará o sebe ...

如果你想手动控制生命周期,控制器可以直接做同样的事情:

$ctrl = new MServerController(exePath: '...', configName: 'mServer1');

$wasRunning = false;
try {
    $client->getStatus();
    $wasRunning = true;
} catch (\RuntimeException) {
    $ctrl->start($client);  // vrátí se až když mServer odpovídá (nebo vyhodí po timeoutu)
}

// ... práce s $client ...

if (!$wasRunning) {
    $ctrl->stop();
}

调用 HTTP 端点时使用 http://127.0.0.1:555,ne http://localhost:555 PHP解析器测试 localhost IPv6 (::1mServer无法监听 不必要地等待时间。

公共方法 MServerController:

  • start(PohodaClient $client, int $timeoutSeconds = 30) — 启动 舒适

s /HTTP start等待 HTTP 状态 API 响应。超时时弹出 RuntimeException.

  • stop() 发送 /HTTP stop fire-and-forget,不等待结束。

解决问题

症状可能原因
Curl Error: Connection refused mServer无法运行在舒适或通过运行它 pohoda.exe /HTTP start
HTTP 401错误 POHODA_USERNAME / POHODA_PASSWORD
答案是带登录页面的 HTML方便的用户没有访问 mServer 的权限,或者其他实例正在打开日历
state="error" + note="Nepodařila se validace dokumentu podle schématu" XML 结构错误 — 通常是命名空间被替换或缺少必需元素;错误文本指向元素。
listRecords 返回空列表mServer连接到文件所在地以外的单位/年份(请检查 pohoda_status s companyDetail=true)
pdfPath 已创建,但无法打开 (0 B)mServer 无权写入该位置 — 尝试默认 D:\Data\ucto\Tisk\ 或 Pohoda 运行的临时用户目录
Print 返回 OK,但 PDF 不会出现。 reportId 安装中不存在;在打印报告编辑器中验证ID。

项目结构

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
	MServerController.php    spouštění a zastavování mServeru přes pohoda.exe

许可证

麻省理工学院

目录标签

目录标签

PHP发票管理Claude库存管理本地部署会计软件联系人管理文档生成

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP