v2.1.0 104 Tools
Bizpro Desk MCP Server connects Claude to Bizpro Desk through secure MCP-compatible endpoints, allowing authorized read and write access to business workflows.
In Claude, go to Settings → Integrations and add a new connector:
https://api.bizprodesk.com/api/mcp/mcpClaude will open the Bizpro Desk sign-in page automatically.
Enter your Bizpro Desk email and password on the sign-in screen. No tokens needed — Claude handles the OAuth flow automatically.
Once signed in, you can ask Claude to manage your clients, invoices, sales, expenses, products, and more — directly from the conversation.
OAuth 2.0 (recommended) — When connecting via Claude or any OAuth-compatible client, Bizpro Desk handles authentication automatically. You sign in with your Bizpro Desk email and password; no tokens required on your end.
Bearer Token — For direct API / developer access, generate a token in Settings → API & Integrations:
Authorization: Bearer bzp_xxx # or X-MCP-Token: bzp_xxx
| Authorization Server | https://api.bizprodesk.com/api/mcp/.well-known/oauth-authorization-server |
| Protected Resource | https://api.bizprodesk.com/api/mcp/.well-known/oauth-protected-resource |
100 requests per minute per token. Exceeding this returns HTTP 429.
| Type | Endpoint | Status |
|---|---|---|
| Streamable HTTP (preferred) | POST https://api.bizprodesk.com/api/mcp/mcp | Production |
| REST fallback | POST https://api.bizprodesk.com/api/mcp/v1/tools/call | Legacy |
The MCP transport accepts JSON-RPC 2.0 messages. Supported methods: initialize, tools/list, tools/call, ping.
52 read-only tools | 52 write tools
| Tool Name | Title | Description | Type | Permission |
|---|---|---|---|---|
get_company_info | Get company profile | Retrieve the company profile including name, business type, currency settings, and enabled features | read | company:read |
get_dashboard | Get dashboard metrics | Retrieve key business metrics including total revenue, expenses, profit, client count, and recent activity | read | dashboard:read |
list_clients | List clients | Retrieve a paginated list of clients with optional search by name, email, or phone | read | clients:read |
create_client | Create a client | Create a new client record with name, contact details, and optional notes | write | clients:write |
list_products | List products and services | Retrieve a paginated list of products and services with optional search by name or SKU | read | products:read |
create_product | Create a product or service | Create a new product or service with pricing, stock quantity, and category information | write | products:write |
list_invoices | List invoices and documents | Retrieve a paginated list of invoices, proformas, quotes, and delivery notes with optional status and type filters | read | documents:read |
create_invoice | Create invoice or document | Create a new invoice, proforma, quote, or delivery note for a client with line items | write | documents:write |
mark_invoice_paid | Record invoice payment | Record a payment against an existing invoice, updating its status to paid | write | documents:write |
convert_proforma_to_invoice | Convert proforma to invoice | Convert an existing proforma document into a formal invoice | write | documents:write |
list_sales | List sales | Retrieve a paginated list of sales transactions with optional date range and search filters | read | sales:read |
create_sale | Create sale | Record a new sale transaction with product, quantity, price, and payment details | write | sales:write |
list_expenses | List expenses | Retrieve a paginated list of business expenses with optional category and date filters | read | expenses:read |
create_expense | Create expense | Record a new business expense with amount, category, payment method, and description | write | expenses:write |
list_transfers | List transfers | Retrieve a paginated list of money transfers between financial accounts | read | transfers:read |
create_transfer | Create transfer | Transfer money between two financial accounts with amount and description | write | transfers:write |
list_suppliers | List suppliers | Retrieve a paginated list of suppliers with optional search by name, email, or phone | read | suppliers:read |
create_supplier | Create supplier | Create a new supplier record with name and contact information | write | suppliers:write |
list_debtors | List debtors | Retrieve a list of debtors (clients with outstanding balances) with optional status filter | read | debtors:read |
list_payments | List debtor payments | Retrieve a paginated list of debtor payment records | read | payments:read |
list_accounts | List financial accounts | Retrieve a list of financial accounts (bank, mobile money, cash) with balances | read | accounts:read |
update_client | Update a client | Update an existing client record by ID with new name, contact, or address information | write | clients:write |
delete_client | Delete a client | Permanently delete a client record by ID (requires confirm=true) | write | clients:write |
update_product | Update a product or service | Update an existing product or service by ID with new pricing, stock, or category data | write | products:write |
delete_product | Delete a product or service | Permanently delete a product or service by ID (requires confirm=true) | write | products:write |
update_supplier | Update a supplier | Update an existing supplier record by ID with new contact information | write | suppliers:write |
update_invoice | Update an invoice or document | Update an existing invoice or document by ID with new status, due date, or notes | write | documents:write |
delete_invoice | Delete an invoice or document | Permanently delete an invoice or document by ID (requires confirm=true) | write | documents:write |
delete_supplier | Delete a supplier | Permanently delete a supplier record by ID (requires confirm=true) | write | suppliers:write |
list_staff | List team members / staff | Retrieve a list of team members and staff with their roles and permissions | read | staff:read |
list_appointments | List appointments | Retrieve a paginated list of appointments with optional status and date range filters | read | appointments:read |
create_appointment | Create appointment | Create a new appointment for a client with date, time, duration, and notes | write | appointments:write |
list_subscriptions | List subscriptions | Retrieve a paginated list of client subscriptions with optional status filter | read | subscriptions:read |
create_subscription | Create subscription | Create a new subscription for a client with plan name, amount, and billing cycle | write | subscriptions:write |
list_branches | List branches | Retrieve a list of company branches and locations | read | branches:read |
list_branch_transfers | List branch transfers | Retrieve a list of stock or asset transfers between branches | read | branches:read |
list_payroll | List payroll runs | Retrieve a list of payroll runs with optional status filter | read | payroll:read |
list_raw_materials | List raw materials | Retrieve a paginated list of raw materials with stock levels and costs | read | raw_materials:read |
list_budget_plans | List budget plans | Retrieve a list of budget plans with optional status filter | read | budget:read |
get_tax_summary | Get tax summary | Retrieve the tax profile, obligations, and payment status for the company | read | tax:read |
get_reports_summary | Get reports summary | Retrieve a financial summary report with total revenue, expenses, and profit for an optional date range | read | reports:read |
list_notifications | List notification logs | List email notification delivery logs (reports, reminders, stock alerts) with sent/pending/failed status. Filter by status or type. | read | notifications:read |
list_restock_history | List restock history | Retrieve a paginated list of product restock events | read | products:read |
list_forms | List forms | Retrieve a list of custom forms with optional status filter | read | forms:read |
list_files | List files | Retrieve files and folders from the file manager | read | files:read |
list_activity_log | List activity log | Retrieve the activity audit log with optional filters by action type or resource | read | audit:read |
list_production | List production batches | Retrieve a paginated list of production batches with optional status and search filters | read | production:read |
list_error_logs | List error logs | Retrieve a list of application error logs for the company with optional resolved filter | read | errors:read |
get_my_account | Get my account | Retrieve the current authenticated user profile including name, email, role, and company details | read | account:read |
list_issues | List issues | Retrieve a list of issues from the issue tracker with optional status filter | read | issues:read |
list_document_templates | List document templates | Retrieve all saved document design templates for your company — invoice, quote, proforma layouts with colors, fonts, and style settings | read | templates:read |
get_document_template | Get document template | Get full details of a specific document template by ID including all design settings | read | templates:read |
get_active_document_template | Get active document template | Get the currently active document template that is applied to all printed invoices, quotes, and proformas | read | templates:read |
create_document_template | Create document template | Create a new document design template. Specify accent color, font, logo position, table style, footer text, and per-type color overrides. Does not activate automatically — use set_active_document_template to apply it. | write | templates:write |
update_document_template | Update document template | Update an existing document template design settings by ID | write | templates:write |
set_active_document_template | Set active document template | Set a template as the active design for all documents. Deactivates the previous active template. All future printed invoices, quotes, proformas, and delivery notes will use this design. | write | templates:write |
delete_document_template | Delete document template | Permanently delete a document template by ID (requires confirm=true). Cannot delete the currently active template. | write | templates:write |
preview_document_template | Preview document template | Get a summary of a template design settings and a preview URL. Omit id to preview the currently active template. | read | templates:read |
set_template_logo | Set template logo | Set a custom logo image on a document template. Provide either a URL (logoUrl) or base64-encoded image (logoBase64). This logo overrides the company logo on printed documents using this template. | write | templates:write |
set_template_signature | Set template signature | Set the authorized signature image and signatory details on a document template. Provide signatureUrl or signatureBase64, plus optional signatureName and signatureTitle. | write | templates:write |
save_file | Save file to Bizpro Desk | Save a file to Bizpro Desk Files. Provide the file content as a base64-encoded string. Supports any file type: PDFs, images, documents, spreadsheets, CSVs, etc. The file will appear in the Files page inside Bizpro Desk. | write | files:write |
list_projects | List projects | List all projects with budget totals, amount paid, and remaining balance | read | projects:read |
get_project | Get project | Get full details of a project including associated invoices and payment progress | read | projects:read |
create_project | Create project | Create a new project with a total budget. Sales/invoices can be linked to it to track payment progress. | write | projects:write |
update_project | Update project | Update an existing project name, budget, status, or dates | write | projects:write |
get_project_summary | Get project summary | Get full project summary: total budget, total invoiced, total paid, pending amount, remaining balance, and invoice list | read | projects:read |
create_invoice_from_project | Create invoice from project | Create an invoice linked to a project. Pre-fills from project settings. Only override dueDate, totalAmount, or items if needed. | write | projects:write |
mark_project_invoice_paid | Mark project invoice as paid | Mark a project invoice as paid. Automatically updates project status to completed when fully paid. | write | projects:write |
get_exchange_rates | Get exchange rates | Get all exchange rates configured for the company | read | settings:read |
set_exchange_rate | Set exchange rate | Set or update an exchange rate between two currencies (e.g. USD to RWF). Used for multi-currency sales reporting. | write | settings:write |
get_sales_summary_converted | Get multi-currency sales summary | Get sales totals across all currencies, converted to a single preferred currency using stored exchange rates | read | sales:read |
analyze_document_for_project | Analyze document and create project | Upload a document or contract text to Claude AI and extract project details: name, total cost, currency, client, dates, and payment installments. Set autoCreate:true to automatically create the project. | write | projects:write |
get_tax_profile | Get tax profile | Get the company tax profile: adopted country, enabled taxes with rates, filing frequencies, and customizations | read | tax:read |
list_tax_obligations | List tax obligations | List tax obligations with amounts due, amounts paid, due dates, status, and an isOverdue flag. Filter by period (YYYY-MM, YYYY-Qn, YYYY) or status (pending, due, paid, partial, overdue). | read | tax:read |
create_manual_tax_obligation | Create manual tax obligation | Record a manually tracked tax obligation with a name, amount due, and due date. It appears in the tax calendar and summaries alongside calculated taxes. | write | tax:write |
record_tax_payment | Record tax payment | Record a payment against a tax obligation. Updates the paid amount and marks the obligation paid or partial automatically. | write | tax:write |
get_pos_config | Get POS configuration | Get the POS terminal configuration: receipt header/footer, tax label, discount and refund policies, and accounting sync settings | read | pos:read |
list_pos_transactions | List POS transactions | List POS payment transactions with status, amounts, payment breakdown, and terminal references. Filter by status or date range. | read | pos:read |
get_pos_eod_summary | Get end-of-day POS summary | Get the end-of-day sales summary for a date: transaction count, total revenue, total profit, breakdown by payment method, and top 10 products | read | pos:read |
list_capital_injections | List capital injections | List capital injections (owner/investor money added to accounts) with purpose, source, and total invested. Filter by date range, purpose, source, or account. | read | capital:read |
create_capital_injection | Record capital injection | Record a capital injection into an account. Increases the account balance. Purpose: general, restock, pay_expenses, expansion, emergency, loan, or other. Source: owner_personal, investor, loan, savings, or other. | write | capital:write |
list_expense_groups | List expense groups | List expense groups (projects/events that bundle expenses) with budget, total spent, remaining budget, and expense count | read | expenses:read |
get_expense_group | Get expense group | Get one expense group with all its linked expenses and budget totals | read | expenses:read |
create_expense_group | Create expense group | Create an expense group to bundle related expenses (e.g. a renovation, event, or project) with an optional budget | write | expenses:write |
add_expense_to_group | Add expense to group | Link an existing expense to an expense group so it counts toward the group budget | write | expenses:write |
list_deleted_records | List deleted records | List soft-deleted record snapshots (clients, products, sales, expenses, debtors, subscriptions, documents) with who deleted them and why | read | deleted-records:read |
restore_deleted_record | Restore deleted record | Restore a deleted record from its snapshot back into the live data. Supported types: Client, Product, Sale, Expense, Debtor, Subscription, Document. | write | deleted-records:write |
list_form_responses | List form responses | List responses submitted to a form, together with the form field definitions needed to interpret the answers | read | forms:read |
create_form | Create form | Create a draft form with fields (short_text, long_text, multiple_choice, dropdown, checkboxes, rating, number, etc.). Publish it from the Forms page to collect responses. | write | forms:write |
get_accounting_sync_status | Get accounting sync status | Get the accounting sync status: connected provider (QuickBooks, Xero, or CSV), last sync time, pending/failed job counts, and recent sync logs. Tokens are never returned. | read | accounting:read |
list_business_goals | List business goals | List business goals (revenue, profit, sales count, expense reduction targets) with current progress and status | read | goals:read |
create_business_goal | Create business goal | Create a business goal with a target value and deadline. Types: revenue, profit, sales_count, expense_reduction, clients, custom. Progress is tracked automatically from sales and expenses. | write | goals:write |
create_issue | Submit bug report or feature request | Submit a bug report or feature request to the public Bizpro Desk issue board. Links and emails are stripped; it appears after admin approval. | write | issues:write |
update_expense | Update expense | Update an expense (description, amount, category, date, payment method/status, supplier, notes). If the amount changes on an account-paid expense, the account balance is adjusted by the difference. | write | expenses:write |
delete_expense | Delete expense | Delete an expense (requires confirm=true). Refunds the linked account and keeps a restorable snapshot in Deleted Records. | write | expenses:write |
create_raw_material | Create raw material | Create a raw material for production tracking with unit, cost, opening stock, and reorder levels | write | production:write |
restock_raw_material | Restock raw material | Record a raw material purchase. Increases stock and recalculates the weighted-average unit cost. | write | production:write |
create_budget_plan | Create budget plan | Create a budget plan (draft by default) with a name, date range, and currency. Add line items with add_budget_plan_item. | write | budgets:write |
add_budget_plan_item | Add budget plan item | Add a line item to a budget plan. Type input_cost for planned spending or expected_output for projected production/yield. | write | budgets:write |
update_appointment | Update appointment | Update or reschedule an appointment: date, times, duration, client, notes, or status (scheduled, completed, cancelled, no-show) | write | appointments:write |
update_subscription | Update subscription | Update a client or vendor subscription: plan/service details, amount, billing cycle, dates, status (set status to cancelled to cancel), or notes | write | subscriptions:write |
renew_subscription | Renew subscription | Renew a client subscription by N months (default 1). Extends the expiry date, reactivates it, and re-arms the expiry reminder. | write | subscriptions:write |
restock_product | Restock product | Add stock to a product and record a restock transaction in the stock history. Optionally record the purchase unit cost. | write | products:write |
create_branch | Create branch | Create a company branch with name, optional unique code, location, and currency. Setting isHeadquarters moves the HQ flag to the new branch. | write | branches:write |
All destructive actions (create, update, delete) are annotated with destructiveHint: true. Delete operations additionally require confirm: true in the parameters to prevent accidental data loss.
All write actions support idempotency keys to prevent duplicate operations.
| HTTP Code | Meaning |
|---|---|
| 401 | Missing or invalid MCP token |
| 403 | Token lacks required permission |
| 429 | Rate limit exceeded (100/min) |
| 500 | Internal server error |