Open Net Worth
Open Net Worth is an open-source personal AI wealth assistant you run yourself: one ledger for your whole financial life, worked by an AI agent you control.
翻訳待ち
Let your agents spend on your behalf. Your payment credentials are never exposed. You approve every purchase.
翻訳待ち
Loading the full README. The saved excerpt is shown below.
Link CLI lets agents get secure, one-time-use payment credentials from a Link wallet to complete purchases on your behalf — without storing your real card details.
The CLI can produce one of three credential types:Read the full README ↗Link CLI lets agents get secure payment credentials from a Link wallet for one-time purchases and recurring payments — without storing your real card details.
The CLI can produce one of three credential types:
For now, this is only available to US and Canadian Link accounts.
Documentation:
[!TIP] If you're looking to integrate the Link CLI into your product or agent for consumers to pay with, be sure to look at Integrating into your agent.
npm i -g @stripe/link-cli
Agent and plugin integrations, including the MCP server, run the installed link-cli binary. They intentionally never download or resolve packages at startup, so install the CLI first.
Install the skills:
npx skills add stripe/link-cli
By default when called from an agent (non-TTY), all commands use toon output — a compact, LLM-friendly text format. All commands accept --format [format] for structured output. Other formats: json, yaml, md, jsonl.
List available commands:
link-cli --llms-full
Get a command's full schema with --schema. Example:
link-cli spend-request create --schema
Link CLI can run as a local MCP server. Add the following to your MCP client config (.mcp.json, etc.)
{
"mcpServers": {
"link": {
"command": "link-cli",
"args": ["--mcp"]
}
}
}
Alternatively, use serve to expose link-cli as an MCP endpoint over HTTP.
link-cli serve # binds 127.0.0.1:54321 (loopback only)
link-cli serve --port 8080
link-cli serve --host 0.0.0.0 # expose beyond localhost (see warning below)
link-cli serve --allow-origin http://localhost:3000 # trust a specific browser app
The server handles POST /mcp and GET skill discovery at /.well-known/skills/index.json and /.well-known/skills/{skill-name}/SKILL.md, with OPTIONS preflight support. Other paths return 404, unsupported methods return 405, and malformed or ambiguous request paths return 400. It binds to 127.0.0.1 by default so only the local host can reach it. Anyone who can reach the port can use this CLI's authenticated Link session, so only override --host on a trusted, isolated network — doing so prints a warning.
A browser attaches an Origin header; MCP clients and curl do not. Because any JavaScript on any http://localhost:* page the user visits would satisfy a bare "loopback origin" check without being the authenticated CLI owner, serve rejects every browser Origin by default (403, no CORS header) and validates the Host header against loopback to block DNS rebinding. Requests without an Origin (ordinary MCP clients) are unaffected. To integrate a browser app you control, allow its exact origin with --allow-origin (repeatable); only that origin is reflected in Access-Control-Allow-Origin.
Run a guided onboarding and demo flow:
link-cli onboard
The link-cli requires a Link account. You can log in to your existing one or create one online.
link-cli auth login
You receive a verification URL and a short phrase. Visit the URL, log in to your Link account, and enter the phrase to approve the connection.
By default, login requests the userinfo:read and payment_methods.agentic
scopes plus the four financial-insights source actions. To leave out financial
data access, use --no-financial-insights; to leave out payment access, use
--no-agentic-payments.
link-cli user-info retrieve --format json
In addition to identity fields, the response can include the user's address, balance eligibility, spend limits, and verification requirements:
{
"email": "[email protected]",
"name": "Jane Doe",
"address": {
"line1": "510 Townsend St",
"line2": null,
"city": "San Francisco",
"state": "CA",
"postal_code": "94103",
"country": "US"
},
"eligible_for_balance": true,
"agent_wallet_spend_limits": {
"per_transaction": { "limit": 50000 },
"daily": { "limit": 500000, "used": 120000, "remaining": 380000 },
"thirty_day": { "limit": null, "used": 600000, "remaining": null }
},
"agent_wallet_verification_requirement": {
"status": "identity_verification",
"action_url": "https://app.link.com/finish_setup?verify=identity_verification&intended_email=jane%40example.com&fromEmail=jane%40example.com"
}
}
This is the beginning of the README. Read the rest at the original. Read the full README ↗