@striderlabs/mcp-venmo
v0.1.0
Published
MCP server connector for Venmo payments — send/receive money, check balance, manage friends, and view transactions via browser automation
Maintainers
Readme
@striderlabs/mcp-venmo
MCP server connector for Venmo payments — lets AI agents send and receive money, check balances, manage friends, view transaction history, and transfer funds to a bank account via browser automation.
Installation
npm install @striderlabs/mcp-venmoConfiguration
Add to your MCP client configuration (e.g. Claude Desktop ~/.claude/claude_desktop_config.json):
{
"mcpServers": {
"venmo": {
"command": "npx",
"args": ["@striderlabs/mcp-venmo"],
"env": {
"VENMO_USERNAME": "your-email-or-phone",
"VENMO_PASSWORD": "your-password"
}
}
}
}Credentials can also be passed directly to venmo_login without environment variables.
Available Tools
| Tool | Description |
|------|-------------|
| venmo_login | Authenticate with Venmo account |
| venmo_get_balance | Check current Venmo balance |
| venmo_send_payment | Send money to a user |
| venmo_request_payment | Request money from a user |
| venmo_get_transactions | View transaction history |
| venmo_get_friends | List Venmo friends |
| venmo_search_users | Search for users by name/username |
| venmo_add_friend | Send a friend request |
| venmo_accept_request | Accept a pending payment request |
| venmo_decline_request | Decline a pending payment request |
| venmo_transfer_to_bank | Transfer balance to linked bank account |
| venmo_get_cards | View linked cards and bank accounts |
| venmo_get_notifications | View pending requests and notifications |
Example Usage
// Log in (or use env vars — no args needed if set)
await client.call("venmo_login", {
username: "[email protected]",
password: "hunter2"
});
// Check balance
const { balance } = await client.call("venmo_get_balance", {});
console.log(balance); // "$42.50"
// Send money
await client.call("venmo_send_payment", {
recipient: "janedoe",
amount: 15.00,
note: "lunch split",
audience: "private"
});
// Request money
await client.call("venmo_request_payment", {
recipient: "johndoe",
amount: 20.00,
note: "concert tickets"
});
// View recent transactions
const { transactions } = await client.call("venmo_get_transactions", { limit: 10 });
// Search for a user
const { users } = await client.call("venmo_search_users", { query: "Jane Doe" });
// Add a friend
await client.call("venmo_add_friend", { username: "janedoe" });
// View pending requests
const { pendingRequests } = await client.call("venmo_get_notifications", {});
// Accept a request
await client.call("venmo_accept_request", { requestId: pendingRequests[0].id });
// Transfer to bank
await client.call("venmo_transfer_to_bank", {
amount: 50.00,
transferSpeed: "standard"
});
// View linked payment methods
const { paymentMethods } = await client.call("venmo_get_cards", {});How It Works
This connector uses Playwright to automate the Venmo web application (venmo.com). It launches a headless Chromium browser, logs in with your credentials, and interacts with the Venmo UI to perform operations.
A single browser session is maintained across tool calls — you only need to call venmo_login once per session.
Environment Variables
| Variable | Description |
|----------|-------------|
| VENMO_USERNAME | Your Venmo username, email, or phone number |
| VENMO_PASSWORD | Your Venmo password |
Security Notes
- Credentials are only used to authenticate with venmo.com and are never transmitted elsewhere.
- The browser session runs locally on your machine.
- Use a dedicated Venmo account or enable 2FA carefully — automated logins may trigger security prompts.
Requirements
- Node.js 18+
- Playwright Chromium (installed automatically with
npm install)
After installing, run npx playwright install chromium if the browser isn't downloaded automatically.
License
MIT — Strider Labs
