paymongo-mcp
Allows creating GCash/GrabPay sources, processing payments, refunds, and managing checkout sessions through the PayMongo payment gateway for the Philippines.
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., "@paymongo-mcpCreate a payment intent for 100 PHP"
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.
paymongo-mcp
MCP server for PayMongo — the Philippine payment gateway. Exposes payment intents, sources, payments, refunds, checkout sessions, payment links, webhooks, payment methods, and customers as MCP tools via Basic Auth.
Tools (24)
Payments
Tool | Description |
| Create a payment intent |
| Get a payment intent by ID |
| Create a GCash/GrabPay source |
| Get a source by ID |
| Charge a source to create a payment |
| List payments (cursor pagination) |
Refunds
Tool | Description |
| Refund a payment |
| Get a refund by ID |
| List refunds (cursor pagination) |
Checkout & Links
Tool | Description |
| Create a hosted checkout session |
| Get a checkout session by ID |
| Create a no-code Payment Link |
| Get a link by ID or reference number |
| Archive / unarchive a link |
Webhooks
Tool | Description |
| Register a webhook endpoint |
| List webhooks |
| Get a webhook by ID |
| Update URL/events, enable/disable |
| Verify the |
Payment Methods & Customers
Tool | Description |
| Create a payment method (e.g. a card) |
| Get a payment method by ID |
| Create a customer |
| Get a customer by ID |
| List customers (cursor pagination) |
Related MCP server: vnpay-mcp
Quick Start
{
"mcpServers": {
"paymongo": {
"command": "npx",
"args": ["-y", "@theyahia/paymongo-mcp"],
"env": {
"PAYMONGO_SECRET_KEY": "<YOUR_PAYMONGO_SECRET_KEY>"
}
}
}
}Environment Variables
Variable | Required | Description |
| Yes | Secret API key from the PayMongo dashboard ( |
| No | Must be |
The server reads the secret key lazily — it can start and list its tools without a key set, so a missing key surfaces as a tool-call error rather than a startup crash.
Amounts
All amounts are integers in centavos (the smallest currency unit):
10000 = ₱100.00. PayMongo's minimum is typically 2000 (₱20.00) and varies by
method.
Safety: test vs live keys
PayMongo keys are either test (sk_test_…) or live (sk_live_…). To
prevent an AI agent from accidentally moving real money, the money-moving tools
(create_payment, create_refund, create_payment_intent, create_source,
create_checkout, create_link, create_payment_method) are refused when a
live key is configured unless you opt in with:
PAYMONGO_ALLOW_LIVE=trueRead-only tools (get_*, list_*) always work. Tools are also tagged with MCP
annotations (readOnlyHint / destructiveHint) so clients can auto-approve
reads and warn on destructive actions.
Webhooks
Create a webhook to receive async payment events (e.g. source.chargeable,
payment.paid):
create_webhook { "url": "https://your.app/paymongo/hook", "events": ["payment.paid", "source.chargeable"] }The response includes a per-webhook signing secret (whsk_…). Store it. When
PayMongo POSTs an event, verify the Paymongo-Signature header before
trusting the body — pass the raw request body, the header value, and the signing
secret to verify_webhook_signature:
verify_webhook_signature {
"payload": "<raw request body, exactly as received>",
"signature_header": "t=...,te=...,li=...",
"webhook_signing_secret": "whsk_...",
"mode": "test"
}It computes HMAC-SHA256(timestamp + "." + body) and compares it (timing-safe)
against the te (test) or li (live) segment. This tool runs entirely locally
and needs no API key. Pass tolerance_seconds to also reject stale timestamps
(replay protection).
Demo Prompts
"Create a payment intent for 100 PHP"
"Create a GCash source for 50 PHP with success/fail redirect URLs"
"Create a payment link for 250 PHP for 'Consulting fee'"
"List recent payments"
"Refund 25 PHP from payment pay_123"
"Register a webhook at https://example.com/hook for payment.paid"
Development
npm ci
npm run typecheck # tsc --noEmit
npm run build # tsc -> dist/
npm test # vitest
npm run dev # run from source with tsxLicense
MIT
This server cannot be installed
Maintenance
Latest Blog Posts
- 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/theYahia/paymongo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server