PRRO.cloud

io.github.prro-cloudPublished by GitHub account prro-cloudv0.4.0Updated Nov 1, 2026

Read-only access to PRRO.cloud fiscal cash registers, shifts, tasks, billing and webhooks.

VerifiedStreamable HTTPWeb executableFinanceDeveloper ToolsBusiness & Commerce

Overview

AI-generated overview

Read-only MCP access to PRRO.cloud fiscal cash registers, shifts, fiscal tasks, billing and webhooks for debugging Ukrainian PRRO integrations.

What you can do
  • Inspect cash registers and their state: list registers visible to the token, shift status, totals, cash and offline session
  • Check fiscal tasks: status, fiscal number, receipt link or the DPS failure description
  • Review billing and invoices: balance, blocking threshold, receipt counts and cost per period
  • Inspect webhooks: subscriptions, delivery history and receiver errors
  • Identify the token: client, permissions, accessible registers and expiry, plus service and API versions
  • Read the bundled OpenAPI contract resource to help write integration code
When to use it
Useful for developers integrating a fiscal cash register (PRRO) into a shop or accounting system who want an assistant to see the real state of registers, tasks and webhook deliveries and explain failures. Also handy for checking shift status, billing usage or why a receipt task failed.
Requirements
A PRRO.cloud machine API token, issued in the cabinet, passed as PRRO_TOKEN for the local server or as an Authorization bearer header for the remote endpoint at mcp.prro.cloud. Local use needs the mcpb package, a binary, Go 1.27+ or Docker. The remote server is rate limited to 120 requests per minute per token and does not support OAuth, so claude.ai and ChatGPT web connectors need the local server.
Before you install
The token is a credential: do not commit client configuration containing it. Issue a separate token limited to the registers the assistant should see, ideally a test register; billing, invoices and webhooks are only readable by a token with access to all registers. The remote server forwards the token to the PRRO.cloud API on each request. All tools are read-only; registering receipts, opening or closing shifts and managing webhooks are deliberately excluded.

Installation

In SourceWeft

  1. Open PRRO.cloud in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.prro-cloud%2Fprro-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "prro-cloud": {
      "type": "http",
      "url": "https://mcp.prro.cloud/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

prro-mcp

[CI]

MCP-сервер для API PRRO.cloud. Дає ІІ-асистентам (Claude Code, Claude Desktop, Cursor та іншим клієнтам Model Context Protocol) доступ до ваших кас, змін, фіскальних завдань, білінгу і вебхуків.

Для кого: розробники, які інтегрують ПРРО в магазин чи облікову систему. Асистент бачить реальний стан кас, завдань і доставок вебхуків і допомагає писати й налагоджувати інтеграцію: чому чек не пройшов, чи відкрита зміна, чи тестова вона, що відповів приймач вебхука.

  • Лише читання. Жоден інструмент не реєструє документів у ДПС, не відкриває і не закриває змін, не змінює налаштувань.
  • Працює локально через stdio (токен — зі змінної оточення) або як віддалений сервер https://mcp.prro.cloud/mcp (токен — у заголовку Authorization), нічого не встановлюючи.
  • Побудований на prro-go і офіційному Go SDK MCP.
  • Віддає асистенту контракт API (OpenAPI) — для написання коду інтеграції.

Токен

Випустіть окремий машинний токен для асистента в кабінеті, у розділі токенів:

  • обмежте його касами, які асистент має бачити (найкраще — тестовою касою);
  • білінг, рахунки і вебхуки читає лише токен з доступом до всіх кас;
  • відкликати токен можна в кабінеті за ідентифікатором jti — його показує інструмент whoami.

Токен — облікові дані: не комітьте конфігурацію MCP-клієнта з ним у репозиторій.

Встановлення

Claude Desktop — завантажте prro-mcp.mcpb з останнього релізу, відкрийте його двічі клацнувши і вставте токен у налаштуваннях розширення. Пакет містить збірки для macOS і Windows.

Готовий бінарник — архів для Linux, macOS або Windows (amd64/arm64) з релізів; розпакуйте prro-mcp у каталог із PATH.

Go (потрібен Go 1.27 або новіший):

sh
go install github.com/prro-cloud/prro-mcp/cmd/prro-mcp@latest

Docker:

sh
docker run -i --rm -e PRRO_TOKEN ghcr.io/prro-cloud/prro-mcp

Перевірка: prro-mcp -version.

Віддалений сервер

https://mcp.prro.cloud/mcp — той самий набір інструментів без встановлення. Токен передається в заголовку Authorization: Bearer кожного запиту; сервер пересилає його в API PRRO.cloud і ніде не зберігає. Ліміт — 120 запитів на хвилину з одним токеном.

Claude Code:

sh
claude mcp add --transport http prro https://mcp.prro.cloud/mcp \  --header "Authorization: Bearer ваш_токен"

Або в .mcp.json проєкту (токен — з оточення кожного розробника):

json
{  "mcpServers": {    "prro": {      "type": "http",      "url": "https://mcp.prro.cloud/mcp",      "headers": { "Authorization": "Bearer ${PRRO_TOKEN}" }    }  }}

Cursor — ~/.cursor/mcp.json або .cursor/mcp.json:

json
{  "mcpServers": {    "prro": {      "url": "https://mcp.prro.cloud/mcp",      "headers": { "Authorization": "Bearer ${env:PRRO_TOKEN}" }    }  }}

Веб-конектори claude.ai і ChatGPT, а також Claude Desktop через «Add custom connector» вимагають OAuth, якого сервер не підтримує, — для них лишається локальний сервер.

Налаштування локального сервера

Claude Code

sh
claude mcp add prro --env PRRO_TOKEN=ваш_токен -- prro-mcp

Або для всієї команди — у .mcp.json в корені проєкту; токен кожен бере зі свого оточення, тож файл можна комітити:

json
{  "mcpServers": {    "prro": {      "command": "prro-mcp",      "env": { "PRRO_TOKEN": "${PRRO_TOKEN}" }    }  }}

Claude Desktop

Найпростіше — пакет prro-mcp.mcpb (див. Встановлення). Вручну — у claude_desktop_config.json (Settings → Developer → Edit Config):

json
{  "mcpServers": {    "prro": {      "command": "/повний/шлях/до/prro-mcp",      "env": { "PRRO_TOKEN": "ваш_токен" }    }  }}

Cursor

~/.cursor/mcp.json (для всіх проєктів) або .cursor/mcp.json у проєкті:

json
{  "mcpServers": {    "prro": {      "command": "prro-mcp",      "env": { "PRRO_TOKEN": "${env:PRRO_TOKEN}" }    }  }}

Docker у будь-якому клієнті

json
{  "mcpServers": {    "prro": {      "command": "docker",      "args": ["run", "-i", "--rm", "-e", "PRRO_TOKEN", "ghcr.io/prro-cloud/prro-mcp"],      "env": { "PRRO_TOKEN": "ваш_токен" }    }  }}

Змінні оточення

ЗміннаПризначення
PRRO_TOKENМашинний токен API. Обов'язкова.
PRRO_BASE_URLАдреса API замість https://api.prro.cloud — для локального стенда.
PRRO_LANGМова повідомлень про помилки API: uk (типово) або en.
PRRO_MCP_LOG_LEVELРівень журналу: debug, info (типово), warn, error. Журнал іде в stderr; на debug видно запити до API. Токен у журнал не потрапляє.
PRRO_MCP_RATE_LIMITЛише з -http: запитів на хвилину з одним токеном, типово 120; 0 — без ліміту.

Інструменти

Усі інструменти лише читають і позначені readOnlyHint. Результат — структуровані дані (structuredContent за вихідною схемою) плюс коротке текстове зведення. Гроші — рядками, як в API: суми чеків і готівки — у гривнях, суми білінгу — у копійках.

ІнструментЩо повертає
get_versionВерсія сервісу PRRO.cloud, контракту API, prro-mcp і prro-go.
whoamiКлієнт, дозволи токена, доступні каси, строк дії.
get_dps_statusРежим роботи з ДПС (онлайн/офлайн) і телеметрія детектора.
list_cash_registersКаси, доступні токену: ідентифікатор, фіскальний номер, режим, стан.
get_cash_register_stateСтан каси: зміна (зокрема тестова), підсумки зміни, готівка, офлайн-сесія, позначка «потребує уваги».
get_taskФіскальне завдання: стан, результат (фіскальний номер, посилання на чек) або опис збою ДПС.
get_billing_usageБаланс, поріг блокування, кількість і вартість чеків за період.
list_invoicesРахунки за розрахункові періоди.
list_webhooksВебхуки, їхні підписки і ліміт кількості.
list_webhook_deliveriesІсторія доставок вебхука з помилками приймача.

Ресурс prro://openapi.yaml — публічний контракт API (OpenAPI 3.1), з яким зібрано сервер. Асистент читає його, коли пише код інтеграції.

Свідомо не входять операції, що пишуть: реєстрація чеків, відкриття і закриття змін, заява залишку готівки, керування офлайн-сесіями, зняття позначки уваги, створення, зміна, видалення і повтор вебхуків.

Приклади запитів

  • «Які каси бачить мій токен і чи відкрита на них зміна?»
  • «Чому завдання 0199… завершилося помилкою і що з цим робити?»
  • «Покажи невдалі доставки вебхука за останній день і поясни, що не так із моїм приймачем.»
  • «Скільки чеків ми пробили у вересні і скільки це коштувало?»
  • «Напиши обробник вебхука task.failed на Go за контрактом API.»

Розробка

sh
make test       # тести з -racemake lint       # golangci-lintmake build      # bin/prro-mcpmake sync-spec  # оновити копію контракту з ../prro-go

Тест контракту звіряє інструменти з internal/spec/openapi.yaml: кожна операція контракту або обслуговується інструментом, або явно виключена — нова операція в контракті валить тест.

Випуск

  1. Перенести зміни з [Unreleased] у розділ версії в CHANGELOG.md.
  2. git tag v0.1.0 && git push origin v0.1.0 — workflow Release збере архіви, образ ghcr.io/prro-cloud/prro-mcp, пакет prro-mcp.mcpb і server.json з SHA-256 пакета, додасть їх до релізу, а workflow MCP Registry опублікує server.json у реєстрі MCP через GitHub OIDC. Повторити публікацію для вже випущеного тега: gh workflow run registry.yml -f tag=v0.1.0.
  3. Покласти server.json із релізу в корінь репозиторію і закомітити.

Локально без публікації: make snapshot, потім scripts/mcpb.sh 0.0.0.

server.json містить і віддалений сервер (remotes), тож версію з ним публікувати лише тоді, коли https://mcp.prro.cloud/mcp уже працює.

Розгортання віддаленого сервера

З прапорцем -http сервер слухає Streamable HTTP без сесій: MCP на /mcp, перевірка живості на /healthz; токен приходить від клієнта, PRRO_TOKEN у цьому режимі заборонений. Файл Compose, змінні, приклади Caddy і nginx, вимоги до проксі й безпеки — у deploy/.

Ліцензія

Apache 2.0

Source: README.md at commit 864c373

Tools

0
This server asks for a credential such as an API key, so SourceWeft could not read its tools without one and has not indexed them.

Version history

4
  1. v0.4.0LatestNov 1, 2026
  2. v0.3.0Oct 22, 2026
  3. v0.2.0Oct 17, 2026
  4. v0.1.0Oct 15, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts