The Paystack
- Create and manage products in your Paystack store
- Handle customer management (create, list, update, validate)
- Process transactions (initialize, verify, charge authorization)
- Manage authorizations and payments
- Access bank information and country data
- Export transaction data and view transaction totals
Make sure to replace your_paystack_secret_key_here with your actual Paystack secret key.
Installing via Smithery
To install Paystack MCP for Claude Desktop automatically via
npx -y @smithery/cli install @kohasummons/paystack-mcp --client claudenpm install -g @kohasummons/paystack-mcpStart the server by running:
paystack-mcpOr use with npx in your MCP configuration:
{
"mcpServers": {
"paystack-mcp": {
"command": "npx",
"args": [
"-y",
"@kohasummons/paystack-mcp"
],
"env": {
"PAYSTACK_SECRET_KEY": "your_paystack_secret_key_here"
}
}
}
}Using with Claude Desktop
Add the following to your claude_desktop_config.json. See
{
"mcpServers": {
"paystack-mcp": {
"command": "npx",
"args": ["-y", "@kohasummons/paystack-mcp"],
"env": {
"PAYSTACK_SECRET_KEY": "your_paystack_secret_key_here"
}
}
}
}Using with Goose
Copy and paste the link below into a browser address bar to add this extension to goose desktop:
goose://extension?cmd=npx&arg=-y&arg=@kohasummons/paystack-mcp&id=paystack-mcp&name=Paystack%20MCP&description=process%20payments%20with%20Paystack
After installation, set your Paystack secret key in the extension settings.
Using with CLI
Install the package globally:
npm install -g @kohasummons/paystack-mcpSet your Paystack secret key as an environment variable:
export PAYSTACK_SECRET_KEY=your_paystack_secret_key_here # For macOS/Linux
# OR
set PAYSTACK_SECRET_KEY=your_paystack_secret_key_here # For WindowsStart the server by running:
paystack-mcpOr use with NPX directly:
PAYSTACK_SECRET_KEY=your_paystack_secret_key_here npx -y @kohasummons/paystack-mcpUsing with Cursor
Add this to your Cursor MCP configuration:
{
"mcpServers": {
"paystack-mcp": {
"command": "npx",
"args": ["-y", "@kohasummons/paystack-mcp"],
"env": {
"PAYSTACK_SECRET_KEY": "your_paystack_secret_key_here"
}
}
}
}Using with Docker
You can run the Paystack MCP server via Docker:
docker-compose builddocker-compose up -dAdd to your .cursor/mcp.json:
{
"mcpServers": {
"paystack-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"PAYSTACK_SECRET_KEY=your_paystack_secret_key_here",
"kohasummons/paystack-mcp"
]
}
}
}{
"mcpServers": {
"paystack-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"PAYSTACK_SECRET_KEY=your_paystack_secret_key_here",
"kohasummons/paystack-mcp"
]
}
}
}See DOCKER.md for detailed Docker instructions.
| Tool | Description | Example Prompt |
|---|---|---|
| create_product | Create a new product | "Create a new product called 'Premium Plan' with a price of 5000 naira" |
| list_products | List all products | "Show me all the products in my Paystack store" |
| get_product | Get details of a specific product | "Get the details of product ID 12345" |
| update_product | Update an existing product's details | "Update the price of product ID 12345 to 6000 naira" |
| Tool | Description | Example Prompt |
|---|---|---|
| create_customer | Create a new customer | "Create a new customer with email john@example.com" |
| list_customers | List all customers | "Show me all my customers" |
| get_customer | Get details of a specific customer | "Get the details for customer with email john@example.com" |
| update_customer | Update a customer's details | "Update John Doe's phone number to +2341234567890" |
| validate_customer | Validate a customer's identity with their bank account | "Verify customer CUS_123 with their bank account details" |
| set_customer_risk_action | Whitelist or blacklist a customer | "Blacklist customer CUS_123 from making transactions" |
| Tool | Description | Example Prompt |
|---|---|---|
| initialize_transaction | Initialize a payment transaction | "Start a new payment of 5000 naira for customer john@example.com" |
| verify_transaction | Verify the status of a transaction | "Check the status of transaction with reference TR_123456" |
| fetch_transaction | Get details of a transaction | "Get details of transaction ID 12345" |
| list_transactions | List transactions with various filters | "Show me all successful transactions in the last month" |
| charge_authorization | Charge a previously authorized card | "Charge customer john@example.com 5000 naira using their saved card" |
| partial_debit | Charge a partial amount from authorized card | "Charge a partial amount of 3000 naira from john@example.com's saved card" |
| deactivate_authorization | Deactivate a payment authorization | "Remove the saved card with authorization code AUTH_123" |
| transaction_totals | Get total amount received on your account | "What's the total amount received in my account last month?" |
| export_transactions | Export a list of transactions | "Export all my transactions from January 2023" |
| Tool | Description | Example Prompt |
|---|---|---|
| list_banks | Get a list of banks supported by Paystack | "Show me all supported banks in Nigeria" |
| list_countries | Get a list of countries supported by Paystack | "Which countries does Paystack support?" |
| list_states | Get a list of states for a country | "List all states in Nigeria for address verification" |
We welcome contributions to help improve this project and implement the remaining Paystack API endpoints! There are many more Paystack features that could be added as tools, including:
- Payment Pages
- Subaccounts
- Plans
- Subscriptions
- Apple Pay
- Virtual Accounts
- Invoices
- Refunds
- And more!
See CONTRIBUTING.md for detailed instructions on how to contribute, including:
- Setting up your development environment
- Guide for implementing new tools
- Code style guidelines
- Pull request process
To work on this project:
- Clone the repository
- Install dependencies:
npm install - Build the project:
npm run build - Run the Inspector:
npm run dev:debug
You'll need to set up your Paystack secret key as an environment variable:
# Create a .env file in the project root
echo "PAYSTACK_SECRET_KEY=your_paystack_secret_key_here" > .envTo debug your server, you can use the
First build the server
npm run build
Run the following command in your terminal:
# Start MCP Inspector and server
npm run dev:debugAdd your PAYSTACK_SECRET_KEY to the enviroment variable in the Inspector UI. Debug away!
See DOCKER.md for details on building and running with Docker.
MIT