Spree Commerce: open-source B2B and marketplace ecommerce
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
作者提供的说明(英文原文)
Create invoices, clients, and Stripe payment links from any agent. 7 tools. No email or deletes.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
Authorization标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
在终端中运行这条命令
claude mcp add --transport http invoiceflow https://invoiceflow-ten-azure.vercel.app/api/mcp --header 'Authorization: your-value'运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"invoiceflow": {
"url": "https://invoiceflow-ten-azure.vercel.app/api/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"invoiceflow": {
"type": "http",
"url": "https://invoiceflow-ten-azure.vercel.app/api/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
Authorization 机密 必填 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
工具名称和描述与服务器在 2026年11月6日 报告的完全一致。这些内容由作者撰写,不是我们写的;我们以纯文本形式显示。
invoiceflow_whoamiCheck 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_clientCreate a customer record. A client is required before an invoice can be created. Returns the new client id.
invoiceflow_list_clientsList existing clients. Use this before create_client to avoid making duplicate customer records.
invoiceflow_create_invoiceCreate 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_invoicesList invoices with their status and totals. Invoices belonging to other accounts are not visible and return as absent, not as errors.
invoiceflow_get_invoiceFetch one invoice by id, including line items and derived totals.
invoiceflow_share_invoiceGet 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.
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 EarthyPunyapat 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
在 130 毫秒内响应(HTTP 200)
无需登录
已读取 7 个工具描述,未发现针对 AI 的隐藏指令
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 3 项适用的基础检查中通过了 3 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:Authorization
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(1.0.0)于7天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spree Commerce: open-source B2B and marketplace ecommerce, Stripe MCP, MCP Cn Commerce
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Open-source B2B and marketplace ecommerce; new stores include an MCP server for AI agents.
MCP server integrating with Stripe - tools for customers, products, payments, and more.
8 read-only MCP platform entries; support is operation-specific; merchant live acceptance pending
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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.
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
packageManager in package.json)| Area | Behavior |
|---|---|
| Clients and invoices | Owner-scoped management, line items, percentage tax, draft editing and controlled status changes |
| Invoice delivery | Save & Send calls the email endpoint; accepted email uses a stable public link, failed delivery keeps one saved draft, explicit resends are available |
| Public invoices | Branded view, readable multi-page PDF export with saved notes and correct tax breakdown, unguessable share tokens and noindex metadata |
| Online payments | Tax-inclusive grand total, reuse of open Checkout sessions, signed webhook reconciliation |
| Reminders | Escalating email reminders for sent and overdue invoices |
| Recurring invoices | Scheduled draft generation and schedule advancement in one database transaction |
| Estimates | Create and manage estimates; convert an estimate to an invoice once |
| Reports and exports | Revenue, outstanding balances, aging, client reports and CSV export |
| Business profile | Name, 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.
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.
pnpm install --frozen-lockfile
test -e .env || cp .env.example .env
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 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
| Variable | Use |
|---|---|
DATABASE_URL | Prisma runtime PostgreSQL connection; use Neon's pooled URL in deployment |
DATABASE_URL_UNPOOLED | Direct database connection for Prisma migrations |
AUTH_SECRET | Stable, private NextAuth signing/encryption secret |
AUTH_GOOGLE_ID, AUTH_GOOGLE_SECRET | Google web OAuth client credentials |
NEXTAUTH_URL | Canonical auth origin; HTTPS in production |
AUTH_TRUST_HOST | Set to true only behind the trusted deployment proxy, such as Vercel |
NEXT_PUBLIC_APP_URL | Canonical public HTTPS origin for invoice, payment and email URLs |
STRIPE_SECRET_KEY | Stripe platform API key for Connect and Checkout |
STRIPE_WEBHOOK_SECRET | Signing secret for this deployment's connected-account webhook endpoint |
STRIPE_CONNECT_COUNTRY | Supported Connect country for newly created accounts; defaults to US |
RESEND_API_KEY, RESEND_FROM_EMAIL | Email API key and a sender on a verified Resend domain |
FREELANCER_NOTIFY_EMAIL | Fallback only when the invoice owner has no email address |
CRON_SECRET | Bearer secret for scheduled invoice generation and reminders |
SEED_DEMO_EMAIL | Disposable 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.
pnpm test
pnpm run lint NEXT_PUBLIC_APP_URL=https://invoiceflow.example.test pnpm run build pnpm run typecheck
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.
Use the Vercel and Neon release guide for migration handling, service configuration, scheduled jobs and the re
只显示了开头部分;其余内容请在仓库中阅读