Beta Release: This MCP server is currently in beta. While core operations are functional, breaking changes may occur. It is suitable for development and testing, but please use with appropriate caution in production environments.
GitHub Repository
View the full README, report issues, and explore the source code on GitHub.
MCP Protocol
Learn more about the Model Context Protocol that powers this server.
Use Cases
Leverage the MCP Server to build AI-powered workflows for various business needs:Customer Support & Operations
Customer Support & Operations
Quickly investigate customer issues and transfer failures.
- “Find all failed transfers for customer
jane.doe@example.com
and explain why they failed.” - “Show me customer details for customer ID
62c3aa1b-3a1b-46d0-ae90-17304d60c3d5
.”
Financial Reconciliation & Reporting
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
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
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
1
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. For full details, see our API reference on creating an application access token.For convenience during development, the Sandbox environment also allows you to generate a token directly from the Applications tab in the Sandbox Dashboard.
Treat your application key, secret, and tokens like passwords. Do not commit them to version control. Use environment variables or a secret manager.
2
Choose Your Environment
You must specify which Dwolla environment the MCP server should interact with. Use the
--server-url
argument when starting the server.- Sandbox (Recommended for testing):
--server-url https://api-sandbox.dwolla.com
- Production (Live data):
--server-url https://api.dwolla.com
3
Install and Run the Server
You can run the server directly using
npx
, or install it in your preferred AI-powered development tool.- Claude Desktop (DXT)
- Claude Desktop (Local Build)
- Cursor
- VS Code
- Local Development
- Terminal / CLI
Recommended: Install the MCP server as a Desktop Extension using the pre-built
mcp-server.dxt
file.- Download the
mcp-server.dxt
file from the GitHub repo. - Simply drag and drop the
mcp-server.dxt
file onto Claude Desktop to install the extension. - The DXT package includes the MCP server and all necessary configuration. Once installed, the server will be available without additional setup.
DXT (Desktop Extensions) provide a streamlined way to package and distribute MCP servers. Learn more about Desktop Extensions.
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.
- 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.
When using an AI agent framework, it will automatically discover the available tools from the server. You can then ask the agent to list the tools it has available.
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. In our testing, Claude Pro has been particularly effective at using natural language prompts to access information from the Dwolla API via the MCP tools. For developers who want to build their own custom AI applications or agents that communicate with the MCP server, using a framework 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.
- 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.
Troubleshooting
If you encounter issues, refer to the detailed troubleshooting section in the README on GitHub. Here are some common solutions:MCP Server Not Connecting
MCP Server Not Connecting
- 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
.
Client-Specific Issues
Client-Specific Issues
- Restart the Client: After making configuration changes in Cursor, or another client, a restart is often required.
- Check Configuration: Double-check your JSON configuration for syntax errors.
Advanced Troubleshooting
Advanced Troubleshooting
- Validate Token with cURL: Test your token directly against the API.
- Use MCP Inspector: Test your server setup with the official MCP Inspector tool. See the
README
for instructions.