PayFast MCP Server
Enables AI assistants to interact with the PayFast payment gateway to manage transactions, subscriptions, and refunds. It provides a suite of 13 tools with built-in human-in-the-loop safety confirmations for high-risk financial operations.
README
payfast-mcp
A Model Context Protocol (MCP) server for PayFast, South Africa's leading payment gateway. Enables AI assistants like Claude to securely interact with your PayFast merchant account.
Features
- Transaction management — fetch transaction details, query history, process tokenized charges
- Subscription management — fetch, pause, unpause, cancel, update, and ad-hoc charge subscriptions
- Refund processing — create refunds (full or partial) and query refund status
- Credit card queries — look up credit card transaction details
- Sandbox support — defaults to sandbox mode for safe testing
- Secure by design — credentials via environment variables only, sensitive data never logged
Available Tools
| Tool | Description | Risk |
|---|---|---|
ping |
Test API connectivity | Low |
transaction_fetch |
Get transaction by ID | Low |
transaction_history |
Query transaction history | Low |
transaction_charge |
Charge a stored token | Medium |
subscription_fetch |
Get subscription details | Low |
subscription_pause |
Pause a subscription | High |
subscription_unpause |
Resume a subscription | Medium |
subscription_cancel |
Cancel a subscription | High |
subscription_update |
Update subscription terms | High |
subscription_adhoc |
Ad-hoc subscription charge | High |
refund_create |
Process a refund | High |
refund_fetch |
Get refund details | Low |
creditcard_fetch |
Query card transaction | Low |
High-risk operations require human approval before execution.
Quick Start
Prerequisites
- Node.js 18+
- A PayFast merchant account (sandbox or production)
Installation
npm install -g payfast-mcp
Or run directly with npx:
npx payfast-mcp
Configuration
Set the following environment variables:
| Variable | Required | Description |
|---|---|---|
PAYFAST_MERCHANT_ID |
Yes | Your PayFast Merchant ID |
PAYFAST_MERCHANT_KEY |
Yes | Your PayFast Merchant Key |
PAYFAST_PASSPHRASE |
Yes | Your PayFast API Passphrase |
PAYFAST_ENVIRONMENT |
No | sandbox (default) or production |
You can also create a .env file in your working directory.
Claude Desktop
Add to your Claude Desktop config (claude_desktop_config.json):
{
"mcpServers": {
"payfast": {
"command": "npx",
"args": ["-y", "payfast-mcp"],
"env": {
"PAYFAST_MERCHANT_ID": "your-merchant-id",
"PAYFAST_MERCHANT_KEY": "your-merchant-key",
"PAYFAST_PASSPHRASE": "your-passphrase",
"PAYFAST_ENVIRONMENT": "sandbox"
}
}
}
}
Claude Code
Add to your Claude Code settings:
claude mcp add payfast \
-e PAYFAST_MERCHANT_ID=your-merchant-id \
-e PAYFAST_MERCHANT_KEY=your-merchant-key \
-e PAYFAST_PASSPHRASE=your-passphrase \
-e PAYFAST_ENVIRONMENT=sandbox \
-- npx -y payfast-mcp
Cursor
Add to your Cursor MCP config (.cursor/mcp.json for project-level, or ~/.cursor/mcp.json for global):
{
"mcpServers": {
"payfast": {
"command": "npx",
"args": ["-y", "payfast-mcp"],
"env": {
"PAYFAST_MERCHANT_ID": "your-merchant-id",
"PAYFAST_MERCHANT_KEY": "your-merchant-key",
"PAYFAST_PASSPHRASE": "your-passphrase",
"PAYFAST_ENVIRONMENT": "sandbox"
}
}
}
}
Codex
Add via the Codex CLI:
codex mcp add payfast \
--env PAYFAST_MERCHANT_ID=your-merchant-id \
--env PAYFAST_MERCHANT_KEY=your-merchant-key \
--env PAYFAST_PASSPHRASE=your-passphrase \
--env PAYFAST_ENVIRONMENT=sandbox \
-- npx -y payfast-mcp
Or add directly to ~/.codex/config.toml:
[mcp_servers.payfast]
command = "npx"
args = ["-y", "payfast-mcp"]
[mcp_servers.payfast.env]
PAYFAST_MERCHANT_ID = "your-merchant-id"
PAYFAST_MERCHANT_KEY = "your-merchant-key"
PAYFAST_PASSPHRASE = "your-passphrase"
PAYFAST_ENVIRONMENT = "sandbox"
Development
# Clone the repo
git clone https://github.com/jpbester/payfast-mcp.git
cd payfast-mcp
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Run with MCP Inspector
npm run inspect
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.