NeatInvoice
ProductFeatures
Pricing

Ready to invoice without the chase?

Start a free trial, no card required. Same full workspace on Solo and Studio.

See pricing
NeatInvoice

Invoicing for consultants, creatives, and independent service professionals. Create invoices, send client links, and follow up without spreadsheet chaos.

Product
PricingHow it worksFree invoice generatorAbout
Resources
FeaturesInvoice software for freelancersSimple invoice softwareInvoice templatesIndustriesProduct updatesArticlesAI product informationEditorial policyContactFAQ
Compare
All comparisonsvs HoneyBookvs PineBillvs Invoice Ninjavs Wavevs FreshBooksvs Invoicelyvs Invoice Homevs Zoho Invoice
Legal
TermsPrivacyLegal

© 2026 NeatInvoice. All rights reserved.

For independent professionals who invoice for a living

Fazier badgeNeatInvoice - Featured on Startup FameFeatured on Twelve ToolsFeatured on Findly.toolsLaunched on StartupBaseTinyLaunch Badge
  1. Home
  2. /
  3. Connect your assistant

Setup

Connect your assistant in three steps

Connect in 30 seconds: copy one prompt, paste it into Claude Code, Codex, opencode, or Cursor. Ask in plain words. Drafts stay drafts until you confirm a send, a live link, a void, or a payment.

Paste this prompt into your agent

Connect in 30 seconds. Replace <YOUR_KEY> with the secret from Account, or use Copy setup prompt there and the key is already filled in. An active Solo or Studio trial or subscription is required. You can keep up to 5 active keys.

Setup prompt

Add the NeatInvoice MCP server to your MCP config. Server name: neatinvoice. Type: streamable HTTP. URL: https://neatinvoice.app/api/mcp. Header: Authorization: Bearer <YOUR_KEY>. Then list its tools to confirm it works.

  1. 01

    Create a key

    Sign in, open Account, then API keys. Choose look-up, drafts, or actions. The secret is shown once.

    Choose a key type

    Start with Look-up and only upgrade when you need more.

    Look-up (read)

    Your assistant can view clients, invoices, estimates, and status. It cannot change anything.

    Best for asking questions about your data.

    Drafts (read & write)

    Everything in Look-up, plus creating and editing draft clients, invoices, and estimates.

    It cannot send email, publish, change status, or delete.

    Best for having AI prepare drafts you review.

    Actions

    Everything in Drafts, plus sending invoices or estimates by email, publishing, recording payments, voiding, and converting estimates.

    Sends and publishes use prepare, then confirm. The token expires in 10 minutes. mark_invoice_sent and set_estimate_status apply immediately.

    Email is limited to 5 per hour and 20 per day.

    Use it only when you want AI to act on real documents.

  2. 02

    Paste this prompt into your agent

    Claude Code, Codex, opencode, or Cursor can write the config. On the key screen, Copy setup prompt already includes the secret.

  3. 03

    Try a prompt

    Ask something ordinary, such as which invoices are overdue. The assistant uses your workspace.

Or paste a config

The endpoint is streamable HTTP at /api/mcp. Replace <YOUR_KEY> before you save. Key management stays on your signed-in session at /api/mcp-keys.

Claude Code

Run this in a terminal. It saves a user-scoped HTTP server in ~/.claude.json.

Claude Code

claude mcp add --transport http neatinvoice https://neatinvoice.app/api/mcp --scope user --header "Authorization: Bearer <YOUR_KEY>"

Codex CLI

Add this table to ~/.codex/config.toml. Codex sends http_headers on the streamable HTTP connection.

Codex CLI

[mcp_servers.neatinvoice]
url = "https://neatinvoice.app/api/mcp"
http_headers = { Authorization = "Bearer <YOUR_KEY>" }

opencode

Put this in opencode.jsonc. oauth is off because the key is the only credential.

opencode

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "servers": {
      "neatinvoice": {
        "type": "remote",
        "url": "https://neatinvoice.app/api/mcp",
        "oauth": false,
        "headers": {
          "Authorization": "Bearer <YOUR_KEY>"
        }
      }
    }
  }
}

Cursor

Save this as ~/.cursor/mcp.json (every project) or .cursor/mcp.json (one project), then restart Cursor.

Cursor

{
  "mcpServers": {
    "neatinvoice": {
      "url": "https://neatinvoice.app/api/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_KEY>"
      }
    }
  }
}

Claude Desktop

Claude Desktop's local config starts a command, so this uses mcp-remote to reach the HTTP endpoint. The header value sits in env so a space in Bearer does not break on Windows. File: ~/Library/Application Support/Claude/claude_desktop_config.json on macOS, or %APPDATA%\Claude\claude_desktop_config.json on Windows. Restart the app after saving.

Claude Desktop

{
  "mcpServers": {
    "neatinvoice": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://neatinvoice.app/api/mcp",
        "--header",
        "Authorization:${NEATINVOICE_AUTH_HEADER}"
      ],
      "env": {
        "NEATINVOICE_AUTH_HEADER": "Bearer <YOUR_KEY>"
      }
    }
  }
}

Try these prompts

Say them as you would to a colleague. Your key has to allow the matching step: look-up, drafts, or actions.

Ask

  • “Which invoices are overdue?”
  • “List estimates for Acme.”
  • “What's still owed in this workspace?”

Draft

  • “Draft an invoice for Acme for 10 hours of design at $80.”
  • “Add Northwind Studio as a client.”
  • “Duplicate last month's invoice as a new draft.”

Act

  • “Prepare the email for this invoice, and wait for me to confirm.”
  • “Prepare a live link for the Acme estimate.”
  • “Prepare recording the $800 I received.”

Marking an invoice sent, and setting an estimate status, apply when you ask. Email, publishing, voiding, and payment records wait for a confirmation.

Confirm tokens and rate limits

  • Confirmation tokens from prepare_* tools expire after 10 minutes. Call the matching confirm_* tool before they expire.
  • Email confirm tools (5 per hour and 20 per day per key, with matching per-account caps) share limits across invoice and estimate sends.
  • Document confirm tools (publish, void, payments, estimate status, convert) allow 10 confirms per hour per key and 10 per hour per account.
  • Read and draft calls also have per-minute caps on the key and on your account. Heavy list tools have a lower per-minute cap than ordinary reads.
Tool referenceShow names

Names match the tools your client lists. Your client may hide tools that your key cannot call.

Read

Read key

  • whoami
  • list_workspaces
  • get_workspace_overview
  • list_invoices
  • get_invoice
  • list_clients
  • get_client
  • list_estimates
  • get_estimate

Draft writes

Read and write drafts or Actions key

Creates and updates drafts only. Does not send email, publish, or change status.

  • create_client
  • update_client
  • create_invoice_draft
  • update_invoice_draft
  • create_estimate_draft
  • update_estimate_draft
  • duplicate_invoice_as_draft

Email send

Actions key

prepare_send_* returns a token. confirm_send_* sends after you approve the prepared message.

  • prepare_send_invoice
  • prepare_send_estimate
  • confirm_send_invoice
  • confirm_send_estimate

Publish, payments, and estimates

Actions key

Most actions use prepare then confirm. mark_invoice_sent and set_estimate_status apply immediately.

  • prepare_publish_invoice
  • prepare_publish_estimate
  • prepare_void_invoice
  • prepare_record_invoice_payment
  • prepare_delete_invoice_payment
  • prepare_set_estimate_status
  • prepare_convert_estimate
  • confirm_publish_invoice
  • confirm_publish_estimate
  • confirm_void_invoice
  • confirm_record_invoice_payment
  • confirm_delete_invoice_payment
  • confirm_set_estimate_status
  • confirm_convert_estimate
  • mark_invoice_sent
  • set_estimate_status

FAQ and troubleshooting

Why does my client show 404 for the MCP URL?
MCP is not available for your account yet. Check that you have an active Solo or Studio trial or subscription, and that your client points at the exact endpoint above.
Why did a write or action tool fail with scope denied?
The key scope must match the tool. Read keys cannot call draft or action tools. Draft tools need read and write drafts or actions scope. Email and document tools need actions scope.
Why do send and publish tools call prepare first?
prepare_* returns a confirmation token and a summary of what will change. confirm_* applies it. Your assistant should show you that summary before confirming.
Can I use the same key in multiple clients?
Yes. Treat the secret like a password. Create separate labeled keys if you want to revoke one client without affecting another.
Does MCP bypass email verification?
No. confirm_send_* requires a verified account email, the same as sending from Share in the app.

Product overview: Features. Announcement: blog post.