Model Context Protocol - Dwolla Developer Portal
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
The Dwolla Model Context Protocol (MCP) Server enables AI agents to retrieve and analyze data from the Dwolla payment platform using natural language. It provides read-only access to inspect accounts, analyze transfer history, monitor customer data, and generate insights from your payment operations. Unlike a traditional REST API, the MCP Server is designed for AI inference, allowing you to ask questions and get insights from your Dwolla data conversationally.
Use Cases
Leverage the MCP Server to build AI-powered workflows for various business needs:
Customer Support & Operations
Quickly investigate customer issues and transfer failures.
- “Find all failed transfers for customer
jane.doe@example.comand explain why they failed.” - “Show me customer details for customer ID
62c3aa1b-3a1b-46d0-ae90-17304d60c3d5.”
Financial Reconciliation & Reporting
Automate reconciliation and reporting tasks.
- “Calculate total transfer volume for last quarter.”
- “Show me all pending transfers over $5,000 this week.”
Compliance & Risk Management
Monitor for suspicious activity and ensure regulatory compliance.
- “List all customers missing required beneficial ownership information.”
- “Identify customers with multiple failed transfers this month.”
Business Intelligence & Analytics
Gain insights into payment patterns and customer behavior.
- “What’s the average transfer amount by customer segment?”
- “Which funding source types have the highest failure rates?”
Getting Started
Follow these steps to set up and run the Dwolla MCP Server.
Prerequisites
Before you begin, ensure you have the following:
- Node.js v18+ and npm: The server is a Node.js application.
- Dwolla Account: You’ll need a Dwolla account to generate API credentials. A Sandbox Account is recommended for development.
- Access Token: An access token from your Dwolla application is required for authentication.
Setup and Configuration
Generate an Access Token
All access tokens are short-lived and expire after one hour. The primary way to generate a token is to programmatically exchange your application’s key and secret. This method works for both Sandbox and Production.Choose Your Environment You must specify which Dwolla environment the MCP server should interact with. Use the
--server-urlargument when starting the server.- Sandbox (Recommended for testing):
--server-url https://api-sandbox.dwolla.com - Production (Live data):
--server-url https://api.dwolla.com
- Sandbox (Recommended for testing):
Install and Run the Server You can run the server directly using
npx, or install it in your preferred AI-powered development tool.
Recommended: Install the MCP server as a Desktop Extension using the pre-built mcp-server.dxt file.
- Download the
mcp-server.dxtfile from the GitHub repo. - Drag and drop the
mcp-server.dxtfile onto Claude Desktop to install the extension. - The DXT package includes the MCP server and all necessary configuration.
If you prefer to run from source or the DXT method doesn’t work, you can run the MCP server locally by cloning this repository.
git clone https://github.com/dwolla/dwolla-mcp.git
cd dwolla-mcp
npm install
npm run build
Available Operations (Tools)
The MCP Server exposes functionalities as “tools” that an AI agent can discover and invoke.
Read-Only Operations: All tools provided by this server are for data retrieval and analysis only. Creating, updating, or deleting data (e.g., initiating transfers or creating customers) is not currently supported.
Here is a summary of available tool categories:
- Account Operations: Retrieve account details, funding sources, transfers, etc.
- Customer Management: List, search, and get details for customers and their associated resources.
- Transfer Operations: Get details for specific transfers and their fees or failure reasons.
- Mass Payment Operations: Retrieve details about mass payments and their individual items.
- Funding Source Operations: Get details for specific funding sources, including balance or micro-deposit status.
- Compliance & Documents: Access documents and information related to beneficial ownership and KBA.
- Exchange Operations: Retrieve details about exchanges, partners, and sessions.
- Labels & Ledger: Manage and query labels and ledger entries.
- Webhooks & Events: Get details about webhooks, subscriptions, and events.
- Reference Data: List business classifications.
Using with AI Agents
You can interact with the Dwolla MCP server through integrated AI-powered clients like Cursor, Claude, Windsurf, VS Code etc., which provide a conversational interface to your data. For developers who want to build their own custom AI applications or agents, using frameworks like LangChain or Semantic Kernel is recommended. These frameworks simplify development by handling tool discovery, context management, and the underlying communication protocol.
Example Workflow: Investigating Failed Payments
Here’s how an AI-powered workflow with the MCP server can drastically reduce investigation time.
Scenario: A support agent needs to understand a recent spike in failed payments.
Traditional Process (Manual)
- Log into multiple dashboards.
- Manually look up customer and transfer data.
- Cross-reference failure codes with documentation.
- Potentially escalate to engineering for database queries.
Time: ~45 minutes 🐢
AI-Powered Process (with MCP)
- Ask the AI agent: “We’re seeing more transfer failures lately. Can you investigate?”
- The agent uses the MCP server to analyze recent transfers, group them by failure reason, and identify patterns.
- The agent provides a concise summary with actionable insights.
Time: ~5 minutes 🚀
Troubleshooting
If you encounter issues, refer to the detailed troubleshooting section in the README on GitHub. Here are some common solutions:
- Invalid Access Token: Ensure your token is correct, has not expired, and matches the selected environment (Sandbox vs. Production).
- Node.js Version: Verify you are using Node.js v18 or higher (
node --version). - NPM Cache: Try clearing the npm cache with
npm cache clean --force.
For contributing or running from source:
# Clone the repository
git clone https://github.com/dwolla/dwolla-mcp.git
cd dwolla-mcp
# Install dependencies
npm install
# Build the project
npm run build
# Run with your access token
node bin/mcp-server.js start --bearer-auth "your_token_here" --server-url https://api-sandbox.dwolla.com
Run the following command, replacing your_token_here with your bearer token.
npx @dwolla/mcp-server start \
--bearer-auth your_token_here \
--server-url https://api-sandbox.dwolla.com
For a full list of server arguments, run npx @dwolla/mcp-server start --help.