paygate-mcp 8.64.0 → 8.66.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +173 -0
- package/dist/server.d.ts +4 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +767 -1343
- package/dist/server.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -6,6 +6,27 @@
|
|
|
6
6
|
|
|
7
7
|
Monetize any MCP server with one command. Add API key auth, per-tool pricing, rate limiting, and usage metering to any Model Context Protocol server. Zero dependencies. Zero config. Zero code changes.
|
|
8
8
|
|
|
9
|
+
## Table of Contents
|
|
10
|
+
|
|
11
|
+
- [Quick Start](#quick-start)
|
|
12
|
+
- [What It Does](#what-it-does)
|
|
13
|
+
- [Usage](#usage) — Local stdio, remote HTTP, multi-server, client SDK
|
|
14
|
+
- [API Reference](#api-reference) — All 150+ endpoints
|
|
15
|
+
- [CLI Options](#cli-options)
|
|
16
|
+
- [Deployment](#deployment) — Docker, docker-compose, systemd, PM2
|
|
17
|
+
- [Error Codes](#error-codes) — Complete error code reference
|
|
18
|
+
- [Feature Reference](#persistent-storage) — Detailed docs for every feature
|
|
19
|
+
- [Storage & Billing](#persistent-storage) · [Stripe](#stripe-integration) · [ACL](#per-tool-acl-access-control) · [Rate Limits](#per-tool-rate-limits)
|
|
20
|
+
- [Key Management](#key-expiry-ttl) · [Webhooks](#webhook-events) · [OAuth 2.1](#oauth-21) · [SSE](#sse-streaming-mcp-streamable-http)
|
|
21
|
+
- [Analytics (64 endpoints)](#cost-analysis) · [Teams](#team-management) · [Redis Scaling](#horizontal-scaling-redis)
|
|
22
|
+
- [Plugins](#plugin-system) · [Groups](#key-groups-policy-templates) · [Namespaces](#multi-tenant-namespaces)
|
|
23
|
+
- [Programmatic API](#programmatic-api)
|
|
24
|
+
- [Security](#security)
|
|
25
|
+
- [Current Limitations](#current-limitations)
|
|
26
|
+
- [Roadmap](#roadmap)
|
|
27
|
+
- [Requirements](#requirements)
|
|
28
|
+
- [License](#license)
|
|
29
|
+
|
|
9
30
|
## Quick Start
|
|
10
31
|
|
|
11
32
|
```bash
|
|
@@ -4911,6 +4932,158 @@ Response includes changed fields, skipped fields, and any validation warnings:
|
|
|
4911
4932
|
|
|
4912
4933
|
The config file is validated before applying changes — invalid configs are rejected with detailed error messages and zero changes applied.
|
|
4913
4934
|
|
|
4935
|
+
## Deployment
|
|
4936
|
+
|
|
4937
|
+
### Docker
|
|
4938
|
+
|
|
4939
|
+
```bash
|
|
4940
|
+
# Build the image
|
|
4941
|
+
docker build -t paygate-mcp .
|
|
4942
|
+
|
|
4943
|
+
# Run with a remote MCP server
|
|
4944
|
+
docker run -d \
|
|
4945
|
+
-p 3000:3000 \
|
|
4946
|
+
-v paygate-data:/data \
|
|
4947
|
+
-e PAYGATE_REMOTE_URL="https://my-mcp-server.com/mcp" \
|
|
4948
|
+
-e PAYGATE_ADMIN_KEY="your-admin-key" \
|
|
4949
|
+
paygate-mcp
|
|
4950
|
+
|
|
4951
|
+
# Run with environment variables
|
|
4952
|
+
docker run -d \
|
|
4953
|
+
-p 3000:3000 \
|
|
4954
|
+
-e PAYGATE_PORT=3000 \
|
|
4955
|
+
-e PAYGATE_REMOTE_URL="https://api.example.com/mcp" \
|
|
4956
|
+
-e PAYGATE_DEFAULT_CREDITS=5 \
|
|
4957
|
+
-e PAYGATE_RATE_LIMIT=120 \
|
|
4958
|
+
-e PAYGATE_WEBHOOK_URL="https://hooks.example.com/paygate" \
|
|
4959
|
+
paygate-mcp
|
|
4960
|
+
```
|
|
4961
|
+
|
|
4962
|
+
### Docker Compose (with Redis)
|
|
4963
|
+
|
|
4964
|
+
```bash
|
|
4965
|
+
# Set your MCP server URL and start
|
|
4966
|
+
MCP_REMOTE_URL="https://my-mcp-server.com/mcp" docker-compose up -d
|
|
4967
|
+
|
|
4968
|
+
# View logs
|
|
4969
|
+
docker-compose logs -f paygate
|
|
4970
|
+
|
|
4971
|
+
# Check health
|
|
4972
|
+
curl http://localhost:3000/health
|
|
4973
|
+
```
|
|
4974
|
+
|
|
4975
|
+
The included `docker-compose.yml` starts PayGate with Redis for horizontal scaling, state persistence, and distributed rate limiting.
|
|
4976
|
+
|
|
4977
|
+
### systemd
|
|
4978
|
+
|
|
4979
|
+
```ini
|
|
4980
|
+
# /etc/systemd/system/paygate-mcp.service
|
|
4981
|
+
[Unit]
|
|
4982
|
+
Description=PayGate MCP Proxy
|
|
4983
|
+
After=network.target
|
|
4984
|
+
|
|
4985
|
+
[Service]
|
|
4986
|
+
Type=simple
|
|
4987
|
+
User=paygate
|
|
4988
|
+
WorkingDirectory=/opt/paygate-mcp
|
|
4989
|
+
ExecStart=/usr/bin/node dist/cli.js wrap \
|
|
4990
|
+
--remote-url "https://my-mcp-server.com/mcp" \
|
|
4991
|
+
--port 3000 \
|
|
4992
|
+
--state-file /var/lib/paygate/state.json \
|
|
4993
|
+
--audit-file /var/log/paygate/audit.jsonl
|
|
4994
|
+
Restart=always
|
|
4995
|
+
RestartSec=5
|
|
4996
|
+
Environment=NODE_ENV=production
|
|
4997
|
+
|
|
4998
|
+
[Install]
|
|
4999
|
+
WantedBy=multi-user.target
|
|
5000
|
+
```
|
|
5001
|
+
|
|
5002
|
+
```bash
|
|
5003
|
+
sudo systemctl enable paygate-mcp
|
|
5004
|
+
sudo systemctl start paygate-mcp
|
|
5005
|
+
sudo journalctl -u paygate-mcp -f
|
|
5006
|
+
```
|
|
5007
|
+
|
|
5008
|
+
### PM2
|
|
5009
|
+
|
|
5010
|
+
```bash
|
|
5011
|
+
# Install globally
|
|
5012
|
+
npm install -g paygate-mcp
|
|
5013
|
+
|
|
5014
|
+
# Start with PM2
|
|
5015
|
+
pm2 start paygate-mcp -- wrap \
|
|
5016
|
+
--remote-url "https://my-mcp-server.com/mcp" \
|
|
5017
|
+
--port 3000 \
|
|
5018
|
+
--state-file ./state.json
|
|
5019
|
+
|
|
5020
|
+
# Or use ecosystem file
|
|
5021
|
+
pm2 start ecosystem.config.js
|
|
5022
|
+
```
|
|
5023
|
+
|
|
5024
|
+
### Production Checklist
|
|
5025
|
+
|
|
5026
|
+
- [ ] Set `--state-file` for persistent storage across restarts
|
|
5027
|
+
- [ ] Set `--audit-file` for audit trail retention
|
|
5028
|
+
- [ ] Configure `--webhook-url` for external billing/alerting
|
|
5029
|
+
- [ ] Use `--admin-key` or set `PAYGATE_ADMIN_KEY` (auto-generated if omitted)
|
|
5030
|
+
- [ ] Enable Redis (`--redis-url`) for multi-instance deployments
|
|
5031
|
+
- [ ] Set up reverse proxy (nginx/caddy) with TLS termination
|
|
5032
|
+
- [ ] Configure `--cors-origin` for browser-based clients
|
|
5033
|
+
- [ ] Monitor `/health` endpoint with your uptime checker
|
|
5034
|
+
- [ ] Scrape `/metrics` with Prometheus for observability
|
|
5035
|
+
- [ ] Back up state file regularly (or use Redis persistence)
|
|
5036
|
+
|
|
5037
|
+
## Error Codes
|
|
5038
|
+
|
|
5039
|
+
### HTTP Status Codes
|
|
5040
|
+
|
|
5041
|
+
| Code | Meaning | When |
|
|
5042
|
+
|------|---------|------|
|
|
5043
|
+
| `200` | OK | Successful read/update operations |
|
|
5044
|
+
| `201` | Created | Key, team, group, or template created |
|
|
5045
|
+
| `401` | Unauthorized | Missing or invalid admin key |
|
|
5046
|
+
| `402` | Payment Required | Insufficient credits for tool call |
|
|
5047
|
+
| `403` | Forbidden | IP not in allowlist, ACL denied |
|
|
5048
|
+
| `404` | Not Found | Key, template, group, or resource not found |
|
|
5049
|
+
| `405` | Method Not Allowed | Wrong HTTP method for endpoint |
|
|
5050
|
+
| `409` | Conflict | Duplicate alias, template name collision |
|
|
5051
|
+
| `429` | Too Many Requests | Rate limit exceeded |
|
|
5052
|
+
| `503` | Service Unavailable | Maintenance mode or server shutting down |
|
|
5053
|
+
|
|
5054
|
+
### JSON-RPC Error Codes (MCP /mcp endpoint)
|
|
5055
|
+
|
|
5056
|
+
| Code | Name | Description |
|
|
5057
|
+
|------|------|-------------|
|
|
5058
|
+
| `-32402` | `insufficient_credits` | API key has zero credits remaining |
|
|
5059
|
+
| `-32402` | `rate_limited` | Request rate exceeds per-key or per-tool limit |
|
|
5060
|
+
| `-32402` | `quota_exceeded` | Daily/monthly call or credit quota exceeded |
|
|
5061
|
+
| `-32402` | `spending_limit_reached` | Cumulative spend exceeds key spending limit |
|
|
5062
|
+
| `-32402` | `key_suspended` | API key is temporarily suspended |
|
|
5063
|
+
| `-32402` | `key_expired` | API key TTL has elapsed |
|
|
5064
|
+
| `-32402` | `acl_denied` | Tool not in key's ACL whitelist |
|
|
5065
|
+
| `-32402` | `ip_not_allowed` | Client IP not in key's allowlist |
|
|
5066
|
+
| `-32402` | `invalid_api_key` | X-API-Key header not recognized |
|
|
5067
|
+
| `-32402` | `maintenance_mode` | Server in maintenance mode |
|
|
5068
|
+
| `-32600` | `invalid_request` | Malformed JSON-RPC request body |
|
|
5069
|
+
| `-32601` | `method_not_found` | Unknown MCP method |
|
|
5070
|
+
|
|
5071
|
+
### Webhook Event Types
|
|
5072
|
+
|
|
5073
|
+
| Event | Trigger |
|
|
5074
|
+
|-------|---------|
|
|
5075
|
+
| `key.created` | New API key provisioned |
|
|
5076
|
+
| `key.revoked` | API key permanently revoked |
|
|
5077
|
+
| `key.suspended` | API key temporarily suspended |
|
|
5078
|
+
| `key.resumed` | Suspended key reactivated |
|
|
5079
|
+
| `key.rotated` | API key rotated to new value |
|
|
5080
|
+
| `key.topup` | Credits added to key |
|
|
5081
|
+
| `key.expired` | Key TTL elapsed |
|
|
5082
|
+
| `key.expiry_warning` | Key approaching expiry |
|
|
5083
|
+
| `credit.transfer` | Credits moved between keys |
|
|
5084
|
+
| `credit.auto_topup` | Auto-topup triggered |
|
|
5085
|
+
| `usage` | Batched tool call events |
|
|
5086
|
+
|
|
4914
5087
|
## Programmatic API
|
|
4915
5088
|
|
|
4916
5089
|
```typescript
|
package/dist/server.d.ts
CHANGED
|
@@ -154,6 +154,10 @@ export declare class PayGateServer {
|
|
|
154
154
|
port: number;
|
|
155
155
|
adminKey: string;
|
|
156
156
|
}>;
|
|
157
|
+
/** Send a JSON response with the given status code. */
|
|
158
|
+
private sendJson;
|
|
159
|
+
/** Send a JSON error response: { error: message }. */
|
|
160
|
+
private sendError;
|
|
157
161
|
private handleRequest;
|
|
158
162
|
private handleMcp;
|
|
159
163
|
/**
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|