PineLabs Plural PG — Payment Gateway MCP Server

io.github.plural-pinelabsPublished by GitHub account plural-pinelabsv0.1.3Updated Oct 24, 2026

Create payment orders, checkout, subscriptions & UPI via PineLabs Plural PG gateway

VerifiedStreamable HTTPWeb executableFinanceBusiness & Commerce

Overview

AI-generated overview

Official Pine Labs MCP server that lets an assistant create and manage payment orders, payment links, subscriptions, UPI intents, refunds and payouts through a

What you can do
Create and manage payment links and checkout orders, including capturing, cancelling and resending notifications to customers. Look up orders, payments, card details and transactions, and search transactions by ID. Handle refunds, settlements and payouts, including creating payouts that move money. Manage subscription plans, subscriptions and presentations, with pause, resume, cancel and debit actions. Generate UPI intent payments with QR codes and retrieve merchant success-rate analytics. Read Pine Labs API documentation and generate stack-aware checkout integration guidance.
When to use it
Useful when an assistant needs to work with a Pine Labs merchant account: building checkout or payment-link flows, managing recurring subscriptions, reconciling orders and settlements, or running payment analytics. Read-only mode suits monitoring or untrusted agent contexts.
Requirements
A Pine Labs merchant account with a Client ID and Client Secret. Remote endpoint: Node.js and npx to proxy the connection, credentials sent as X-Client-Id and X-Client-Secret headers. Local: Node.js 18+ via npx, or Python 3.12+ / Docker, with PINELABS_CLIENT_ID and PINELABS_CLIENT_SECRET; PINELABS_ENV selects uat (default) or prod. Network access to Pine Labs APIs.
Before you install
Credentials are secrets: PINELABS_CLIENT_ID, PINELABS_CLIENT_SECRET, X-Client-Id and X-Client-Secret. Many tools write or move money: create_order, create_payment_link, create_refund, create_payout, create_debit, cancel_order and cancel_subscription are irreversible or financially impactful and should need explicit confirmation. PINELABS_ENV defaults to uat; setting prod acts on live payments. Use --read-only or --toolsets to limit exposure.

Installation

In SourceWeft

  1. Open PineLabs Plural PG — Payment Gateway MCP Server in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.plural-pinelabs%2Fpinelabs-online-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "pinelabs-plural-pg-payment-gateway": {
      "type": "http",
      "url": "https://mcp.pinelabs.com/mcp"
    }
  }
}

README

Pine Labs Payment Gateway MCP Server (Official)

[npm package]

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


Prerequisites


Quick Start

Getting Your Credentials

  1. Sign up or log in to the Pine Labs merchant dashboard provided with your account.
  2. Navigate to your account settings to locate your Client ID and Client Secret.
  3. Use these credentials in the MCP server configuration as shown in the setup instructions above.

Configure and Connect

bash
# 1. Configure your credentialsnpx pinelabs-mcp configure --client-id=YOUR_ID --client-secret=YOUR_SECRET
# 2. Test your connectionnpx pinelabs-mcp test
# 3. Auto-configure your AI clientnpx pinelabs-mcp setup cursor       # or: claude-desktop, vscode, windsurf, opencode, copilot, codex

Then 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 setuppinelabs-mcp configure --client-id=X --client-secret=Y [--env=uat|prod]pinelabs-mcp test                              Test connectivity and credentialspinelabs-mcp setup <client>                    Auto-configure an AI clientpinelabs-mcp setup <client> --local            Use local path (dev mode)pinelabs-mcp setup <client> --print            Preview config without writingpinelabs-mcp status                            Show current configurationpinelabs-mcp help                              Show help messagepinelabs-mcp --version                         Show version

Supported AI Clients

ClientCommandConfig Path
Claude Desktopsetup claude-desktopPlatform-specific Claude config
Cursorsetup cursor~/.cursor/mcp.json
VS Codesetup vscode.vscode/mcp.json (project)
Windsurfsetup windsurf~/.codeium/windsurf/mcp_config.json
OpenCodesetup opencode.opencode/config.json (project)
GitHub Copilotsetup copilot~/.copilot/mcp-config.json
OpenAI Codexsetup codex.codex/config.toml

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:

json
{  "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 the env block.


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.

TypeMeaningExamples
ReadSafe, side-effect-free. Fetches or queries data only. Allowed in read-only mode.get_order_by_order_id, get_all_settlements, list_plural_apis
WriteCreates or modifies resources. Not destructive but mutates server state. Skipped in read-only mode.create_payment_link, create_order, update_plan
DestructiveCancels, deletes, refunds, or moves money. Irreversible or financially impactful. Should require explicit user confirmation in agent flows.cancel_order, create_refund, create_payout, delete_plan

Read-only mode: Run the server with --read-only (or set the equivalent config) to register only Read tools and skip all Write / Destructive toolsets. Useful for analytics, monitoring, or untrusted agent contexts.

Payment Links

ToolTypeDescriptionAPI Reference
create_payment_linkWriteCreate a new payment link for collecting paymentsPayment Link - Create
get_payment_link_by_idReadFetch a payment link by its payment link IDPayment Link - Get by ID
get_payment_link_by_merchant_referenceReadFetch a payment link by its merchant payment link referencePayment Link - Get by Reference
cancel_payment_linkDestructiveCancel an active payment linkPayment Link - Cancel
resend_payment_link_notificationWriteResend a payment link notification to the customerPayment Link - Resend

Orders

ToolTypeDescriptionAPI Reference
get_order_by_order_idReadRetrieve order details by order IDOrder - Get by ID
get_order_by_merchant_order_referenceReadRetrieve order details by merchant order referenceOrder - Get by Merchant Reference
capture_orderWriteCapture a previously authorized payment against an orderOrder - Capture
cancel_orderDestructiveCancel a pre-authorized payment against an orderOrder - Cancel
fetch_order_paymentsReadFetch all payment attempts associated with an orderOrder - Get Payments

Checkout Orders

ToolTypeDescriptionAPI Reference
create_orderWriteCreate a new checkout order and generate a checkout linkOrder - Create

Card Payments

ToolTypeDescriptionAPI Reference
create_card_paymentWriteCreate a server-to-server card payment against an orderCard Payment - Create
get_card_detailsReadRetrieve card details (BIN, network, type) for a card numberCard Details - Get

OTP

ToolTypeDescriptionAPI Reference
generate_otpWriteGenerate an OTP for a card payment authentication flowOTP - Generate
submit_otpWriteSubmit an OTP to complete a card payment authenticationOTP - Submit
resend_otpWriteResend an OTP for a card payment authenticationOTP - Resend

Refunds

ToolTypeDescriptionAPI Reference
create_refundDestructiveInitiate a full or partial refund against a captured paymentRefund - Create

Settlements

ToolTypeDescriptionAPI Reference
get_all_settlementsReadRetrieve all settlements for the merchant within a date rangeSettlements - Get All
get_settlement_by_utrReadRetrieve a specific settlement by its UTR (Unique Transaction Reference)Settlement - Get by UTR

Payouts

ToolTypeDescriptionAPI Reference
create_payoutDestructiveCreate a payout to disburse funds to a beneficiary (moves money)Payout - Create
get_payout_detailsReadRetrieve details of a payout by payout IDPayout - Get
get_payout_paymentsReadList payments associated with a payoutPayout - Get Payments
get_payout_balanceReadRetrieve the available payout balance for the merchantPayout - Get Balance
update_payoutWriteUpdate an existing payout requestPayout - Update
cancel_payoutDestructiveCancel a pending payout requestPayout - Cancel

Subscriptions

ToolTypeDescriptionAPI Reference
create_planWriteCreate a new subscription planPlan - Create
get_plansReadRetrieve subscription plansPlan - Get All
get_plan_by_idReadRetrieve a subscription plan by plan IDPlan - Get Specific
get_plan_by_merchant_referenceReadRetrieve a plan by merchant plan referencePlan - Get Specific
update_planWriteUpdate an existing subscription planPlan - Update
delete_planDestructiveDelete a subscription planPlan - Delete
create_subscriptionWriteCreate a new subscription against a planSubscription - Create
get_subscriptionsReadRetrieve subscriptionsSubscription - Get All
get_subscription_by_idReadRetrieve a subscription by subscription IDSubscription - Get Specific
get_subscription_by_merchant_referenceReadRetrieve a subscription by merchant referenceSubscription - Get Specific
pause_subscriptionWritePause an active subscriptionSubscription - Pause
resume_subscriptionWriteResume a paused subscriptionSubscription - Resume
cancel_subscriptionDestructiveCancel an active subscriptionSubscription - Cancel
update_subscriptionWriteUpdate an existing subscriptionSubscription - Update
create_presentationWriteCreate a presentation (payment request) for a subscriptionPresentation - Create
get_presentationReadRetrieve a presentation by presentation IDPresentation - Get
delete_presentationDestructiveDelete a presentationPresentation - Delete
get_presentations_by_subscription_idReadRetrieve all presentations for a subscriptionPresentation - Get by Subscription
get_presentation_by_merchant_referenceReadRetrieve a presentation by merchant referencePresentation - Get
send_subscription_notificationWriteSend a pre-debit notification for a subscriptionPresentation - Create
create_debitDestructiveExecute a debit (payment collection) against a subscriptionPresentation - Create
create_merchant_retryWriteRetry mandate execution for a failed debit (max 3 retries)Merchant Retry

UPI Payments

ToolTypeDescriptionAPI Reference
create_upi_intent_payment_with_qrWriteCreate a UPI intent payment with QR code for instant collectionUPI Intent QR

Reports and Transaction Search

ToolTypeDescriptionAPI Reference
get_payment_link_detailsReadFetch payment link details within a date rangeAPI Docs
get_order_detailsReadFetch order details within a date rangeAPI Docs
get_refund_order_detailsReadFetch refund order details within a date rangeAPI Docs
search_transactionReadSearch for a transaction by transaction IDAPI Docs

Developer Tools

ToolTypeDescription
get_api_documentationReadFetch Pine Labs API documentation for a specific API
list_plural_apisReadList all available Pine Labs (Plural) APIs with descriptions
detect_stackReadDetect the technology stack of the current project to tailor integration guidance
integrate_pinelabs_checkoutReadGenerate stack-aware code snippets and integration guidance for Pine Labs Checkout

Merchant Analytics

ToolTypeDescription
get_merchant_success_rateReadFetch 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
bash
brew install node
Windows
bash
choco install nodejs

Alternatively, download from https://nodejs.org/.

Verify Installation
bash
npx --version

Usage with Cursor

Add the following to your Cursor MCP settings:

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. See Authentication for details.

Usage with Claude Desktop

Add the following to your claude_desktop_config.json:

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.

Usage with VS Code

Add the following to your VS Code settings (JSON):

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.

powershell
choco install pinelabs-mcp

Verify the install:

powershell
pinelabs-mcp --help

Run the server over stdio:

powershell
pinelabs-mcp stdio --client-id <your-client-id> --client-secret <your-client-secret> --env uat
MCP client configuration (Claude Desktop / Cursor / VS Code)

After choco install, point your MCP client at the pinelabs-mcp shim:

json
{  "mcpServers": {    "pinelabs": {      "command": "pinelabs-mcp",      "args": ["stdio", "--env", "uat"],      "env": {        "PINELABS_CLIENT_ID": "<your-client-id>",        "PINELABS_CLIENT_SECRET": "<your-client-secret>"      }    }  }}

To uninstall:

powershell
choco uninstall pinelabs-mcp

Using 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:latest with pinelabs/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:

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.

Usage with VS Code

Add the following to your VS Code settings (JSON):

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
json
{  "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:

bash
git clone https://github.com/plural-pinelabs/pinelabs-online-mcp.gitcd pinelabs-online-mcpdocker 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:

bash
# Clone the repositorygit clone https://github.com/plural-pinelabs/pinelabs-online-mcp.gitcd pinelabs-online-mcp
# Create and activate a virtual environmentpython -m venv .venvsource .venv/bin/activate      # macOS/Linux# .venv\Scripts\activate       # Windows
# Install dependenciespip 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 prod

Once running, configure your MCP client to connect to the local process. Example for VS Code:

json
{  "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

VariableRequiredDefaultDescription
PINELABS_CLIENT_IDYes--Pine Labs client ID for API authentication
PINELABS_CLIENT_SECRETYes--Pine Labs client secret for API authentication
PINELABS_ENVNouatTarget environment: uat or prod
LOG_LEVELNoINFOLog verbosity: DEBUG, INFO, WARNING, ERROR
LOG_FILENostderrPath to log output file
READ_ONLYNofalseRestrict to read-only tools (disables write operations)
TOOLSETSNoallComma-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:

bash
python -m cli.pinelabs_mcp_server.main stdio \  --client-id <ID> --client-secret <SECRET> \  --log-level DEBUG --log-file ./debug.log

FAQ

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.

Source: README.md at commit 967b25e

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  1. v0.1.3LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts