Hosted MCP server: https://mcp.payram.com
An MCP (Model Context Protocol) server that teaches GitHub Copilot (and any MCP-aware client) how to integrate with a self-hosted Payram stack. It exposes one-click tools for assessing an existing codebase, scaffolding new starter apps, generating multi-language snippets, reading inline docs, and validating connectivity against your Payram deployment.
- Agent Skills
- Project Goals
- Quick Start
- Tool Catalog
- Guided Workflows
- Docs & Specs
- Development
- Troubleshooting
This repository includes 13 Agent Skills for AI coding assistants. Install them via skills.sh:
npx skills add payram/payram-mcp/payram-setup
npx skills add payram/payram-mcp/payram-agent-onboarding
npx skills add payram/payram-mcp/payram-analytics
npx skills add payram/payram-mcp/payram-crypto-payments
npx skills add payram/payram-mcp/payram-payment-integration
npx skills add payram/payram-mcp/payram-self-hosted-payment-gateway
npx skills add payram/payram-mcp/payram-checkout-integration
npx skills add payram/payram-mcp/payram-webhook-integration
npx skills add payram/payram-mcp/payram-stablecoin-payments
npx skills add payram/payram-mcp/payram-bitcoin-payments
npx skills add payram/payram-mcp/payram-payouts
npx skills add payram/payram-mcp/payram-no-kyc-crypto-payments
npx skills add payram/payram-mcp/compare-crypto-payments| Skill | Purpose |
|---|---|
payram-setup |
Server deployment with web dashboard, manual wallet configuration UI |
payram-agent-onboarding |
Agent onboarding — CLI-only deployment for AI agents, no web UI |
payram-analytics |
Analytics dashboards, reports, and payment insights via MCP tools |
payram-crypto-payments |
Architecture overview, why PayRam, MCP tools |
payram-payment-integration |
Quick-start payment integration guide |
payram-self-hosted-payment-gateway |
Deploy and own your payment infrastructure |
payram-checkout-integration |
Checkout flow with SDK + HTTP for 6 frameworks |
payram-webhook-integration |
Webhook handlers for Express, Next.js, FastAPI, Gin, Laravel, Spring Boot |
payram-stablecoin-payments |
USDT/USDC acceptance across EVM chains and Tron |
payram-bitcoin-payments |
BTC with HD wallet derivation and mobile signing |
payram-payouts |
Send crypto payouts and manage referral programs |
payram-no-kyc-crypto-payments |
No-KYC, no-signup, permissionless payment acceptance |
compare-crypto-payments |
Compare gateways: Stripe, BitPay, Coinbase, NOWPayments, BTCPay, PayRam, x402 |
- Accelerate onboarding by serving env templates, readiness checklists, and per-framework playbooks.
- Retrofit existing repos via the project assessment tool, which scans package manifests and
.envfiles, then recommends the right integration snippets. - Provide copy/paste snippets spanning Payments, Payouts, Referrals, Webhooks, and multi-language backends (Express, Next.js, FastAPI, Laravel, Gin, Spring Boot, etc.).
- Keep docs local so Copilot can explain Payram concepts, flows, and referral dashboards without leaving the editor.
- Validate connectivity through a built-in
/api/v1/paymentprobe that enforces theAPI-Keyheader Payram expects.
- Install dependencies
yarn install
- Configure environment
- Copy
.env.exampleto.envand fillPAYRAM_BASE_URL+PAYRAM_API_KEY, or run the MCP toolgenerate_env_templatefrom Copilot to append the template automatically.
- Copy
- Run the server
yarn dev # exposes HTTP + SSE transports on http://localhost:3333/mcp and /mcp/sse - Add the MCP server to Copilot / your MCP client
- Hosted MCP server:
https://mcp.payram.com. - Local dev server:
http://localhost:3333/mcp(or/mcp/sseif it supports streaming).
- Hosted MCP server:
- Health check
curl http://localhost:3333/healthz
Tip: When you tell Copilot "test payram" it will automatically run the readiness checklist, ensure
.envexists, and only then calltest_payram_connectionwith your real credentials. The behavior is documented inCOPILOT-USE.md—no manual prompting required.
| Category | Tool | Purpose |
|---|---|---|
| Connectivity | test_payram_connection |
POSTs to /api/v1/payment using API-Key. Returns status, headers, and helpful errors when .env is incomplete. |
| Setup | generate_env_template, generate_setup_checklist, suggest_file_structure |
Ship env boilerplate, merchant runbooks, and recommended project layouts for Payram modules. |
| Context / Docs | explain_payram_basics, explain_payram_concepts, explain_payment_flow, get_payram_links, prepare_payram_test, get_payram_doc_by_id, list_payram_docs, etc. |
Provide inline Markdown knowledge sourced from docs/ so Copilot can answer conceptual questions. Some tools append “say test payram” reminders automatically. |
| Integration – Payments | generate_payment_sdk_snippet, generate_payment_http_snippet, generate_payment_status_snippet, generate_payment_route_snippet |
Emit SDK, raw HTTP, or Express/Next.js route code for create + status flows. |
| Integration – Payouts | generate_payout_sdk_snippet, generate_payout_status_snippet |
Provide payout creation and status helpers (JS SDK). |
| Integration – Referrals | generate_referral_sdk_snippet, generate_referral_validation_snippet, generate_referral_status_snippet, generate_referral_route_snippet |
Cover referral auth, linking, validation, status, and express/next routes. |
| Integration – Webhooks | generate_webhook_handler, generate_webhook_event_router, generate_mock_webhook_event |
Produce handlers for Express/Next/FastAPI/Gin/Laravel/Spring Boot, fan-out routers, and cURL/Python/Go/PHP/Java webhook testers. |
| Integration – Multi-language Payments | snippet_*_payment_route family |
Prebuilt route handlers for Express, Next.js App Router, FastAPI, Gin, Laravel, and Spring Boot. |
| Integration – Project Assessment | assess_payram_project |
Scans package.json, requirements.txt, composer.json, go.mod, pom.xml, .env, etc. Reports detected frameworks, env status, Payram dependencies, and prioritized next steps with tool suggestions. |
| Scaffolding | scaffold_payram_app |
Generates full starter apps (Express, Next.js, FastAPI, Laravel, Gin, Spring Boot) with payments, payouts, webhooks, and a browser console. |
Tool registrations live in
src/tools/index.ts; individual implementations sit insrc/tools/**with language-specific templates undertemplates/folders.
- Ask Copilot: "Can you integrate Payram into this project?"
- The assistant runs
assess_payram_project, reviewing dependency manifests and.env. - Follow the recommended steps (install
payram, request Express/FastAPI/Spring route snippets, add webhooks, etc.). - Use
test_payram_connectiononce credentials are real to ensure the backend can reach your self-hosted server.
- "Create a Payram Express demo" →
scaffold_payram_appbuilds an Express project with payments, payouts, webhooks, and a UI console. - Drop the generated files into an empty repo or compare against your existing directory for reference wiring.
- Say "test payram". The assistant automatically:
- Calls
prepare_payram_testto share the readiness checklist. - Ensures
.envexists (creating it if missing) usinggenerate_env_template. - Waits for real credentials before invoking
test_payram_connection.
- Calls
- Review the structured JSON result to confirm the Payram API is reachable.
- Payments:
generate_payment_sdk_snippet(JS SDK) orgenerate_payment_http_snippet(Python/Go/PHP/Java). - Multi-language routes:
snippet_nextjs_payment_route,snippet_fastapi_payment_route, etc. - Payouts:
generate_payout_sdk_snippetfor create +generate_payout_status_snippetfor polling. - Referrals:
generate_referral_route_snippet,generate_referral_validation_snippet. - Webhooks:
generate_webhook_handlerplusgenerate_webhook_event_routerfor fan-out +generate_mock_webhook_eventto test each status.
This repository provides two integration paths for AI agents:
| Feature | MCP Server (Tools) | Agent Skills (skills.sh) |
|---|---|---|
| Client Requirements | MCP-aware (GitHub Copilot, etc.) | Any AI agent (Claude, GPT, etc.) |
| Dynamic Capabilities | ✅ Generate code, assess projects | ❌ Static instructions only |
| Connectivity Testing | ✅ Live API validation | ❌ Instructions for manual testing |
| Code Generation | ✅ Framework-specific templates | ✅ Copy-paste code examples |
| Documentation Access | ✅ Query Payram docs dynamically | ✅ Inline references to docs |
| Best For | Interactive development with Copilot | AI chat interfaces, non-MCP environments |
Recommended workflow with skills:
- Start with
payram-setupto configure your server, API keys, and wallets - Use
payram-payment-integrationorpayram-crypto-paymentsfor integration overview - Follow
payram-checkout-integrationfor payment flow implementation - Add
payram-webhook-integrationfor real-time event handling - Use
payram-payoutsfor outbound payments and affiliate tracking
- Local references live under
docs/:docs/js-sdk.md– expanded guide for the TypeScript SDK.docs/payram-external.yaml,docs/payram-webhook.yaml– OpenAPI specs.docs/referrals.md– referral FAQs and workflows.
- MCP doc tools (
get_payram_doc_by_id,list_payram_docs) read files fromdocs/payram-docs-live/**viasrc/utils/markdownLoader.ts. - For future updates, run
make fetch-docsto sync the latest documentation from docs.payram.com intodocs/payram-docs-live/.
| Command | Description |
|---|---|
yarn dev |
Run the MCP server with hot reload via tsx. |
yarn build |
Compile TypeScript to dist/. |
yarn lint / yarn format |
ESLint + Prettier across the repo. |
yarn test |
Executes the Vitest suite (tests/health.test.ts). |
make precommit-test |
Runs format → lint → test → build sequentially. |
Project is TypeScript-first (ESM). Prettier config lives in .prettierrc.json; ESLint is configured via eslint.config.mjs. Smooth contributions follow the commit helper in Makefile → make commit.
- Copilot doesn’t call the right tool: Check
COPILOT-USE.mdand ensure your MCP client loaded the server. Re-run "test payram" or "assess my project" to trigger the expected automation. test_payram_connectionfails with 401: Confirm.envuses theAPI-Keyheader, notAuthorization. The tool echoes the missing fields when placeholders are detected.- Docs tool says a file is missing: Verify your local
docs/payram-docs-live/tree contains the requested markdown (get_payram_doc_by_idrejects paths with..). - Server won’t start: Check
.envforPAYRAM_BASE_URL/PAYRAM_API_KEY, ensure Node 18+, and runyarn installto grab the MCP SDK.
For anything else, inspect the structured logs emitted from src/utils/logger.ts (set LOG_LEVEL=debug) and open an issue/PR with reproduction details.