360 Secure SkillHub
360 安全技能中心

Pane

该 Skill 通过 mcporter 连接 Pane 托管的 MCP 服务器,读取用户已链接的银行账户、交易、余额、支出汇总、订阅账单、投资、负债与加密货币数据,并支持写入、列出和删除持久化注解;需要 Pane 账户、PANE_API_KEY 环境变量和 mcporter 命令,数据读取受账户隐私范围与速率限制约束。

darnfish
darnfish
热度 85.90
最近更新 2026-05-11 17:27:54
分类:生活依赖:MCP 服务 / 第三方 API应用场景:个人理财 / 财务 / 数据处理 / 报告撰写

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add pane
Metadata
name
pane-mcp
description
Access personal finance data (bank accounts, transactions, balances, spending, investments, crypto) via Pane's hosted MCP server using mcporter. Requires a Pane account and API key.
homepage
https://pane.money
metadata
{"clawdbot":{"emoji":"💳","install":[{"id":"mcporter","kind":"skill","skill":"steipete/mcporter","label":"Install mcporter skill"}]},"openclaw":{"primaryEnv":"PANE_API_KEY","requires":{"env":["PANE_API_KEY"],"bins":["mcporter"],"skills":["mcporter"]}}}

Pane MCP

Access a user's linked financial accounts via Pane, a hosted MCP server powered by Plaid. Query bank accounts, transactions, balances, spending summaries, recurring payments, investments, liabilities, and crypto holdings. Write persistent annotations to remember context across conversations.

Setup

The user must have a Pane account with linked financial accounts and an API key from pane.money/dashboard/connect.

Set the PANE_API_KEY environment variable (do not paste the key directly into shell commands):

# Add to your shell profile (.zshrc, .bashrc, etc.)
export PANE_API_KEY="pane_sk_live_..."

Then configure mcporter:

# Add Pane as an MCP server using the env var
mcporter config add pane --url https://mcp.pane.money --header "Authorization: Bearer $PANE_API_KEY"

# Verify connection
mcporter list pane --schema

Tools

Financial data (read-only)

get_accounts — List linked accounts with balances

mcporter call pane.get_accounts type=all
mcporter call pane.get_accounts type=checking

get_transactions — Search and filter transactions

mcporter call pane.get_transactions search=Starbucks limit:50
mcporter call pane.get_transactions category=FOOD_AND_DRINK start_date=2026-01-01 end_date=2026-01-31
mcporter call pane.get_transactions account_id=<uuid> min_amount:50

Parameters: account_id (UUID), start_date/end_date (YYYY-MM-DD), category (Plaid category), search (max 200 chars), min_amount/max_amount, limit (1-500, default 50), offset.

get_balances — Current balances with net worth summary (triggers live Plaid refresh)

mcporter call pane.get_balances type=all

Returns per-account balances plus summary: total_cash, total_credit_debt, total_investments, total_loans, total_crypto, net_worth.

get_spending_summary — Spending grouped by category, merchant, week, or month

mcporter call pane.get_spending_summary period=this_month group_by=category
mcporter call pane.get_spending_summary period=last_30d group_by=merchant
mcporter call pane.get_spending_summary start_date=2026-01-01 end_date=2026-01-31 group_by=week

Period shortcuts: last_7d, last_30d, this_week, last_week, this_month, last_month, this_year. Use either period OR start_date+end_date, not both.

get_recurring — Subscriptions, bills, and income streams

mcporter call pane.get_recurring type=all
mcporter call pane.get_recurring type=subscriptions

Returns arrays for subscriptions/bills/income with monthly totals. Frequency conversion: weekly x4.33, biweekly x2.17, monthly x1, annually /12.

get_investments — Investment holdings and portfolio value

mcporter call pane.get_investments
mcporter call pane.get_investments account_id=<uuid>

Cached 15 minutes. Returns holdings with symbol, quantity, currentValue, costBasis.

get_liabilities — Credit, student loan, and mortgage details

mcporter call pane.get_liabilities type=all
mcporter call pane.get_liabilities type=credit

Cached 1 hour. Returns APRs, payment amounts, due dates.

get_crypto — Crypto holdings across exchange accounts and on-chain wallets

mcporter call pane.get_crypto blockchain=all
mcporter call pane.get_crypto wallet_id=<uuid> blockchain=ethereum

Requires crypto feature enabled. Triggers live wallet refresh.

Annotations (read/write)

Annotations are persistent notes attached to transactions, merchants, accounts, or the user's profile. They appear in future tool results automatically.

write_annotation — Save a note

mcporter call pane.write_annotation scope=profile content="Freelancer, budgets $3k/month for essentials"
mcporter call pane.write_annotation scope=merchant target_id=WeWork content="Business expense — coworking"
mcporter call pane.write_annotation scope=account target_id=<uuid> content="Joint account with partner"
mcporter call pane.write_annotation scope=transaction target_id=<uuid> content="Reimbursable expense"

Scopes: profile (no target_id), merchant (case-insensitive name), account (UUID), transaction (UUID). Max 2,000 chars, max 50 per target.

list_annotations — List saved annotations

mcporter call pane.list_annotations
mcporter call pane.list_annotations scope=profile limit:10

delete_annotation — Delete by ID

mcporter call pane.delete_annotation annotation_id=<uuid>

Resources

mcporter call pane.read_resource uri=pane://profile     # Text summary: accounts, net worth, income, model notes
mcporter call pane.read_resource uri=pane://accounts    # JSON list of accounts with names and types
mcporter call pane.read_resource uri=pane://insights    # JSON: net worth breakdown, unusual spending, low balance warnings, upcoming bills

Start with pane://profile for a quick overview, then drill in with tools.

Privacy scopes

Each account has a privacy scope set by the user. The server enforces these automatically:

Scope Balances Transactions Merchants
full Visible Visible Visible
balances_and_redacted Visible Visible "Redacted"
balances_only Visible Hidden Hidden
hidden Hidden Hidden Hidden

If transactions return empty for an account that exists, it's privacy-scoped — not missing data.

Rate limits

30 requests/minute, 1,000/day per user. Prefer get_spending_summary over iterating get_transactions. Read resources first to plan tool calls.

Common patterns

Net worth: get_balances type=all — check summary.net_worth

Monthly spending: get_spending_summary period=this_month group_by=category then group_by=merchant for detail

Subscription audit: get_recurring type=subscriptions — check total_monthly_subscriptions

Transaction search: get_transactions search="merchant name" or category=FOOD_AND_DRINK min_amount:50

Plaid categories: FOOD_AND_DRINK, TRANSPORTATION, ENTERTAINMENT, RENT_AND_UTILITIES, GENERAL_MERCHANDISE, PERSONAL_CARE, TRAVEL, MEDICAL, EDUCATION, INCOME, TRANSFER_IN, TRANSFER_OUT, LOAN_PAYMENTS, BANK_FEES

Notes

  • Amounts: positive = debits (spending), negative = credits (income)
  • Dates: YYYY-MM-DD format, UTC
  • Pagination: limit + offset on get_transactions and list_annotations
  • Errors return isError: true — common: rate limit (wait + retry), subscription inactive (402), crypto not enabled
  • Annotations are persistent and server-side — never store passwords, full account numbers, or secrets in annotation content
  • Prefer --output json for machine-readable results