paystack-mcp
Enables AI agents to manage Paystack payments, products, customers, and transactions through natural language.
README
Paystack MCP Server
The Paystack Model Context Protocol (MCP) server allows AI agents to interact with Paystack through standardized MCP clients via tool calling. This protocol supports various tools to interact with different Paystack services.
Features
- 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
Setup
Make sure to replace your_paystack_secret_key_here with your actual Paystack secret key.
<details> <summary> Installing via Smithery</summary>
To install Paystack MCP for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @kohasummons/paystack-mcp --client claude
Manual Installation
npm install -g @kohasummons/paystack-mcp
Usage
Start the server by running:
paystack-mcp
Or 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"
}
}
}
}
</details>
<details>
<summary> Using with Claude Desktop</summary>
Add the following to your claude_desktop_config.json. See here for more details.
{
"mcpServers": {
"paystack-mcp": {
"command": "npx",
"args": ["-y", "@kohasummons/paystack-mcp"],
"env": {
"PAYSTACK_SECRET_KEY": "your_paystack_secret_key_here"
}
}
}
}
</details>
<details>
<summary> Using with Goose</summary>
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.
</details>
<details> <summary> Using with CLI</summary>
Install the package globally:
npm install -g @kohasummons/paystack-mcp
Set 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 Windows
Start the server by running:
paystack-mcp
Or use with NPX directly:
PAYSTACK_SECRET_KEY=your_paystack_secret_key_here npx -y @kohasummons/paystack-mcp
</details>
<details> <summary> Using with Cursor</summary>
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"
}
}
}
}
</details>
<details> <summary> Using with Docker</summary>
You can run the Paystack MCP server via Docker:
Build the image
docker-compose build
Run as a standalone server
docker-compose up -d
Use with Cursor
Add 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"
]
}
}
}
Use with Claude Desktop
{
"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. </details>
Tools
Products
| 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" |
Customers
| 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" |
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" |
Banking Information
| 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" |
Contributing
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
Development
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" > .env
Debugging
To debug your server, you can use the MCP Inspector.
First build the server
npm run build
Run the following command in your terminal:
# Start MCP Inspector and server
npm run dev:debug
Add your PAYSTACK_SECRET_KEY to the enviroment variable in the Inspector UI. Debug away!
Docker Support
See DOCKER.md for details on building and running with Docker.
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.
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.
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.
E2B
Using MCP to run code via e2b.
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.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.