Quickstart¶
In five minutes, you'll have the SaldeoSMART MCP server running in Docker and your Claude Desktop client calling its tools.
Prerequisites¶
- Docker Desktop ≥ 24, daemon running.
- A SaldeoSMART account with API access enabled. The token lives in
Konfiguracja → Konto → API → Generuj token. On some plans you have to
email
api@saldeosmart.plfirst to enable API access. - Claude Desktop installed.
Only accounting-firm users can generate tokens
The API token portal is gated to biuro rachunkowe users. Clients of an accounting firm cannot generate one — ask the firm to provision API access on the firm's account.
1. Build the image¶
This runs the two-stage Dockerfile in docker/Dockerfile:
- builder —
uv sync --frozen --no-devagainstuv.lock, bytecode-compiled. - runtime — Python 3.12-slim, unprivileged
mcpuser, ~234 MB.
2. Configure Claude Desktop¶
Open claude_desktop_config.json:
- macOS —
~/Library/Application Support/Claude/claude_desktop_config.json - Windows —
%APPDATA%\Claude\claude_desktop_config.json - Linux —
~/.config/Claude/claude_desktop_config.json
Add a saldeosmart entry under mcpServers:
{
"mcpServers": {
"saldeosmart": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"-e", "SALDEO_USERNAME=your-login",
"-e", "SALDEO_API_TOKEN=your-token",
"saldeosmart-mcp:latest"
]
}
}
}
Restart Claude Desktop.
3. Verify¶
In a new conversation, ask Claude:
List the SaldeoSMART tools you have access to.
You should see 43 tools grouped by resource: list_companies,
list_documents, merge_contractors, etc.
Next steps¶
- Your first tool call — call a real read endpoint.
- Configure other clients — Cursor, Claude Code, Zed, MCP Inspector.
- Tool catalog — every tool, every parameter.
Troubleshooting¶
Claude Desktop says command not found: docker
Replace "command": "docker" with the absolute path from
which docker (e.g. /usr/local/bin/docker). Claude Desktop launches
MCP servers without inheriting your shell PATH.
Tools list is empty
Check the log file — by default /var/log/saldeosmart/saldeosmart.log
inside the container. The most common cause is a missing or rejected
token. See Debug authentication.