pinelabs-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@pinelabs-mcpcreate a payment link for INR 500"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Pine Labs Payment Gateway MCP Server (Official)
MCP client for Pine Labs payment gateway -- connect Claude Desktop, Cursor, VS Code, and other AI assistants to Pine Labs payment APIs using your client credentials.
Full Documentation | Available Tools | Use Cases | FAQs
Table of Contents
Related MCP server: Flutterwave MCP Server
Prerequisites
Node.js 18+ -- Download or install npm i pinelabs-mcp
Pine Labs Client Credentials -- Get your Client ID and Client Secret from the Pine Labs developer portal
Quick Start
Getting Your Credentials
Sign up or log in to the Pine Labs merchant dashboard provided with your account.
Navigate to your account settings to locate your Client ID and Client Secret.
Use these credentials in the MCP server configuration as shown in the setup instructions above.
Configure and Connect
# 1. Configure your credentials
npx pinelabs-mcp configure --client-id=YOUR_ID --client-secret=YOUR_SECRET
# 2. Test your connection
npx pinelabs-mcp test
# 3. Auto-configure your AI client
npx pinelabs-mcp setup cursor # or: claude-desktop, vscode, windsurf, opencode, copilot, codexThen restart your AI client and start using Pine Labs tools.
CLI Commands
pinelabs-mcp start Start MCP server (stdio mode)
pinelabs-mcp configure Interactive credential setup
pinelabs-mcp configure --client-id=X --client-secret=Y [--env=uat|prod]
pinelabs-mcp test Test connectivity and credentials
pinelabs-mcp setup <client> Auto-configure an AI client
pinelabs-mcp setup <client> --local Use local path (dev mode)
pinelabs-mcp setup <client> --print Preview config without writing
pinelabs-mcp status Show current configuration
pinelabs-mcp help Show help message
pinelabs-mcp --version Show versionSupported AI Clients
Client | Command | Config Path |
Claude Desktop |
| Platform-specific Claude config |
Cursor |
|
|
VS Code |
|
|
Windsurf |
|
|
OpenCode |
|
|
GitHub Copilot |
|
|
OpenAI Codex |
|
|
Manual Configuration
If you prefer to configure manually instead of using npx pinelabs-mcp setup, add the following to your AI client's MCP config:
{
"mcpServers": {
"pinelabs": {
"command": "npx",
"args": ["-y", "pinelabs-mcp"],
"env": {
"PINELABS_CLIENT_ID": "your_client_id",
"PINELABS_CLIENT_SECRET": "your_client_secret"
}
}
}
}Note: VS Code uses
"servers"instead of"mcpServers"as the top-level key. For production environment, add"PINELABS_ENV": "prod"to theenvblock.
Available Tools
The Pine Labs MCP Server exposes 50+ tools across multiple categories. Each tool maps to a specific Pine Labs payment API endpoint.
Tool Type Legend
Each tool below is tagged with a Type indicating its access pattern and operational risk. This helps you reason about which tools are safe in read-only deployments and which require explicit user confirmation in autonomous (agentic) flows.
Type | Meaning | Examples |
Read | Safe, side-effect-free. Fetches or queries data only. Allowed in read-only mode. |
|
Write | Creates or modifies resources. Not destructive but mutates server state. Skipped in read-only mode. |
|
Destructive | Cancels, deletes, refunds, or moves money. Irreversible or financially impactful. Should require explicit user confirmation in agent flows. |
|
Read-only mode: Run the server with
--read-only(or set the equivalent config) to register onlyReadtools and skip allWrite/Destructivetoolsets. Useful for analytics, monitoring, or untrusted agent contexts.
Payment Links
Tool | Type | Description | API Reference |
| Write | Create a new payment link for collecting payments | |
| Read | Fetch a payment link by its payment link ID | |
| Read | Fetch a payment link by its merchant payment link reference | |
| Destructive | Cancel an active payment link | |
| Write | Resend a payment link notification to the customer |
Orders
Tool | Type | Description | API Reference |
| Read | Retrieve order details by order ID | |
| Read | Retrieve order details by merchant order reference | |
| Write | Capture a previously authorized payment against an order | |
| Destructive | Cancel a pre-authorized payment against an order | |
| Read | Fetch all payment attempts associated with an order |
Checkout Orders
Tool | Type | Description | API Reference |
| Write | Create a new checkout order and generate a checkout link |
Card Payments
Tool | Type | Description | API Reference |
| Write | Create a server-to-server card payment against an order | |
| Read | Retrieve card details (BIN, network, type) for a card number |
OTP
Tool | Type | Description | API Reference |
| Write | Generate an OTP for a card payment authentication flow | |
| Write | Submit an OTP to complete a card payment authentication | |
| Write | Resend an OTP for a card payment authentication |
Refunds
Tool | Type | Description | API Reference |
| Destructive | Initiate a full or partial refund against a captured payment |
Settlements
Tool | Type | Description | API Reference |
| Read | Retrieve all settlements for the merchant within a date range | |
| Read | Retrieve a specific settlement by its UTR (Unique Transaction Reference) |
Payouts
Tool | Type | Description | API Reference |
| Destructive | Create a payout to disburse funds to a beneficiary (moves money) | |
| Read | Retrieve details of a payout by payout ID | |
| Read | List payments associated with a payout | |
| Read | Retrieve the available payout balance for the merchant | |
| Write | Update an existing payout request | |
| Destructive | Cancel a pending payout request |
Subscriptions
Tool | Type | Description | API Reference |
| Write | Create a new subscription plan | |
| Read | Retrieve subscription plans | |
| Read | Retrieve a subscription plan by plan ID | |
| Read | Retrieve a plan by merchant plan reference | |
| Write | Update an existing subscription plan | |
| Destructive | Delete a subscription plan | |
| Write | Create a new subscription against a plan | |
| Read | Retrieve subscriptions | |
| Read | Retrieve a subscription by subscription ID | |
| Read | Retrieve a subscription by merchant reference | |
| Write | Pause an active subscription | |
| Write | Resume a paused subscription | |
| Destructive | Cancel an active subscription | |
| Write | Update an existing subscription | |
| Write | Create a presentation (payment request) for a subscription | |
| Read | Retrieve a presentation by presentation ID | |
| Destructive | Delete a presentation | |
| Read | Retrieve all presentations for a subscription | |
| Read | Retrieve a presentation by merchant reference | |
| Write | Send a pre-debit notification for a subscription | |
| Destructive | Execute a debit (payment collection) against a subscription | |
| Write | Retry mandate execution for a failed debit (max 3 retries) |
UPI Payments
Tool | Type | Description | API Reference |
| Write | Create a UPI intent payment with QR code for instant collection |
Reports and Transaction Search
Tool | Type | Description | API Reference |
| Read | Fetch payment link details within a date range | |
| Read | Fetch order details within a date range | |
| Read | Fetch refund order details within a date range | |
| Read | Search for a transaction by transaction ID |
Developer Tools
Tool | Type | Description |
| Read | Fetch Pine Labs API documentation for a specific API |
| Read | List all available Pine Labs (Plural) APIs with descriptions |
| Read | Detect the technology stack of the current project to tailor integration guidance |
| Read | Generate stack-aware code snippets and integration guidance for Pine Labs Checkout |
Merchant Analytics
Tool | Type | Description |
| Read | Fetch transaction success rate for the merchant over a date range |
Use Cases
Payment Gateway Integration: Connect your AI application to the Pine Labs payment gateway to create checkout orders, generate payment links, and process transactions programmatically.
AI-Powered Checkout Flows: Build conversational checkout experiences where AI assistants create orders, generate payment links, and track payment status in real time.
UPI Payment Automation: Generate UPI intent QR codes and process UPI payments through AI-driven interfaces for in-app or point-of-sale collection.
Subscription Lifecycle Management: Automate recurring payment plan creation, subscription activation, pause/resume cycles, debit presentations, and pre-debit notifications.
Agentic Payment Workflows: Build autonomous AI agents that manage end-to-end payment operations -- from order creation through reconciliation -- without manual intervention.
Order Tracking and Reconciliation: Query order details, search transactions by ID, and reconcile payments to verify statuses and resolve disputes.
Payment Analytics and Reporting: Retrieve payment link reports, order summaries, refund details, and merchant success rates over custom date ranges.
Customer Support Automation: Enable support agents or chatbots to look up transactions, check payment statuses, cancel orders, and resend payment notifications.
Remote MCP Server
The Remote MCP Server is hosted and maintained by Pine Labs. Use this approach if you prefer to configure your AI client manually with the remote endpoint instead of using the npm CLI.
Benefits
Zero Setup: No Python, Docker, or local infrastructure to manage
Always Updated: Automatic updates with the latest payment API features and security patches
High Availability: Hosted on Pine Labs production infrastructure
Secure Authentication: Client credential authentication over HTTPS
If you are connecting to a self-hosted remote deployment instead of the
Pine Labs hosted service, replace the remote URL below with
<your-mcp-server-url>.
Prerequisites
npx is required to proxy the remote MCP connection.
Install Node.js (which includes npm and npx):
macOS
brew install nodeWindows
choco install nodejsAlternatively, download from https://nodejs.org/.
Verify Installation
npx --versionUsage with Cursor
Add the following to your Cursor MCP settings:
{
"mcpServers": {
"pinelabs": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.pinelabs.com/mcp",
"--header",
"X-Client-Id:<your-client-id>",
"--header",
"X-Client-Secret:<your-client-secret>"
]
}
}
}Replace <your-client-id> and <your-client-secret> with your Pine Labs credentials. See Authentication for details.
Usage with Claude Desktop
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"pinelabs": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.pinelabs.com/mcp",
"--header",
"X-Client-Id:<your-client-id>",
"--header",
"X-Client-Secret:<your-client-secret>"
]
}
}
}Replace <your-client-id> and <your-client-secret> with your Pine Labs credentials.
Configure MCP servers in Claude Desktop: MCP Quickstart Guide
Install Claude Desktop: Download
Usage with VS Code
Add the following to your VS Code settings (JSON):
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "pinelabs_client_id",
"description": "Pine Labs Client ID"
},
{
"type": "promptString",
"id": "pinelabs_client_secret",
"description": "Pine Labs Client Secret",
"password": true
}
],
"servers": {
"pinelabs": {
"command": "npx",
"args": [
"mcp-remote",
"https://mcp.pinelabs.com/mcp",
"--header",
"X-Client-Id:${input:pinelabs_client_id}",
"--header",
"X-Client-Secret:${input:pinelabs_client_secret}"
]
}
}
}
}Learn more about MCP servers in VS Code's agent mode documentation.
Authentication
The MCP server authenticates using Client ID and Client Secret credentials issued by Pine Labs.
Note: For local deployments, credentials can be passed via CLI arguments or environment variables. For the remote server, credentials are passed as HTTP headers.
Local MCP Server
Deploy the MCP server on your own infrastructure for full control over the runtime environment.
Prerequisites
Python 3.12+
Docker (optional, for containerized deployment)
Git
Install on Windows (Chocolatey)
The fastest way to get the MCP server on a Windows machine is via Chocolatey. The package is a thin wrapper that installs Python 3.10+ as a dependency and then installs pinelabs-mcp-server from PyPI, registering a pinelabs-mcp shim on PATH.
choco install pinelabs-mcpVerify the install:
pinelabs-mcp --helpRun the server over stdio:
pinelabs-mcp stdio --client-id <your-client-id> --client-secret <your-client-secret> --env uatMCP client configuration (Claude Desktop / Cursor / VS Code)
After choco install, point your MCP client at the pinelabs-mcp shim:
{
"mcpServers": {
"pinelabs": {
"command": "pinelabs-mcp",
"args": ["stdio", "--env", "uat"],
"env": {
"PINELABS_CLIENT_ID": "<your-client-id>",
"PINELABS_CLIENT_SECRET": "<your-client-secret>"
}
}
}
}To uninstall:
choco uninstall pinelabs-mcpUsing Public Docker Image (Recommended)
Use the official Pine Labs Docker image directly. No build step required.
Note: To pin a specific version, replace
pinelabs/mcp:latestwithpinelabs/mcp:<version-tag>(e.g.,pinelabs/mcp:v1.0.0) in the configurations below.
Usage with Claude Desktop
Add the following to your claude_desktop_config.json:
{
"mcpServers": {
"pinelabs": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"PINELABS_CLIENT_ID",
"-e",
"PINELABS_CLIENT_SECRET",
"-e",
"PINELABS_ENV",
"pinelabs/mcp:latest"
],
"env": {
"PINELABS_CLIENT_ID": "<your-client-id>",
"PINELABS_CLIENT_SECRET": "<your-client-secret>",
"PINELABS_ENV": "prod"
}
}
}
}Replace <your-client-id> and <your-client-secret> with your Pine Labs credentials.
Configure MCP servers in Claude Desktop: MCP Quickstart Guide
Install Claude Desktop: Download
Usage with VS Code
Add the following to your VS Code settings (JSON):
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "pinelabs_client_id",
"description": "Pine Labs Client ID"
},
{
"type": "promptString",
"id": "pinelabs_client_secret",
"description": "Pine Labs Client Secret",
"password": true
}
],
"servers": {
"pinelabs": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"PINELABS_CLIENT_ID",
"-e",
"PINELABS_CLIENT_SECRET",
"-e",
"PINELABS_ENV=prod",
"pinelabs/mcp:latest"
],
"env": {
"PINELABS_CLIENT_ID": "${input:pinelabs_client_id}",
"PINELABS_CLIENT_SECRET": "${input:pinelabs_client_secret}"
}
}
}
}
}Learn more about MCP servers in VS Code's agent mode documentation.
Usage with Cursor
{
"mcpServers": {
"pinelabs": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"PINELABS_CLIENT_ID",
"-e",
"PINELABS_CLIENT_SECRET",
"-e",
"PINELABS_ENV=prod",
"pinelabs/mcp:latest"
],
"env": {
"PINELABS_CLIENT_ID": "<your-client-id>",
"PINELABS_CLIENT_SECRET": "<your-client-secret>"
}
}
}
}Replace <your-client-id> and <your-client-secret> with your Pine Labs credentials.
Build from Docker (Alternative)
Clone the repository and build the Docker image locally:
git clone https://github.com/plural-pinelabs/pinelabs-online-mcp.git
cd pinelabs-online-mcp
docker build -t pinelabs-mcp-server:latest .Once built, replace pinelabs/mcp:latest with pinelabs-mcp-server:latest in the configurations above.
Build from Source
Run the server directly from source without Docker:
# Clone the repository
git clone https://github.com/plural-pinelabs/pinelabs-online-mcp.git
cd pinelabs-online-mcp
# Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate # macOS/Linux
# .venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt
# Run the server (stdio mode)
python -m cli.pinelabs_mcp_server.main stdio \
--client-id <your-client-id> \
--client-secret <your-client-secret> \
--env prodOnce running, configure your MCP client to connect to the local process. Example for VS Code:
{
"mcp": {
"servers": {
"pinelabs": {
"command": "python",
"args": [
"-m",
"cli.pinelabs_mcp_server.main",
"stdio"
],
"env": {
"PINELABS_CLIENT_ID": "<your-client-id>",
"PINELABS_CLIENT_SECRET": "<your-client-secret>",
"PINELABS_ENV": "prod"
}
}
}
}
}Configuration
Environment Variables
Variable | Required | Default | Description |
| Yes | -- | Pine Labs client ID for API authentication |
| Yes | -- | Pine Labs client secret for API authentication |
| No |
| Target environment: |
| No |
| Log verbosity: |
| No | stderr | Path to log output file |
| No |
| Restrict to read-only tools (disables write operations) |
| No | all | Comma-separated list of toolsets to enable |
Command Line Flags
python -m cli.pinelabs_mcp_server.main <transport> [options]
Transports:
stdio Standard I/O transport (for MCP clients)
http HTTP transport (for web-based access)
Options:
--client-id Pine Labs client ID
--client-secret Pine Labs client secret
--env Environment: uat, prod (default: uat)
--log-file Path to log file
--log-level Log level: DEBUG, INFO, WARNING, ERROR
--read-only Only register read-only tools
--toolsets Comma-separated list of toolsets to enable
HTTP-only options:
--host Host to bind to (default: 0.0.0.0)
--port Port to listen on (default: 8000)Debugging the Server
Use the --log-level DEBUG flag and optionally --log-file to write detailed logs for troubleshooting:
python -m cli.pinelabs_mcp_server.main stdio \
--client-id <ID> --client-secret <SECRET> \
--log-level DEBUG --log-file ./debug.logFAQ
Q: Do I need to provide amounts in paisa?
A: No. Amounts are specified in rupees (e.g., 500 for INR 500). No conversion to paisa is required.
Q: What environments are supported?
A: The server supports uat (default) and prod environments. Set via PINELABS_ENV or --env.
Q: Can I restrict which tools are available?
A: Yes. Use the --read-only flag to disable write operations, or use --toolsets to enable specific toolsets (e.g., --toolsets payment_links,orders).
Q: Where can I find the full API reference? A: Visit the Pine Labs Developer Documentation for the complete API reference.
Keywords
Pine Labs, Pine Labs Online, Plural, Plural Online, payment gateway, online payment gateway, checkout gateway, payment checkout, online checkout, hosted checkout, payment page, payments, online payments, digital payments, payment processing, accept payments, collect payments, payment integration, gateway integration, payments API, payment API, checkout API, gateway API, UPI, cards, credit card, debit card, netbanking, wallet, EMI, cardless EMI, subscriptions, recurring payments, orders, order payments, create payment, initiate payment, process payment, payment links, MCP server, Model Context Protocol, AI payment automation, agentic payments, QR code payments, payment orchestration, merchant API, transaction reporting, fintech, SDK
License
This project is licensed under the Apache 2.0 license. See LICENSE for the full terms.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/plural-pinelabs/pinelabs-online-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server