Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

InvoiceFlow

by EarthyPunyapatversion 1.0.0i★ –iRuns in the cloud
Registry nameio.github.EarthyPunyapat/invoiceflow

Install

Overview

Description from the maker (original English)

Create invoices, clients, and Stripe payment links from any agent. 7 tools. No email or deletes.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs in the cloud
  • Transport: Streamable HTTP
  • Category: Online shops & payments
  • You need to fill in: Authorization

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 3 of 3 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • Can do 7 things (tools) invoiceflow_whoami, invoiceflow_create_client, invoiceflow_list_clients, invoiceflow_create_invoice …
  • You fill in yourself: Authorization

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Run this in your terminal

claude mcp add --transport http invoiceflow https://invoiceflow-ten-azure.vercel.app/api/mcp --header 'Authorization: your-value'

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "invoiceflow": {
      "url": "https://invoiceflow-ten-azure.vercel.app/api/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "invoiceflow": {
      "type": "http",
      "url": "https://invoiceflow-ten-azure.vercel.app/api/mcp",
      "headers": {
        "Authorization": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This address needs a key in a request header, which the add-connector menu cannot set. Use Claude Code, Cursor or VS Code instead.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • Authorization secret required HTTP header
    Bearer token: `Bearer ifk_...` where ifk_... is an InvoiceFlow API key. Without it the server lists tools but every call explains what is missing.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.

  • invoiceflow_whoami

    Check which InvoiceFlow account this key belongs to and that the key works. Call this first; it is the cheapest way to fail early.

  • invoiceflow_create_client

    Create a customer record. A client is required before an invoice can be created. Returns the new client id.

  • invoiceflow_list_clients

    List existing clients. Use this before create_client to avoid making duplicate customer records.

  • invoiceflow_create_invoice

    Create a DRAFT invoice for an existing client. Amounts are INTEGER CENTS: unitPrice 25000 means $250.00, not $25,000. Do not send totals - the server derives subtotal and total from the line items. Does not email anyone.

  • invoiceflow_list_invoices

    List invoices with their status and totals. Invoices belonging to other accounts are not visible and return as absent, not as errors.

  • invoiceflow_get_invoice

    Fetch one invoice by id, including line items and derived totals.

  • invoiceflow_share_invoice

    Get the public payment page link for an invoice that is SENT or OVERDUE (drafts cannot be shared). The page shows a Pay button when the account owner has connected Stripe. Does not email anyone.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account EarthyPunyapat, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 130 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 7 tool descriptions and found no hidden instructions to the AI

Compared with others in Online shops & paymentsi

  • More stars than 0% of the other 2565 servers in this category
  • Published to the registry more recently than 80% of the other 2565 servers in this category
  • Basic checks equal to or better than 100% of the other 2565 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is InvoiceFlow safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: Authorization

Does it run on my computer or in the cloud?

It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.0.0) reached the registry 6 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Stripe MCP

Stripe’s official server lets AI view and manage customers, products, payments and invoices. Connect to Stripe’s cloud and sign in with OAuth.

by stripeWidely used★ 2KUpdated 13 months ago

Runs in the cloud✓ stripe.com

MCP Cn Commerce

8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending

by TonyWang-hubEarly↓ 73/wk★ 96Updated 29 days ago

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

InvoiceFlow

Professional invoices, Stripe payment links, reminders, and currency-safe reporting. 14 days free, then US$9/month.

-000000?style=flat-square&logo=next.js&logoColor=white)

Features • Architecture • Local Development • Deployment


InvoiceFlow is an invoicing app for freelancers. Manage clients, create branded invoices and estimates, share public payment links, collect payments through Stripe Connect, and automate overdue reminders.

MCP server (agents)

InvoiceFlow ships a dependency-free Model Context Protocol server, so an agent in Claude Desktop, Cursor, or any MCP host can create invoices and get payable Stripe links without reading a REST document.

{

"mcpServers": { "invoiceflow": { "command": "node", "args": ["/abs/path/invoiceflow-mcp.mjs"], "env": { "INVOICEFLOW_API_KEY": "ifk_..." } } } }

Download the server from https://invoiceflow-ten-azure.vercel.app/sdk/invoiceflow-mcp.mjs.

Tools: whoami, create_client, list_clients, create_invoice, list_invoices, get_invoice, share_invoice.

The omissions are the design. No tool sends email, deletes, refunds, or pays. Creating an invoice is additive and a human can undo it; an agent that emails a customer on every retry cannot take that back. Amounts are integer cents named unitPrice, and a non-integer is refused with an explanation rather than rounded, because 25.5 silently meaning 25 cents is the defect most likely to reach a real customer.

Verify it yourself, no account required:

curl -sO https://invoiceflow-ten-azure.vercel.app/sdk/invoiceflow-mcp.mjs

curl -sO https://invoiceflow-ten-azure.vercel.app/sdk/invoiceflow-client.mjs curl -sO https://invoiceflow-ten-azure.vercel.app/sdk/test-mcp.mjs node test-mcp.mjs # 14 passed, 0 failed — no key, no network


Stack

  • Node.js 22 and pnpm 10.34.9 (packageManager in package.json)
  • Next.js 15 App Router, React 18, TypeScript, Tailwind CSS and Framer Motion
  • NextAuth v5 with Google OAuth and JWT sessions
  • Prisma 5 and PostgreSQL 16; Docker Compose locally, Neon for deployment
  • Stripe Connect Express and Checkout; Resend and React Email
  • Vitest unit and PostgreSQL integration tests; ESLint and GitHub Actions

Implemented workflows

AreaBehavior
Clients and invoicesOwner-scoped management, line items, percentage tax, draft editing and controlled status changes
Invoice deliverySave & Send calls the email endpoint; accepted email uses a stable public link, failed delivery keeps one saved draft, explicit resends are available
Public invoicesBranded view, readable multi-page PDF export with saved notes and correct tax breakdown, unguessable share tokens and noindex metadata
Online paymentsTax-inclusive grand total, reuse of open Checkout sessions, signed webhook reconciliation
RemindersEscalating email reminders for sent and overdue invoices
Recurring invoicesScheduled draft generation and schedule advancement in one database transaction
EstimatesCreate and manage estimates; convert an estimate to an invoice once
Reports and exportsRevenue, outstanding balances, aging, client reports and CSV export
Business profileName, address, logo, accent color and invoice numbering prefix

Every account starts with a 14-day free trial; InvoiceFlow Pro then costs US$9/month through Stripe Checkout, with card changes and cancellation in the Stripe billing portal. After the trial, creating and sending invoices requires an active subscription; existing records, PDFs, exports and clients' payments stay available. Invoice payments go to each user's own Stripe account and are separate from their InvoiceFlow subscription. Decisions are recorded in the launch spec.

Interface and design guidance

The public site, Google sign-in and workspace use a warm-white, dark-ink and evergreen visual system, with an interactive example invoice, compact tables and keyboard-friendly mobile navigation. Reports retain separate totals for each currency. Client creation is available inside invoice and estimate drafts.

Read PRODUCT.md and DESIGN.md before changing the interface. The requested Emil Kowalski, Impeccable, Taste and frontend-design skills are installed locally under .agents/skills, with upstream revisions and licenses. The design review records rendered checks and deliberate tradeoffs.

Local development

Install Node.js 22 and the pinned pnpm version first. Keep existing local configuration rather than replacing it.

pnpm install --frozen-lockfile

test -e .env || cp .env.example .env

Configure .env before continuing.

docker compose up -d --wait pnpm run db:generate pnpm run db:deploy pnpm run dev

Use the local PostgreSQL URL from .env.example for both DATABASE_URL and DATABASE_URL_UNPOOLED. Generate an AUTH_SECRET, add Google OAuth credentials, and use http://localhost:3000 for NEXTAUTH_URL and NEXT_PUBLIC_APP_URL. Register http://localhost:3000/api/auth/callback/google in the Google OAuth client.

Leave optional Stripe and Resend keys empty until you have valid credentials; the example strings are placeholders. Unconfigured integrations return an unavailable response. Google sign-in and the full send/pay workflow require their actual service configuration.

pnpm run db:deploy applies committed migrations to a new development database. If an existing database was created using prisma db push, follow the baseline procedure before applying migrations. Never use db push or migrate reset to deploy production schema changes.

The Compose database uses a persistent named volume. docker compose down stops it without deleting that volume.

Optional demo data:

# Only against a disposable development database.

pnpm run db:seed

The seed replaces the account selected by SEED_DEMO_EMAIL (default demo@invoiceflow.dev) and its related data. Do not target a real customer account or production database.

PDF exports

PDF downloads use a measured A4 layout with separate sender/recipient blocks, issue/due dates, currency, status, itemized charges, tax and total. Long records paginate with repeated table headings. Saved invoice Notes are included under “Notes & payment instructions”; payment details and a billing period can be entered there. The PDF reflects the saved invoice amounts and does not change payment status or data.

View the synthetic PDF example and layout review. Generate short, normal and long review fixtures without database/provider access:

pnpm exec tsx scripts/preview-invoice-pdf.ts

Configuration

VariableUse
DATABASE_URLPrisma runtime PostgreSQL connection; use Neon's pooled URL in deployment
DATABASE_URL_UNPOOLEDDirect database connection for Prisma migrations
AUTH_SECRETStable, private NextAuth signing/encryption secret
AUTH_GOOGLE_ID, AUTH_GOOGLE_SECRETGoogle web OAuth client credentials
NEXTAUTH_URLCanonical auth origin; HTTPS in production
AUTH_TRUST_HOSTSet to true only behind the trusted deployment proxy, such as Vercel
NEXT_PUBLIC_APP_URLCanonical public HTTPS origin for invoice, payment and email URLs
STRIPE_SECRET_KEYStripe platform API key for Connect and Checkout
STRIPE_WEBHOOK_SECRETSigning secret for this deployment's connected-account webhook endpoint
STRIPE_CONNECT_COUNTRYSupported Connect country for newly created accounts; defaults to US
RESEND_API_KEY, RESEND_FROM_EMAILEmail API key and a sender on a verified Resend domain
FREELANCER_NOTIFY_EMAILFallback only when the invoice owner has no email address
CRON_SECRETBearer secret for scheduled invoice generation and reminders
SEED_DEMO_EMAILDisposable account targeted by the destructive demo seed

NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY is reserved in the example configuration; the current hosted Checkout redirect does not use a browser Stripe SDK. The INNGEST_* variables are also unused.

Keep secrets in ignored local environment files or the hosting provider's secure settings. Preview and production deployments should use separate databases and service keys.

Validation

pnpm test

pnpm run lint NEXT_PUBLIC_APP_URL=https://invoiceflow.example.test pnpm run build pnpm run typecheck

After building, against the disposable local test DB:

pnpm run test:browser pnpm audit --prod --audit-level high

For these local browser checks, the build uses the HTTPS test origin above; Vercel releases use the real configured production origin. Next.js embeds NEXT_PUBLIC_APP_URL during the build.

The build generates Prisma Client, compiles all routes, and produces the production application. Production Vercel builds first verify and migrate the database with a guarded release step; local and preview builds require explicit database preparation. Google Fonts access is needed for the configured next/font loader. Prisma downloads must retain TLS and checksum verification.

Integration tests use a separate disposable local database named invoiceflow_test. Create it once:

docker compose exec -T db createdb -U postgres invoiceflow_test

Then run:

export DATABASE_URL='postgresql://postgres:postgres@localhost:5432/invoiceflow_test?schema=public'

export DATABASE_URL_UNPOOLED="$DATABASE_URL" pnpm run db:deploy pnpm run test:integration

Run these exports in a separate shell from the development server. The suite rejects remote databases and other database names. It uses real PostgreSQL transactions and signed Stripe fixtures, with external Stripe/Resend requests mocked. It covers invoice totals, public links, checkout reuse, webhook verification and retries, concurrent numbering/conversion, and recurring transaction rollback. It does not establish that live OAuth, payment or email credentials work.

GitHub Actions runs frozen installation, Prisma generation, migrations, lint, unit/integration tests, the production build, Chromium browser workflows, typechecking and a production dependency audit using PostgreSQL 16 and Node.js 22.

Deployment

Use the Vercel and Neon release guide for migration handling, service configuration, scheduled jobs and the re

Only the beginning is shown; read the rest in the repo

Ask PopNx