财务API服务器

Wave MCP Server是一个提供发票、客户、产品、交易、账单、估算、税务和财务报告等功能的财务API服务器。

  • by NoahMcGraw
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 NoahMcGraw/wave-mcp

使用说明

Wave MCP服务器

MCP服务器 波浪会计,通过Wave的GraphQL API提供对发票、客户、产品、交易、账单、估价、税收和财务报告的访问。

特性

10个类别的54个工具

类别 工具 功能
发票 10 列出、获取、创建、更新、删除、发送、批准、标记已发送、列出/记录付款
客户 6 按姓名/电子邮件列出、获取、创建、更新、删除、搜索
产品 5 列出、获取、创建、更新、存档产品和服务
账户 4 列出、获取、创建、更新会计科目表
交易 6 列出、获取、创建、更新、分类、列出附件
账单 6 列出、获取、创建、更新、列出/记录账单付款
估计 6 列出、获取、创建、更新、发送、转换为发票
税收 3 列出、获取、创建销售税
企业 3 列表,获取当前,按ID获取
报告 5 损益表、资产负债表、账龄应收账款、税务摘要、现金流

17 MCP应用程序资源

预构建的UI布局定义可通过以下方式访问 wave://apps/{name}:

invoice-dashboard, invoice-detail, invoice-builder, customer-detail, customer-grid, product-catalog, chart-of-accounts, transaction-feed, transaction-categorizer, bill-manager, estimate-builder, tax-overview, profit-loss, balance-sheet, cashflow-chart, aging-report, business-overview

先决条件

  1. A. 波浪 账户
  2. 来自的OAuth2访问令牌 Wave开发者门户

安装

npm install
npm run build

配置

# Required
export WAVE_ACCESS_TOKEN=your_oauth2_access_token

# Optional — set a default business ID so you don't have to pass it every call
export WAVE_BUSINESS_ID=your_business_id

用法

直接运行

WAVE_ACCESS_TOKEN=your_token npm run dev

使用Cursor/Claude桌面

添加到MCP配置中:

{
  "mcpServers": {
    "wave": {
      "command": "node",
      "args": ["/path/to/wave-mcp/build/main.js"],
      "env": {
        "WAVE_ACCESS_TOKEN": "your_access_token",
        "WAVE_BUSINESS_ID": "optional_business_id"
      }
    }
  }
}

示例

// List overdue invoices
wave_list_invoices({ status: "OVERDUE" })

// Create an invoice
wave_create_invoice({
  customerId: "customer_456",
  invoiceDate: "2026-01-15",
  items: [
    { description: "Consulting", quantity: 10, unitPrice: "150.00" }
  ]
})

// Profit & Loss report
wave_profit_and_loss({ startDate: "2026-01-01", endDate: "2026-03-31" })

// Search customers
wave_search_customers({ query: "acme" })

建筑学

src/
├── main.ts                 # Entry point — reads env, starts server
├── server.ts               # MCP server setup, request routing
├── client.ts               # Wave GraphQL API client (gql.waveapps.com)
├── types/index.ts           # TypeScript types for all Wave entities
├── tools/
│   ├── invoices-tools.ts    # 10 invoice tools
│   ├── customers-tools.ts   # 6 customer tools
│   ├── products-tools.ts    # 5 product tools
│   ├── accounts-tools.ts    # 4 account tools
│   ├── transactions-tools.ts # 6 transaction tools
│   ├── bills-tools.ts       # 6 bill tools
│   ├── estimates-tools.ts   # 6 estimate tools
│   ├── taxes-tools.ts       # 3 tax tools
│   ├── businesses-tools.ts  # 3 business tools
│   └── reporting-tools.ts   # 5 reporting tools
└── apps/index.ts            # 17 MCP app resource definitions

所有工具都使用参数化的GraphQL查询 https://gql.waveapps.com/graphql/public.Auth是通过OAuth2承载令牌进行的。

发展

npm run build     # Compile TypeScript
npm run watch     # Watch mode
npx tsc --noEmit  # Type-check without emitting

许可证

麻省理工学院