BizDesk MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@BizDesk MCPwho still owes me money? show me the overdue invoices"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
BizDesk MCP
Give Claude a small-business back office. BizDesk is an MCP server that lets Claude (or any MCP client, such as Cursor) manage clients, quotes, invoices, payments and reports, and export invoices as PDFs. Your data stays in one SQLite file on your own computer.
"Who still owes me money?" · "Quote Maple Street Dental for two after-hours deep cleans at $185 each." · "They accepted. Invoice it and log a $200 card deposit." · "Write a firm reminder for the oldest overdue invoice." · "How did September compare with August?"
![]()
Real output from scripts/demo_session.py, which drives the actual server over stdio with the fictional demo data. The full request and response log is in docs/demo-session.md.
What it does
Area | Tools |
Business profile |
|
Clients |
|
Quotes |
|
Invoices |
|
Payments |
|
Reports |
|
Follow-up |
|
Documents |
|
Audit |
|
There are also resources (bizdesk://profile, bizdesk://reports/overdue, bizdesk://documents/{number} as Markdown) and prompts (month_end_review, quote_new_job) that walk Claude through common jobs.
Related MCP server: eranfinish/ezatwork-mcp
Quick start
You need uv (it installs Python for you).
1. Try it with demo data (optional; a fictional cleaning company with 5 clients and 7 invoices):
uvx --from git+https://github.com/bikashnayak36331-pixel/bizdesk-mcp bizdesk-mcp --db ~/BizDesk/demo.db --seed-demo2. Connect it to your MCP client.
Settings → Developer → Edit Config, then add the server (also in examples/claude_desktop_config.json):
{
"mcpServers": {
"bizdesk": {
"command": "uvx",
"args": ["--from", "git+https://github.com/bikashnayak36331-pixel/bizdesk-mcp", "bizdesk-mcp"],
"env": { "BIZDESK_DB": "~/BizDesk/bizdesk.db", "BIZDESK_OUTPUT_DIR": "~/BizDesk/pdfs" }
}
}
}Restart Claude Desktop. To try the demo data, point BIZDESK_DB at ~/BizDesk/demo.db.
claude mcp add bizdesk -e BIZDESK_DB=$HOME/BizDesk/bizdesk.db -- \
uvx --from git+https://github.com/bikashnayak36331-pixel/bizdesk-mcp bizdesk-mcp
claude mcp list # should show: bizdesk ... ✓ ConnectedUse the same command and args as above (see examples/cursor_mcp.json).
To run it as a web service instead of a local process (Streamable HTTP):
bizdesk-mcp --transport streamable-http --host 127.0.0.1 --port 8000 # endpoint: http://127.0.0.1:8000/mcpThis mode has no login of its own, so keep it on localhost or put it behind your own authentication.
Settings
Flag | Environment variable | Default | Meaning |
|
|
| The SQLite file holding all data |
|
|
| Where |
|
| off | Allow looking but not changing (good for an accountant or a shared view) |
|
|
| |
| Load the fictional demo data into an empty database, then exit |
How it works
flowchart LR
U[You] -->|plain English| C[Claude / Cursor / any MCP client]
C -->|MCP tools, resources, prompts| S[bizdesk-mcp server]
S --> L[Business rules<br/>money in cents · validation · read-only guard]
L --> DB[(SQLite file<br/>clients · quotes · invoices · payments · audit log)]
L --> PDF[PDF invoices<br/>ReportLab]server.py: MCP layer (tools, resources, prompts), built on the official MCP Python SDK v2 (MCPServer).service.py: business rules. Every change runs in a database transaction, so a failure leaves nothing half-written.money.py: exact maths. Amounts are stored as integer cents and quantities as thousandths, with half-up rounding done once per line.store.py: SQLite schema and the audit log.pdf.py: invoice and quote PDFs.
Design choices
Your data stays local. Nothing leaves your machine. BizDesk makes no network calls and never sends email; reminders are drafts for you to send.
Mistakes come back as clear tool errors that Claude can fix and retry, for example "Payment of $5,000.00 is more than the balance due ($893.85) on INV-0004".
Tool hints: read-only tools are marked
readOnlyHintandvoid_invoiceis markeddestructiveHint, so clients can ask before risky actions.Invoice numbers (
INV-0001,Q-0001) are never reused or skipped, even if a write fails.Draft invoices don't count as revenue or as overdue until you mark them sent.
Development
git clone https://github.com/bikashnayak36331-pixel/bizdesk-mcp && cd bizdesk-mcp
uv venv && uv pip install -e ".[dev]"
pytest # 49 tests: unit, PDF content, in-process MCP client, stdio and HTTP transports
ruff check . && ruff format --check .
python scripts/demo_session.py # re-record docs/demo-session.* and the PDF imagesNeed a custom version?
The same pattern connects Claude to your own systems: a CRM, a booking database, a Google Sheet, Shopify, Stripe or QuickBooks, or an internal API, with the tools and guard-rails your team needs. Open an issue or contact me through my GitHub profile.
Credits
Built by Bikash Nayak, using Claude (Anthropic) as a coding assistant. Released under the MIT License.
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted MCP server for Mini Accountant: invoices, expenses, customers, analytics, tax estimates.
Create PDF invoices from your AI chat: clients, numbering, VAT, overdue reports. All data is local.
Create PDF invoices from your AI chat: clients, numbering, VAT, overdue reports. All data is local.
Create PDF invoices from your AI chat: clients, numbering, VAT, overdue reports. All data is local.
Related MCP Servers
- FlicenseBqualityDmaintenanceA customer and product management MCP server using SQLite. It enables Claude Desktop users to manage client and product data through natural language interactions.91-
- FlicenseAqualityDmaintenanceMCP server for EZ@Work — manage clients, projects, time entries, and invoices from Claude through natural conversation. OAuth 2.1 with Google sign-in, multi-currency support.5-
- FlicenseNot gradedqualityDmaintenanceA local-first MCP server for creating PDF invoices from SQLite data, supporting client management and invoice generation.-
- AlicenseNot gradedqualityDmaintenanceDouble-entry accounting MCP server for Claude Desktop. Supports accounts, transactions, ledgers, profit & loss, balance sheet, IVA summary, and QIF export using SQLite.MIT