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.
无需输入参数。

io.github.EarthyPunyapat由 GitHub 账号 EarthyPunyapat 发布v1.0.0更新于 Nov 3, 2026
从任意代理创建发票、客户和 Stripe 支付链接。7 个工具。无电子邮件或删除功能。
AI 翻译由 AI 模型根据下方的原文描述翻译,可能有误。
Create invoices, clients, and Stripe payment links from any agent. 7 tools. No email or deletes.
InvoiceFlow 的托管 MCP 服务(invoiceflow-ten-azure.vercel.app);需要 API 密钥;Streamable HTTP;7 个工具。
暂无 AI 概览:以下信息来自注册中心条目和服务本身。
Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。
把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。
阅读 https://sourceweft.com/mcp/io.github.EarthyPunyapat%2Finvoiceflow/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。把它添加到你客户端的 mcpServers 配置中。
{
"mcpServers": {
"invoiceflow": {
"type": "http",
"url": "https://invoiceflow-ten-azure.vercel.app/api/mcp",
"headers": {
"Authorization": "Bearer <YOUR_TOKEN>"
}
}
}
}Professional invoices, Stripe payment links, reminders, and currency-safe reporting. Early access.
[Live Demo] [License: MIT] [TypeScript] [Next.js] [Postgres] [Prisma] [Stripe] [Resend]
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.
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.
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:
packageManager in package.json)The app offers early access. Subscription purchases and plan enforcement are not implemented. Invoice payments are separate from billing users for access to InvoiceFlow.
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.
Install Node.js 22 and the pinned pnpm version first. Keep existing local configuration rather than replacing it.
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:
The seed replaces the account selected by SEED_DEMO_EMAIL (default [email protected]) and its related data. Do not target a real customer account or production database.
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:
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.
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:
Then run:
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.
Use the Vercel and Neon release guide for migration handling, service configuration, scheduled jobs and the required test-mode release smoke test. Passing local checks is separate from validating a deployed application.
Both jobs use GET and require Authorization: Bearer <CRON_SECRET>:
/api/cron/generate-recurring creates due draft invoices and advances their schedules./api/cron/chase-invoices sends due reminders.vercel.json schedules generation at 00:00 UTC and reminders at 09:00 UTC each day. Vercel sends the bearer header when CRON_SECRET is configured. Check the plan's scheduling and function-duration limits before enabling a larger workload.
Run pnpm run test:browser after pnpm run build, with DATABASE_URL and
DATABASE_URL_UNPOOLED pointing to the disposable local invoiceflow_test
database. Install Chromium using pnpm exec playwright install chromium when a
system Chromium is unavailable. Browser tests start a production server on
port 3100, use isolated test accounts and a locally signed session, and exercise
actual pages, API requests and database writes. The design checks cover 13 routes
at desktop (1440px), tablet (768px) and phone (390px) widths, including public
invoices, invoice/estimate details, keyboard interactions, reduced motion and
mobile sign-out. PDF browser tests also exercise the Download PDF button, parse
the exported values and notes, and reject cross-account or unauthenticated
downloads. They do not complete Google OAuth
or send real emails/payments. Provider HTTP responses come from guarded local
fixtures loaded only into the test server. These fixtures exercise the actual
Resend/Stripe SDK requests while blocking unmatched external requests. Browser
checks cover Save & Send, provider rejection and retry, explicit resend, existing
issued invoices, Stripe readiness reconciliation and the Checkout redirect.
See delivery and payment checks for production setup
and the distinction between email acceptance and inbox delivery.
来源:README.md,提交 96899a5
Check which InvoiceFlow account this key belongs to and that the key works. Call this first; it is the cheapest way to fail early.
无需输入参数。
Create a customer record. A client is required before an invoice can be created. Returns the new client id.
name必填email必填notescompanyList existing clients. Use this before create_client to avoid making duplicate customer records.
queryCreate 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.
taxitems必填notesdueDateclientId必填currencyList invoices with their status and totals. Invoices belonging to other accounts are not visible and return as absent, not as errors.
limitstatusFetch one invoice by id, including line items and derived totals.
id必填Get the payable Stripe Checkout link for an invoice. This is what you give a human so they can actually pay. Does not email anyone.
id必填已满足适用检查项的 90%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
请在仓库或注册中心条目中声明许可证。
{ "mcpServers": { "invoiceflow": { "command": "node", "args": ["/abs/path/invoiceflow-mcp.mjs"], "env": { "INVOICEFLOW_API_KEY": "ifk_..." } } }}curl -sO https://invoiceflow-ten-azure.vercel.app/sdk/invoiceflow-mcp.mjscurl -sO https://invoiceflow-ten-azure.vercel.app/sdk/invoiceflow-client.mjscurl -sO https://invoiceflow-ten-azure.vercel.app/sdk/test-mcp.mjsnode test-mcp.mjs # 14 passed, 0 failed — no key, no networkpnpm install --frozen-lockfiletest -e .env || cp .env.example .env# Configure .env before continuing.docker compose up -d --waitpnpm run db:generatepnpm run db:deploypnpm run dev# Only against a disposable development database.pnpm run db:seedpnpm exec tsx scripts/preview-invoice-pdf.tspnpm testpnpm run lintNEXT_PUBLIC_APP_URL=https://invoiceflow.example.test pnpm run buildpnpm run typecheck# After building, against the disposable local test DB:pnpm run test:browserpnpm audit --prod --audit-level highdocker compose exec -T db createdb -U postgres invoiceflow_testexport DATABASE_URL='postgresql://postgres:postgres@localhost:5432/invoiceflow_test?schema=public'export DATABASE_URL_UNPOOLED="$DATABASE_URL"pnpm run db:deploypnpm run test:integration ┌─────────────────────────────┐ │ Client / Browser │ └──────────────┬──────────────┘ │ ▼ ┌─────────────────────────────────┐ │ Next.js Middleware (Auth) │ └──────────────┬──────────────────┘ │ ┌───────────────────────────────┼───────────────────────────────┐ ▼ ▼ ▼ ┌──────────────┐ ┌──────────────────┐ ┌──────────────────┐ │ Landing Page │ │ Dashboard (App) │ │ Public Invoice │ │ `/` │ │ `/(dashboard)` │ │ `/i/[token]` │ └──────────────┘ └─────────┬────────┘ └────────┬─────────┘ │ │ ▼ ▼ ┌─────────────────────────────────────────────────┐ │ API Routes & Crons │ │ • /api/invoices • /api/estimates │ │ • /api/clients • /api/cron/* │ │ • /api/i/[token]/pay • /api/webhooks/stripe │ └──────────────────────┬──────────────────────────┘ │ ┌──────────────────────────────────────┼──────────────────────────────────────┐ ▼ ▼ ▼┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐│ Neon Postgres │ │ Stripe Connect │ │ Resend ││ (Prisma Engine) │ │ (Checkout & Web) │ │ (React Emails) │└──────────────────┘ └──────────────────┘ └──────────────────┘prisma/ Schema, migrations and disposable demo seedsrc/app/ Marketing, authenticated app, public invoices and API routessrc/lib/ Billing, auth, money, reporting, validation and integrationssrc/emails/ React Email templatessrc/components/ UI, reports and marketing componentsintegration/ PostgreSQL-backed billing regression tests.github/workflows/ CI