{"_rev":"6-3686dded9bce910e3cab79101aeb3957","time":{"created":"2026-04-27T10:53:34.858Z","modified":"2026-04-27T10:53:35.297Z","0.1.0":"2026-04-27T09:34:10.072Z","0.1.1":"2026-04-27T09:42:05.907Z","0.1.2":"2026-04-27T10:03:56.121Z","0.1.3":"2026-04-27T10:53:35.098Z"},"_id":"@accountone/mcp","name":"@accountone/mcp","dist-tags":{"latest":"0.1.3"},"versions":{"0.1.3":{"name":"@accountone/mcp","version":"0.1.3","description":"MCP server for the AccountOne API — exposes status, payment, order, monthly summary and dev-flag endpoints as tools over stdio.","license":"SEE LICENSE IN LICENSE","author":{"name":"AccountOne GmbH"},"homepage":"https://www.accountone.de","type":"module","bin":{"accountone-mcp":"dist/index.js"},"scripts":{"build":"node scripts/build.mjs","dev":"tsx watch src/index.ts","start":"node dist/index.js","typecheck":"tsc --noEmit","prepublishOnly":"npm run typecheck && npm run build"},"keywords":["mcp","model-context-protocol","accountone","api","buchhaltung","ai","agent"],"engines":{"node":">=20"},"devDependencies":{"@modelcontextprotocol/sdk":"^1.29.0","@types/node":"^22.10.5","esbuild":"^0.28.0","tsx":"^4.19.2","typescript":"^5.7.3","zod":"^3.24.1"},"publishConfig":{"access":"public"},"_id":"@accountone/mcp@0.1.3","gitHead":"2f48958d7703d5ad9e562e4b6c7104122aadae5d","_nodeVersion":"24.6.0","_npmVersion":"11.5.1","dist":{"integrity":"sha512-8bYD9ZiIlbG5qfPRBm74HbZZ7zgAe0tiY6EM4Vgpm1wQp59/hG+MH2oZ4l2esjMwKHcMPiwuBL/PIbZYq1yEWg==","shasum":"a0f0b46e4f5e2e3e4498a0a839d046a11f718a99","tarball":"https://registry.npmjs.org/@accountone/mcp/-/mcp-0.1.3.tgz","fileCount":4,"unpackedSize":348833,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCBih0QXu2y+aCXv8C7kHQmkueynJbeEbXqWXBiRYd7bgIgX89zBhmc9dL1MJBvxA/SZeI/YPKYBK5nPE6m0HaTaUQ="}]},"_npmUser":{"name":"mathe42","email":"npm@skrueger.dev"},"directories":{},"maintainers":[{"name":"mathe42","email":"npm@skrueger.dev"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp_0.1.3_1777287214953_0.5958904316052338"},"_hasShrinkwrap":false}},"maintainers":[{"name":"mathe42","email":"npm@skrueger.dev"}],"description":"MCP server for the AccountOne API — exposes status, payment, order, monthly summary and dev-flag endpoints as tools over stdio.","homepage":"https://www.accountone.de","keywords":["mcp","model-context-protocol","accountone","api","buchhaltung","ai","agent"],"author":{"name":"AccountOne GmbH"},"license":"SEE LICENSE IN LICENSE","readme":"# accountone-mcp\n\n[Model Context Protocol](https://modelcontextprotocol.io) server for the [AccountOne](https://www.accountone.de) API.\n\nLets MCP-capable clients (Claude Desktop, Claude Code, custom agents) read AccountOne business data — account status, payments, orders, monthly bookkeeping reconciliation, and dev flags — over stdio.\n\n## Tools\n\n| Tool | Endpoint | Required input | Purpose |\n| --- | --- | --- | --- |\n| `ao_status` | `GET /mcp/v1/status` | — | Festschreibung (closed payment_matrix and umsatz_matrix), interface health, recent transaction count |\n| `ao_order` | `GET /mcp/v1/order` | `source_order_nr` | Order line items for a given order number |\n| `ao_payment` | `GET /mcp/v1/payment` | one of `matching_source_order_nr`, `payment_identifier` | Payments matched to an order or a payment reference |\n| `ao_order_month_summary` | `GET /mcp/v1/order_month_summary` | `jahrmonat` (YYYY-MM) | Monthly bookkeeping reconciliation aggregated by VAT, country, marketplace |\n\nAll responses are returned as both human-readable JSON text and structured `structuredContent` validated against the tool's `outputSchema`.\n\n## Configuration\n\nConfigured via environment variables in your MCP client config:\n\n| Var | Required | Default | Notes |\n| --- | --- | --- | --- |\n| `AO_API_TOKEN` | yes | — | Bearer token issued by AccountOne. Token shape: `<user_id>.<secret>`. Generate in the AccountOne UI under \"API Tokens\". The token must hold the `mcp` role (or `admin`) for `/mcp/v1/*`. |\n\n## Install / use\n\n### Claude Desktop\n\nAdd to `~/Library/Application Support/Claude/claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"accountone\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"accountone-mcp\"],\n      \"env\": {\n        \"AO_API_TOKEN\": \"<your-token>\"\n      }\n    }\n  }\n}\n```\n\n### Claude Code\n\n```bash\nclaude mcp add accountone -- npx -y @accountone/mcp\n```\n\nThen set `AO_API_TOKEN` in the resulting config.\n\n### Pointing at staging / dev\n\n```json\n{\n  \"mcpServers\": {\n    \"accountone\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"accountone-mcp\"],\n      \"env\": {\n        \"AO_API_TOKEN\": \"<your-dev-token>\"\n      }\n    }\n  }\n}\n```\n\n## Development\n\n```bash\nnpm install\nnpm run dev            # tsx watch — runs against stdio\nnpm run build          # emits dist/\nnpm run typecheck\n```\n\nQuick MCP smoke-test against a live AccountOne backend:\n\n```bash\n(printf '%s\\n' \\\n  '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-06-18\",\"capabilities\":{},\"clientInfo\":{\"name\":\"smoke\",\"version\":\"0\"}}}' \\\n  '{\"jsonrpc\":\"2.0\",\"method\":\"notifications/initialized\",\"params\":{}}' \\\n  '{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/call\",\"params\":{\"name\":\"ao_status\",\"arguments\":{}}}'; sleep 2) | \\\n  AO_API_TOKEN=<token> node dist/index.js\n```\n\n## Errors\n\nTool errors bubble up as MCP `isError: true` results with the AccountOne message, e.g. `\"Insufficient permissions\"`, `\"Too Many Requests\"`, `\"Invalid query parameters\"`. The AccountOne API has a server-wide rate limit of `0.1 req/s` per token (one call every ten seconds) — bursts return HTTP 429.\n\n## Publish\n\n```bash\nnpm version <patch|minor|major>\nnpm publish\n```\n\n`prepublishOnly` runs the TS build. The published tarball ships only `dist/`, `README.md`, and `LICENSE`.\n\n## License\n\nProprietary — Copyright (c) 2026 AccountOne GmbH. All rights reserved. See [LICENSE](./LICENSE).\n","readmeFilename":"README.md"}