Server data from the Official MCP Registry
Create payment orders, checkout, subscriptions & UPI via PineLabs Plural PG gateway
Create payment orders, checkout, subscriptions & UPI via PineLabs Plural PG gateway
Remote endpoints: streamable-http: https://mcp.pinelabs.com/mcp
Valid MCP server (2 strong, 3 medium validity signals). 4 known CVEs in dependencies (0 critical, 3 high severity) ⚠️ Package registry links to a different repository than scanned source. Imported from the Official MCP Registry.
7 files analyzed · 5 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: PINELABS_CLIENT_ID
Environment variable: PINELABS_CLIENT_SECRET
Environment variable: PINELABS_ENV
Available as Local & Remote
This plugin can run on your machine or connect to a hosted endpoint. during install.
From the project's GitHub README.
Pine Labs MCP Server is a production-grade Model Context Protocol (MCP) server that connects AI assistants and agentic applications to the Pine Labs payment gateway. It exposes Pine Labs' online payment APIs -- payment links, checkout orders, UPI intent payments, subscriptions, and transaction reporting -- as structured MCP tools that any compatible AI client can invoke.
Built for fintech developers integrating payment gateway capabilities into AI-driven workflows, this server enables programmatic access to the full Pine Labs payment API surface through natural-language AI interfaces such as VS Code Copilot, Claude Desktop, and Cursor.
Choose your preferred deployment method:
The Pine Labs MCP Server exposes 50+ tools across multiple categories. Each tool maps to a specific Pine Labs payment API endpoint.
| Tool | Description | API Reference |
|---|---|---|
create_payment_link | Create a new payment link for collecting payments | Payment Link - Create |
get_payment_link_by_id | Fetch a payment link by its payment link ID | Payment Link - Get by ID |
get_payment_link_by_merchant_reference | Fetch a payment link by its merchant payment link reference | Payment Link - Get by Reference |
cancel_payment_link | Cancel an active payment link | Payment Link - Cancel |
resend_payment_link_notification | Resend a payment link notification to the customer | Payment Link - Resend |
| Tool | Description | API Reference |
|---|---|---|
get_order_by_order_id | Retrieve order details by order ID | Order - Get by ID |
cancel_order | Cancel a pre-authorized payment against an order | Order - Cancel |
| Tool | Description | API Reference |
|---|---|---|
create_order | Create a new checkout order and generate a checkout link | Order - Create |
| Tool | Description | API Reference |
|---|---|---|
create_plan | Create a new subscription plan | Plan - Create |
get_plans | Retrieve subscription plans | Plan - Get All |
get_plan_by_id | Retrieve a subscription plan by plan ID | Plan - Get Specific |
get_plan_by_merchant_reference | Retrieve a plan by merchant plan reference | Plan - Get Specific |
update_plan | Update an existing subscription plan | Plan - Update |
delete_plan | Delete a subscription plan | Plan - Delete |
create_subscription | Create a new subscription against a plan | Subscription - Create |
get_subscriptions | Retrieve subscriptions | Subscription - Get All |
get_subscription_by_id | Retrieve a subscription by subscription ID | Subscription - Get Specific |
get_subscription_by_merchant_reference | Retrieve a subscription by merchant reference | Subscription - Get Specific |
pause_subscription | Pause an active subscription | Subscription - Pause |
resume_subscription | Resume a paused subscription | Subscription - Resume |
cancel_subscription | Cancel an active subscription | Subscription - Cancel |
update_subscription | Update an existing subscription | Subscription - Update |
create_presentation | Create a presentation (payment request) for a subscription | Presentation - Create |
get_presentation | Retrieve a presentation by presentation ID | Presentation - Get |
delete_presentation | Delete a presentation | Presentation - Delete |
get_presentations_by_subscription_id | Retrieve all presentations for a subscription | Presentation - Get by Subscription |
get_presentation_by_merchant_reference | Retrieve a presentation by merchant reference | Presentation - Get |
send_subscription_notification | Send a pre-debit notification for a subscription | Presentation - Create |
create_debit | Execute a debit (payment collection) against a subscription | Presentation - Create |
create_merchant_retry | Retry mandate execution for a failed debit (max 3 retries) | Merchant Retry |
| Tool | Description | API Reference |
|---|---|---|
create_upi_intent_payment_with_qr | Create a UPI intent payment with QR code for instant collection | UPI Intent QR |
| Tool | Description | API Reference |
|---|---|---|
get_payment_link_details | Fetch payment link details within a date range | API Docs |
get_order_details | Fetch order details within a date range | API Docs |
get_refund_order_details | Fetch refund order details within a date range | API Docs |
search_transaction | Search for a transaction by transaction ID | API Docs |
| Tool | Description |
|---|---|
get_api_documentation | Fetch Pine Labs API documentation for a specific API |
list_pinelabs_apis | List all available Pine Labs APIs with descriptions |
| Tool | Description |
|---|---|
get_merchant_success_rate | Fetch transaction success rate for the merchant over a date range |
The Remote MCP Server is hosted and maintained by Pine Labs. It provides instant access to all payment gateway APIs with no local infrastructure required.
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>.
npx is required to proxy the remote MCP connection.
Install Node.js (which includes npm and npx):
brew install node
choco install nodejs
Alternatively, download from https://nodejs.org/.
npx --version
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.
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.
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.
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.
Deploy the MCP server on your own infrastructure for full control over the runtime environment.
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.
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.
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.
{
"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.
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.
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 prod
Once 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"
}
}
}
}
}
| Variable | Required | Default | Description |
|---|---|---|---|
PINELABS_CLIENT_ID | Yes | -- | Pine Labs client ID for API authentication |
PINELABS_CLIENT_SECRET | Yes | -- | Pine Labs client secret for API authentication |
PINELABS_ENV | No | uat | Target environment: uat or prod |
LOG_LEVEL | No | INFO | Log verbosity: DEBUG, INFO, WARNING, ERROR |
LOG_FILE | No | stderr | Path to log output file |
READ_ONLY | No | false | Restrict to read-only tools (disables write operations) |
TOOLSETS | No | all | Comma-separated list of toolsets to enable |
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)
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.log
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.
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
This project is licensed under the Apache 2.0 license. See LICENSE for the full terms.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.