@pincerpay/mcp 0.1.1 → 0.4.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 +51 -4
- package/dist/client.d.ts +50 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +111 -4
- package/dist/client.js.map +1 -1
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +4 -0
- package/dist/prompts/index.js.map +1 -1
- package/dist/prompts/manage-paywalls.d.ts +3 -0
- package/dist/prompts/manage-paywalls.d.ts.map +1 -0
- package/dist/prompts/manage-paywalls.js +49 -0
- package/dist/prompts/manage-paywalls.js.map +1 -0
- package/dist/prompts/monitor-payments.d.ts +3 -0
- package/dist/prompts/monitor-payments.d.ts.map +1 -0
- package/dist/prompts/monitor-payments.js +50 -0
- package/dist/prompts/monitor-payments.js.map +1 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +11 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/check-health.d.ts +4 -0
- package/dist/tools/check-health.d.ts.map +1 -0
- package/dist/tools/check-health.js +29 -0
- package/dist/tools/check-health.js.map +1 -0
- package/dist/tools/create-paywall.d.ts +4 -0
- package/dist/tools/create-paywall.d.ts.map +1 -0
- package/dist/tools/create-paywall.js +51 -0
- package/dist/tools/create-paywall.js.map +1 -0
- package/dist/tools/delete-paywall.d.ts +4 -0
- package/dist/tools/delete-paywall.d.ts.map +1 -0
- package/dist/tools/delete-paywall.js +32 -0
- package/dist/tools/delete-paywall.js.map +1 -0
- package/dist/tools/get-merchant-profile.d.ts +4 -0
- package/dist/tools/get-merchant-profile.d.ts.map +1 -0
- package/dist/tools/get-merchant-profile.js +27 -0
- package/dist/tools/get-merchant-profile.js.map +1 -0
- package/dist/tools/get-metrics.d.ts +4 -0
- package/dist/tools/get-metrics.d.ts.map +1 -0
- package/dist/tools/get-metrics.js +29 -0
- package/dist/tools/get-metrics.js.map +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +35 -3
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/list-agents.d.ts +4 -0
- package/dist/tools/list-agents.d.ts.map +1 -0
- package/dist/tools/list-agents.js +37 -0
- package/dist/tools/list-agents.js.map +1 -0
- package/dist/tools/list-paywalls.d.ts +4 -0
- package/dist/tools/list-paywalls.d.ts.map +1 -0
- package/dist/tools/list-paywalls.js +37 -0
- package/dist/tools/list-paywalls.js.map +1 -0
- package/dist/tools/list-transactions.d.ts +4 -0
- package/dist/tools/list-transactions.d.ts.map +1 -0
- package/dist/tools/list-transactions.js +53 -0
- package/dist/tools/list-transactions.js.map +1 -0
- package/dist/tools/list-webhooks.d.ts +4 -0
- package/dist/tools/list-webhooks.d.ts.map +1 -0
- package/dist/tools/list-webhooks.js +41 -0
- package/dist/tools/list-webhooks.js.map +1 -0
- package/dist/tools/retry-webhook.d.ts +4 -0
- package/dist/tools/retry-webhook.d.ts.map +1 -0
- package/dist/tools/retry-webhook.js +32 -0
- package/dist/tools/retry-webhook.js.map +1 -0
- package/dist/tools/update-agent.d.ts +4 -0
- package/dist/tools/update-agent.d.ts.map +1 -0
- package/dist/tools/update-agent.js +48 -0
- package/dist/tools/update-agent.js.map +1 -0
- package/dist/tools/update-paywall.d.ts +4 -0
- package/dist/tools/update-paywall.d.ts.map +1 -0
- package/dist/tools/update-paywall.js +47 -0
- package/dist/tools/update-paywall.js.map +1 -0
- package/dist/tools/verify-payment.d.ts +4 -0
- package/dist/tools/verify-payment.d.ts.map +1 -0
- package/dist/tools/verify-payment.js +56 -0
- package/dist/tools/verify-payment.js.map +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -77,17 +77,62 @@ Add via the Cascade MCP panel or `mcp.json`:
|
|
|
77
77
|
npx @pincerpay/mcp --transport=http --port=3100 --api-key=pp_live_your_key
|
|
78
78
|
```
|
|
79
79
|
|
|
80
|
-
## Tools
|
|
80
|
+
## Tools (20)
|
|
81
|
+
|
|
82
|
+
### Monitoring & Discovery
|
|
81
83
|
|
|
82
84
|
| Tool | Description | Auth Required |
|
|
83
85
|
|------|-------------|:---:|
|
|
84
86
|
| `list-supported-chains` | List supported chains and USDC configs | No |
|
|
85
87
|
| `estimate-gas-cost` | Estimate gas fees per chain | No |
|
|
88
|
+
| `check-facilitator-health` | Check facilitator connectivity and worker status | No |
|
|
89
|
+
| `get-settlement-metrics` | Fetch performance metrics (latency, counters, error rates) | No |
|
|
90
|
+
|
|
91
|
+
### Operations
|
|
92
|
+
|
|
93
|
+
| Tool | Description | Auth Required |
|
|
94
|
+
|------|-------------|:---:|
|
|
95
|
+
| `check-transaction-status` | Query transaction status by hash/signature | Yes |
|
|
96
|
+
| `verify-payment` | Dry-run payment validation without broadcasting | Yes |
|
|
97
|
+
| `list-transactions` | List transactions with filtering and pagination | Yes |
|
|
98
|
+
|
|
99
|
+
### Paywall CRUD
|
|
100
|
+
|
|
101
|
+
| Tool | Description | Auth Required |
|
|
102
|
+
|------|-------------|:---:|
|
|
103
|
+
| `list-paywalls` | List paywalled endpoints | Yes |
|
|
104
|
+
| `create-paywall` | Create a new paywalled endpoint | Yes |
|
|
105
|
+
| `update-paywall` | Update paywall price, status, or chains | Yes |
|
|
106
|
+
| `delete-paywall` | Permanently delete a paywall | Yes |
|
|
107
|
+
|
|
108
|
+
### Agent Management
|
|
109
|
+
|
|
110
|
+
| Tool | Description | Auth Required |
|
|
111
|
+
|------|-------------|:---:|
|
|
112
|
+
| `list-agents` | List agents that have interacted with your account | Yes |
|
|
113
|
+
| `update-agent` | Update agent name, status, or spending limits | Yes |
|
|
114
|
+
|
|
115
|
+
### Webhook Observability
|
|
116
|
+
|
|
117
|
+
| Tool | Description | Auth Required |
|
|
118
|
+
|------|-------------|:---:|
|
|
119
|
+
| `list-webhooks` | List webhook delivery attempts | Yes |
|
|
120
|
+
| `retry-webhook` | Retry a failed webhook delivery | Yes |
|
|
121
|
+
|
|
122
|
+
### Account
|
|
123
|
+
|
|
124
|
+
| Tool | Description | Auth Required |
|
|
125
|
+
|------|-------------|:---:|
|
|
126
|
+
| `get-merchant-profile` | Fetch merchant profile and configuration | Yes |
|
|
127
|
+
|
|
128
|
+
### Scaffolding & Validation
|
|
129
|
+
|
|
130
|
+
| Tool | Description | Auth Required |
|
|
131
|
+
|------|-------------|:---:|
|
|
86
132
|
| `validate-payment-config` | Validate merchant config with route pattern checks | No |
|
|
87
133
|
| `scaffold-x402-middleware` | Generate Express/Hono/Next.js middleware | No |
|
|
88
134
|
| `scaffold-agent-client` | Generate agent fetch wrapper with spending policies | No |
|
|
89
135
|
| `generate-ucp-manifest` | Create commerce discovery manifest | No |
|
|
90
|
-
| `check-transaction-status` | Query transaction status | Yes |
|
|
91
136
|
|
|
92
137
|
## Resources
|
|
93
138
|
|
|
@@ -107,7 +152,7 @@ npx @pincerpay/mcp --transport=http --port=3100 --api-key=pp_live_your_key
|
|
|
107
152
|
| Troubleshooting | `docs://pincerpay/troubleshooting` | Common issues table, devnet funding, debugging tips |
|
|
108
153
|
| Reference | `docs://pincerpay/reference` | Chain shorthands, USDC amounts, package exports, API methods |
|
|
109
154
|
|
|
110
|
-
## Prompts
|
|
155
|
+
## Prompts (6)
|
|
111
156
|
|
|
112
157
|
| Prompt | Description |
|
|
113
158
|
|--------|-------------|
|
|
@@ -115,6 +160,8 @@ npx @pincerpay/mcp --transport=http --port=3100 --api-key=pp_live_your_key
|
|
|
115
160
|
| `integrate-merchant` | Step-by-step merchant SDK integration (Express, Hono, or Next.js) |
|
|
116
161
|
| `integrate-agent` | Agent SDK setup with spending policies and gas estimates |
|
|
117
162
|
| `debug-transaction` | Transaction troubleshooting by hash/signature |
|
|
163
|
+
| `manage-paywalls` | Paywall management — list, create, update, delete, or review configuration |
|
|
164
|
+
| `monitor-payments` | Payment monitoring — overview, failure investigation, pending transaction analysis |
|
|
118
165
|
|
|
119
166
|
## CLI Options
|
|
120
167
|
|
|
@@ -129,7 +176,7 @@ npx @pincerpay/mcp --transport=http --port=3100 --api-key=pp_live_your_key
|
|
|
129
176
|
|
|
130
177
|
Get your API key from [pincerpay.com/dashboard/settings](https://pincerpay.com/dashboard/settings).
|
|
131
178
|
|
|
132
|
-
Developer tools (scaffolding, gas estimates, chain listing, config validation) work without an API key. Operations tools (
|
|
179
|
+
Developer tools (scaffolding, gas estimates, chain listing, config validation, health checks) work without an API key. Operations tools (transactions, paywalls, agents, webhooks, merchant profile) require one.
|
|
133
180
|
|
|
134
181
|
## License
|
|
135
182
|
|
package/dist/client.d.ts
CHANGED
|
@@ -20,9 +20,58 @@ export declare class FacilitatorClient {
|
|
|
20
20
|
*/
|
|
21
21
|
requireAuth(): void;
|
|
22
22
|
request<T>(path: string, body?: unknown): Promise<T>;
|
|
23
|
+
requestWithMethod<T>(method: "GET" | "POST" | "PUT" | "DELETE", path: string, body?: unknown): Promise<T>;
|
|
23
24
|
getSupported(): Promise<unknown>;
|
|
24
|
-
getStatus(txHash: string): Promise<unknown>;
|
|
25
25
|
getHealth(): Promise<unknown>;
|
|
26
|
+
getMetrics(): Promise<unknown>;
|
|
26
27
|
getOpenApiSpec(): Promise<unknown>;
|
|
28
|
+
getStatus(txHash: string): Promise<unknown>;
|
|
29
|
+
verifyPayment(paymentPayload: unknown, paymentRequirements: unknown): Promise<unknown>;
|
|
30
|
+
listTransactions(params?: {
|
|
31
|
+
limit?: number;
|
|
32
|
+
offset?: number;
|
|
33
|
+
status?: string;
|
|
34
|
+
chain?: string;
|
|
35
|
+
from?: string;
|
|
36
|
+
to?: string;
|
|
37
|
+
agent?: string;
|
|
38
|
+
}): Promise<unknown>;
|
|
39
|
+
listPaywalls(params?: {
|
|
40
|
+
limit?: number;
|
|
41
|
+
offset?: number;
|
|
42
|
+
active?: boolean;
|
|
43
|
+
}): Promise<unknown>;
|
|
44
|
+
createPaywall(data: {
|
|
45
|
+
endpointPattern: string;
|
|
46
|
+
amount: string;
|
|
47
|
+
description?: string;
|
|
48
|
+
chains?: string[];
|
|
49
|
+
}): Promise<unknown>;
|
|
50
|
+
updatePaywall(id: string, data: {
|
|
51
|
+
amount?: string;
|
|
52
|
+
description?: string;
|
|
53
|
+
chains?: string[];
|
|
54
|
+
isActive?: boolean;
|
|
55
|
+
}): Promise<unknown>;
|
|
56
|
+
deletePaywall(id: string): Promise<void>;
|
|
57
|
+
listAgents(params?: {
|
|
58
|
+
limit?: number;
|
|
59
|
+
offset?: number;
|
|
60
|
+
status?: string;
|
|
61
|
+
}): Promise<unknown>;
|
|
62
|
+
updateAgent(id: string, data: {
|
|
63
|
+
name?: string;
|
|
64
|
+
status?: string;
|
|
65
|
+
maxPerTransaction?: string;
|
|
66
|
+
maxPerDay?: string;
|
|
67
|
+
}): Promise<unknown>;
|
|
68
|
+
listWebhooks(params?: {
|
|
69
|
+
limit?: number;
|
|
70
|
+
offset?: number;
|
|
71
|
+
status?: string;
|
|
72
|
+
event?: string;
|
|
73
|
+
}): Promise<unknown>;
|
|
74
|
+
retryWebhook(id: string): Promise<unknown>;
|
|
75
|
+
getMerchantProfile(): Promise<unknown>;
|
|
27
76
|
}
|
|
28
77
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,uBAAuB;IACtC,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;gBAEb,MAAM,EAAE,uBAAuB;IAK3C,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED;;;OAGG;IACH,WAAW,IAAI,IAAI;IASb,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;IAuBpD,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAIhC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK3C,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -43,18 +43,125 @@ export class FacilitatorClient {
|
|
|
43
43
|
}
|
|
44
44
|
return res.json();
|
|
45
45
|
}
|
|
46
|
+
async requestWithMethod(method, path, body) {
|
|
47
|
+
const url = `${this.facilitatorUrl}${path}`;
|
|
48
|
+
const headers = {
|
|
49
|
+
"Content-Type": "application/json",
|
|
50
|
+
};
|
|
51
|
+
if (this.apiKey) {
|
|
52
|
+
headers[API_KEY_HEADER] = this.apiKey;
|
|
53
|
+
}
|
|
54
|
+
const res = await fetch(url, {
|
|
55
|
+
method,
|
|
56
|
+
headers,
|
|
57
|
+
body: body ? JSON.stringify(body) : undefined,
|
|
58
|
+
});
|
|
59
|
+
if (res.status === 204) {
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
if (!res.ok) {
|
|
63
|
+
const text = await res.text().catch(() => "Unknown error");
|
|
64
|
+
throw new Error(`Facilitator ${method} ${path} failed (${res.status}): ${text}`);
|
|
65
|
+
}
|
|
66
|
+
return res.json();
|
|
67
|
+
}
|
|
68
|
+
// ─── Discovery / Health ───
|
|
46
69
|
async getSupported() {
|
|
47
70
|
return this.request(FACILITATOR_ROUTES.supported);
|
|
48
71
|
}
|
|
49
|
-
async getStatus(txHash) {
|
|
50
|
-
this.requireAuth();
|
|
51
|
-
return this.request(`${FACILITATOR_ROUTES.status}/${txHash}`);
|
|
52
|
-
}
|
|
53
72
|
async getHealth() {
|
|
54
73
|
return this.request(FACILITATOR_ROUTES.health);
|
|
55
74
|
}
|
|
75
|
+
async getMetrics() {
|
|
76
|
+
return this.request("/v1/metrics");
|
|
77
|
+
}
|
|
56
78
|
async getOpenApiSpec() {
|
|
57
79
|
return this.request("/openapi.json");
|
|
58
80
|
}
|
|
81
|
+
// ─── Transaction Operations ───
|
|
82
|
+
async getStatus(txHash) {
|
|
83
|
+
this.requireAuth();
|
|
84
|
+
return this.request(`${FACILITATOR_ROUTES.status}/${txHash}`);
|
|
85
|
+
}
|
|
86
|
+
async verifyPayment(paymentPayload, paymentRequirements) {
|
|
87
|
+
this.requireAuth();
|
|
88
|
+
return this.request(FACILITATOR_ROUTES.verify, { paymentPayload, paymentRequirements });
|
|
89
|
+
}
|
|
90
|
+
async listTransactions(params) {
|
|
91
|
+
this.requireAuth();
|
|
92
|
+
const query = new URLSearchParams();
|
|
93
|
+
if (params) {
|
|
94
|
+
for (const [k, v] of Object.entries(params)) {
|
|
95
|
+
if (v !== undefined)
|
|
96
|
+
query.set(k, String(v));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
const qs = query.toString();
|
|
100
|
+
return this.request(`/v1/transactions${qs ? `?${qs}` : ""}`);
|
|
101
|
+
}
|
|
102
|
+
// ─── Paywall CRUD ───
|
|
103
|
+
async listPaywalls(params) {
|
|
104
|
+
this.requireAuth();
|
|
105
|
+
const query = new URLSearchParams();
|
|
106
|
+
if (params) {
|
|
107
|
+
for (const [k, v] of Object.entries(params)) {
|
|
108
|
+
if (v !== undefined)
|
|
109
|
+
query.set(k, String(v));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
const qs = query.toString();
|
|
113
|
+
return this.request(`/v1/paywalls${qs ? `?${qs}` : ""}`);
|
|
114
|
+
}
|
|
115
|
+
async createPaywall(data) {
|
|
116
|
+
this.requireAuth();
|
|
117
|
+
return this.requestWithMethod("POST", "/v1/paywalls", data);
|
|
118
|
+
}
|
|
119
|
+
async updatePaywall(id, data) {
|
|
120
|
+
this.requireAuth();
|
|
121
|
+
return this.requestWithMethod("PUT", `/v1/paywalls/${id}`, data);
|
|
122
|
+
}
|
|
123
|
+
async deletePaywall(id) {
|
|
124
|
+
this.requireAuth();
|
|
125
|
+
await this.requestWithMethod("DELETE", `/v1/paywalls/${id}`);
|
|
126
|
+
}
|
|
127
|
+
// ─── Agent Management ───
|
|
128
|
+
async listAgents(params) {
|
|
129
|
+
this.requireAuth();
|
|
130
|
+
const query = new URLSearchParams();
|
|
131
|
+
if (params) {
|
|
132
|
+
for (const [k, v] of Object.entries(params)) {
|
|
133
|
+
if (v !== undefined)
|
|
134
|
+
query.set(k, String(v));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
const qs = query.toString();
|
|
138
|
+
return this.request(`/v1/agents${qs ? `?${qs}` : ""}`);
|
|
139
|
+
}
|
|
140
|
+
async updateAgent(id, data) {
|
|
141
|
+
this.requireAuth();
|
|
142
|
+
return this.requestWithMethod("PUT", `/v1/agents/${id}`, data);
|
|
143
|
+
}
|
|
144
|
+
// ─── Webhook Observability ───
|
|
145
|
+
async listWebhooks(params) {
|
|
146
|
+
this.requireAuth();
|
|
147
|
+
const query = new URLSearchParams();
|
|
148
|
+
if (params) {
|
|
149
|
+
for (const [k, v] of Object.entries(params)) {
|
|
150
|
+
if (v !== undefined)
|
|
151
|
+
query.set(k, String(v));
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
const qs = query.toString();
|
|
155
|
+
return this.request(`/v1/webhooks${qs ? `?${qs}` : ""}`);
|
|
156
|
+
}
|
|
157
|
+
async retryWebhook(id) {
|
|
158
|
+
this.requireAuth();
|
|
159
|
+
return this.requestWithMethod("POST", `/v1/webhooks/${id}/retry`);
|
|
160
|
+
}
|
|
161
|
+
// ─── Merchant Profile ───
|
|
162
|
+
async getMerchantProfile() {
|
|
163
|
+
this.requireAuth();
|
|
164
|
+
return this.request("/v1/merchant");
|
|
165
|
+
}
|
|
59
166
|
}
|
|
60
167
|
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,cAAc,GACf,MAAM,iBAAiB,CAAC;AASzB;;;;GAIG;AACH,MAAM,OAAO,iBAAiB;IACnB,cAAc,CAAS;IACvB,MAAM,CAAU;IAEzB,YAAY,MAA+B;QACzC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,uBAAuB,CAAC;QACvE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,+CAA+C;gBAC7C,iFAAiF,CACpF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAI,IAAY,EAAE,IAAc;QAC3C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,EAAE,CAAC;QAC5C,MAAM,OAAO,GAA2B;YACtC,cAAc,EAAE,kBAAkB;SACnC,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACxC,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;YAC7B,OAAO;YACP,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SAC9C,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC;YAC3D,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,YAAY,GAAG,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,GAAG,CAAC,IAAI,EAAgB,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc;QAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,kBAAkB,CAAC,MAAM,IAAI,MAAM,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAQzE,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QAOhD"}
|
package/dist/prompts/index.js
CHANGED
|
@@ -2,10 +2,14 @@ import { registerGetStartedPrompt } from "./get-started.js";
|
|
|
2
2
|
import { registerMerchantPrompt } from "./integrate-merchant.js";
|
|
3
3
|
import { registerAgentPrompt } from "./integrate-agent.js";
|
|
4
4
|
import { registerDebugPrompt } from "./debug-transaction.js";
|
|
5
|
+
import { registerManagePaywallsPrompt } from "./manage-paywalls.js";
|
|
6
|
+
import { registerMonitorPaymentsPrompt } from "./monitor-payments.js";
|
|
5
7
|
export function registerPrompts(server) {
|
|
6
8
|
registerGetStartedPrompt(server);
|
|
7
9
|
registerMerchantPrompt(server);
|
|
8
10
|
registerAgentPrompt(server);
|
|
9
11
|
registerDebugPrompt(server);
|
|
12
|
+
registerManagePaywallsPrompt(server);
|
|
13
|
+
registerMonitorPaymentsPrompt(server);
|
|
10
14
|
}
|
|
11
15
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAEtE,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACjC,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/B,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC5B,4BAA4B,CAAC,MAAM,CAAC,CAAC;IACrC,6BAA6B,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manage-paywalls.d.ts","sourceRoot":"","sources":["../../src/prompts/manage-paywalls.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,SAAS,QAoD7D"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export function registerManagePaywallsPrompt(server) {
|
|
3
|
+
server.prompt("manage-paywalls", "Manage paywalled endpoints: list, create, update, delete, or review configuration. " +
|
|
4
|
+
"Orchestrates the paywall CRUD tools for your merchant account.", {
|
|
5
|
+
action: z
|
|
6
|
+
.enum(["list", "create", "update", "delete", "review"])
|
|
7
|
+
.describe("What to do with paywalls."),
|
|
8
|
+
}, ({ action }) => {
|
|
9
|
+
const instructions = {
|
|
10
|
+
list: `Please list all my paywalled endpoints using the list-paywalls tool.
|
|
11
|
+
Show them in a clear table format with: endpoint pattern, USDC price, active status, and creation date.
|
|
12
|
+
If I have no paywalls, suggest creating one.`,
|
|
13
|
+
create: `I want to create a new paywalled endpoint.
|
|
14
|
+
Ask me for:
|
|
15
|
+
1. The endpoint pattern (HTTP method + path, e.g. "GET /api/weather")
|
|
16
|
+
2. The USDC price (e.g. "0.01")
|
|
17
|
+
3. An optional description
|
|
18
|
+
4. Whether to restrict to specific chains (or use my merchant defaults)
|
|
19
|
+
|
|
20
|
+
Then use the create-paywall tool to create it.
|
|
21
|
+
After creation, suggest using validate-payment-config to verify the setup.`,
|
|
22
|
+
update: `I want to update an existing paywall.
|
|
23
|
+
First, use list-paywalls to show my current paywalls.
|
|
24
|
+
Then ask which one to update and what to change (price, description, chains, or active status).
|
|
25
|
+
Use the update-paywall tool to apply changes.`,
|
|
26
|
+
delete: `I want to delete a paywall.
|
|
27
|
+
First, use list-paywalls to show my current paywalls.
|
|
28
|
+
Then ask which one to delete. Warn that this is permanent — suggest disabling (isActive=false) via update-paywall as an alternative.
|
|
29
|
+
If confirmed, use the delete-paywall tool.`,
|
|
30
|
+
review: `Please review my paywall configuration for best practices.
|
|
31
|
+
1. Use list-paywalls to fetch all paywalls
|
|
32
|
+
2. Check for: unreasonably low prices (< $0.001), inactive paywalls that might be forgotten, missing descriptions
|
|
33
|
+
3. Use get-merchant-profile to check my supported chains
|
|
34
|
+
4. Suggest improvements and warn about any issues`,
|
|
35
|
+
};
|
|
36
|
+
return {
|
|
37
|
+
messages: [
|
|
38
|
+
{
|
|
39
|
+
role: "user",
|
|
40
|
+
content: {
|
|
41
|
+
type: "text",
|
|
42
|
+
text: instructions[action],
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
],
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=manage-paywalls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manage-paywalls.js","sourceRoot":"","sources":["../../src/prompts/manage-paywalls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,4BAA4B,CAAC,MAAiB;IAC5D,MAAM,CAAC,MAAM,CACX,iBAAiB,EACjB,qFAAqF;QACnF,gEAAgE,EAClE;QACE,MAAM,EAAE,CAAC;aACN,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;aACtD,QAAQ,CAAC,2BAA2B,CAAC;KACzC,EACD,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;QACb,MAAM,YAAY,GAA2B;YAC3C,IAAI,EAAE;;6CAE+B;YACrC,MAAM,EAAE;;;;;;;;2EAQ2D;YACnE,MAAM,EAAE;;;8CAG8B;YACtC,MAAM,EAAE;;;2CAG2B;YACnC,MAAM,EAAE;;;;kDAIkC;SAC3C,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;qBAC3B;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monitor-payments.d.ts","sourceRoot":"","sources":["../../src/prompts/monitor-payments.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEzE,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,SAAS,QAqD9D"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
export function registerMonitorPaymentsPrompt(server) {
|
|
3
|
+
server.prompt("monitor-payments", "Monitor payment activity: view transaction history, check settlement metrics, " +
|
|
4
|
+
"and investigate failures or pending payments.", {
|
|
5
|
+
timeframe: z
|
|
6
|
+
.enum(["today", "week", "month"])
|
|
7
|
+
.default("today")
|
|
8
|
+
.describe("Time period to focus on."),
|
|
9
|
+
focus: z
|
|
10
|
+
.enum(["overview", "failures", "pending"])
|
|
11
|
+
.default("overview")
|
|
12
|
+
.describe("What aspect to focus on."),
|
|
13
|
+
}, ({ timeframe, focus }) => {
|
|
14
|
+
const focusInstructions = {
|
|
15
|
+
overview: `Give me an overview of my payment activity for ${timeframe}:
|
|
16
|
+
1. Use get-settlement-metrics to show overall performance (settlement count, latency, error rate)
|
|
17
|
+
2. Use list-transactions to show recent transactions
|
|
18
|
+
3. Summarize: total volume, success rate, most active chains, and any concerning patterns
|
|
19
|
+
4. If there are failed transactions, briefly note them`,
|
|
20
|
+
failures: `Help me investigate failed payments for ${timeframe}:
|
|
21
|
+
1. Use list-transactions with status=failed to find failures
|
|
22
|
+
2. For each failure, analyze the likely cause:
|
|
23
|
+
- Insufficient USDC balance
|
|
24
|
+
- Wrong chain/network mismatch
|
|
25
|
+
- Transaction timeout
|
|
26
|
+
- RPC connectivity issues
|
|
27
|
+
3. Use check-facilitator-health to verify the facilitator is healthy
|
|
28
|
+
4. Check list-webhooks with status=failed to see if webhook notifications also failed
|
|
29
|
+
5. Suggest remediation steps`,
|
|
30
|
+
pending: `Show me pending/stuck payments for ${timeframe}:
|
|
31
|
+
1. Use list-transactions with status=pending to find stuck transactions
|
|
32
|
+
2. Also check status=mempool for transactions waiting for confirmation
|
|
33
|
+
3. Use get-settlement-metrics to see if latency is elevated
|
|
34
|
+
4. Use check-facilitator-health to check worker status (confirmation worker)
|
|
35
|
+
5. For each pending transaction, explain how long it's been waiting and whether it's concerning`,
|
|
36
|
+
};
|
|
37
|
+
return {
|
|
38
|
+
messages: [
|
|
39
|
+
{
|
|
40
|
+
role: "user",
|
|
41
|
+
content: {
|
|
42
|
+
type: "text",
|
|
43
|
+
text: focusInstructions[focus],
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
};
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=monitor-payments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monitor-payments.js","sourceRoot":"","sources":["../../src/prompts/monitor-payments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,UAAU,6BAA6B,CAAC,MAAiB;IAC7D,MAAM,CAAC,MAAM,CACX,kBAAkB,EAClB,gFAAgF;QAC9E,+CAA+C,EACjD;QACE,SAAS,EAAE,CAAC;aACT,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;aAChC,OAAO,CAAC,OAAO,CAAC;aAChB,QAAQ,CAAC,0BAA0B,CAAC;QACvC,KAAK,EAAE,CAAC;aACL,IAAI,CAAC,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;aACzC,OAAO,CAAC,UAAU,CAAC;aACnB,QAAQ,CAAC,0BAA0B,CAAC;KACxC,EACD,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE;QACvB,MAAM,iBAAiB,GAA2B;YAChD,QAAQ,EAAE,kDAAkD,SAAS;;;;uDAItB;YAC/C,QAAQ,EAAE,2CAA2C,SAAS;;;;;;;;;6BASzC;YACrB,OAAO,EAAE,sCAAsC,SAAS;;;;;gGAKgC;SACzF,CAAC;QAEF,OAAO;YACL,QAAQ,EAAE;gBACR;oBACE,IAAI,EAAE,MAAe;oBACrB,OAAO,EAAE;wBACP,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAC;qBAC/B;iBACF;aACF;SACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,MAAM,WAAW,kBAAkB;IACjC,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,GAAE,kBAAuB,
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMpE,MAAM,WAAW,kBAAkB;IACjC,qDAAqD;IACrD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,GAAE,kBAAuB,aAgDvE"}
|
package/dist/server.js
CHANGED
|
@@ -15,7 +15,7 @@ import { registerPrompts } from "./prompts/index.js";
|
|
|
15
15
|
export function createPincerPayMcpServer(config = {}) {
|
|
16
16
|
const server = new McpServer({
|
|
17
17
|
name: "pincerpay",
|
|
18
|
-
version: "0.
|
|
18
|
+
version: "0.4.0",
|
|
19
19
|
}, {
|
|
20
20
|
instructions: "PincerPay is an on-chain USDC payment gateway for AI agents — no card rails, " +
|
|
21
21
|
"pure stablecoin settlement via the x402 protocol (HTTP 402). Solana is the primary " +
|
|
@@ -24,7 +24,16 @@ export function createPincerPayMcpServer(config = {}) {
|
|
|
24
24
|
"- Merchant (accept payments): use the `integrate-merchant` prompt → scaffold-x402-middleware → validate-payment-config → generate-ucp-manifest\n" +
|
|
25
25
|
"- Agent developer (make payments): use the `integrate-agent` prompt → scaffold-agent-client → estimate-gas-cost\n" +
|
|
26
26
|
"- Unclear: use the `get-started` prompt to triage\n" +
|
|
27
|
-
"- Debugging: use the `debug-transaction` prompt\n
|
|
27
|
+
"- Debugging: use the `debug-transaction` prompt\n" +
|
|
28
|
+
"- Paywall management: use the `manage-paywalls` prompt\n" +
|
|
29
|
+
"- Payment monitoring: use the `monitor-payments` prompt\n\n" +
|
|
30
|
+
"OPERATIONAL TOOLS (require API key):\n" +
|
|
31
|
+
"- Paywall CRUD: list-paywalls, create-paywall, update-paywall, delete-paywall\n" +
|
|
32
|
+
"- Transactions: list-transactions, check-transaction-status, verify-payment\n" +
|
|
33
|
+
"- Agents: list-agents, update-agent\n" +
|
|
34
|
+
"- Webhooks: list-webhooks, retry-webhook\n" +
|
|
35
|
+
"- Account: get-merchant-profile\n" +
|
|
36
|
+
"- Health: check-facilitator-health, get-settlement-metrics\n\n" +
|
|
28
37
|
"KEY GOTCHAS to always warn about:\n" +
|
|
29
38
|
"1. Route `price` uses human-readable USDC (\"0.01\"), but spending `policies` use base units with 6 decimals (\"10000\" = $0.01). Using \"0.10\" in a policy causes BigInt() to throw.\n" +
|
|
30
39
|
"2. ESM required: \"type\": \"module\" in package.json — SDKs are ESM-only.\n" +
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AASrD;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAA6B,EAAE;IACtE,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;QACE,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EACV,+EAA+E;YAC/E,qFAAqF;YACrF,4DAA4D;YAC5D,uFAAuF;YACvF,kJAAkJ;YAClJ,mHAAmH;YACnH,qDAAqD;YACrD,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AASrD;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CAAC,SAA6B,EAAE;IACtE,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B;QACE,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EACV,+EAA+E;YAC/E,qFAAqF;YACrF,4DAA4D;YAC5D,uFAAuF;YACvF,kJAAkJ;YAClJ,mHAAmH;YACnH,qDAAqD;YACrD,mDAAmD;YACnD,0DAA0D;YAC1D,6DAA6D;YAC7D,wCAAwC;YACxC,iFAAiF;YACjF,+EAA+E;YAC/E,uCAAuC;YACvC,4CAA4C;YAC5C,mCAAmC;YACnC,gEAAgE;YAChE,qCAAqC;YACrC,0LAA0L;YAC1L,8EAA8E;YAC9E,uFAAuF;YACvF,qEAAqE;YACrE,+EAA+E;YAC/E,uFAAuF;QACzF,YAAY,EAAE;YACZ,OAAO,EAAE,EAAE;SACZ;KACF,CACF,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,iBAAiB,CAAC;QACnC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,cAAc,EAAE,MAAM,CAAC,cAAc;KACtC,CAAC,CAAC;IAEH,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,eAAe,CAAC,MAAM,CAAC,CAAC;IAExB,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { FacilitatorClient } from "../client.js";
|
|
3
|
+
export declare function registerCheckHealth(server: McpServer, client: FacilitatorClient): void;
|
|
4
|
+
//# sourceMappingURL=check-health.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-health.d.ts","sourceRoot":"","sources":["../../src/tools/check-health.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,iBAAiB,QAgC1B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export function registerCheckHealth(server, client) {
|
|
2
|
+
server.tool("check-facilitator-health", "Check whether the PincerPay facilitator is reachable and healthy. " +
|
|
3
|
+
"Returns database status, worker health, uptime, and Kora (gasless) status. " +
|
|
4
|
+
"No API key required. Use this as the first troubleshooting step.", {}, async () => {
|
|
5
|
+
try {
|
|
6
|
+
const result = await client.getHealth();
|
|
7
|
+
return {
|
|
8
|
+
content: [
|
|
9
|
+
{
|
|
10
|
+
type: "text",
|
|
11
|
+
text: JSON.stringify(result, null, 2),
|
|
12
|
+
},
|
|
13
|
+
],
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
catch (err) {
|
|
17
|
+
return {
|
|
18
|
+
content: [
|
|
19
|
+
{
|
|
20
|
+
type: "text",
|
|
21
|
+
text: `Failed to reach facilitator: ${err instanceof Error ? err.message : String(err)}`,
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
isError: true,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=check-health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-health.js","sourceRoot":"","sources":["../../src/tools/check-health.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,mBAAmB,CACjC,MAAiB,EACjB,MAAyB;IAEzB,MAAM,CAAC,IAAI,CACT,0BAA0B,EAC1B,oEAAoE;QAClE,6EAA6E;QAC7E,kEAAkE,EACpE,EAAE,EACF,KAAK,IAAI,EAAE;QACT,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;YACxC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;qBACtC;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,gCAAgC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;qBACzF;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { FacilitatorClient } from "../client.js";
|
|
3
|
+
export declare function registerCreatePaywall(server: McpServer, client: FacilitatorClient): void;
|
|
4
|
+
//# sourceMappingURL=create-paywall.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-paywall.d.ts","sourceRoot":"","sources":["../../src/tools/create-paywall.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAqBtD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,iBAAiB,QAmC1B"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
const inputSchema = {
|
|
3
|
+
endpointPattern: z
|
|
4
|
+
.string()
|
|
5
|
+
.min(1)
|
|
6
|
+
.describe('HTTP method + path to paywall, e.g. "GET /api/weather".'),
|
|
7
|
+
amount: z
|
|
8
|
+
.string()
|
|
9
|
+
.min(1)
|
|
10
|
+
.describe('USDC price in human-readable format, e.g. "0.01".'),
|
|
11
|
+
description: z
|
|
12
|
+
.string()
|
|
13
|
+
.optional()
|
|
14
|
+
.describe("Optional description of what this endpoint provides."),
|
|
15
|
+
chains: z
|
|
16
|
+
.array(z.string())
|
|
17
|
+
.optional()
|
|
18
|
+
.describe("Override supported chains for this paywall. Omit to use merchant defaults."),
|
|
19
|
+
};
|
|
20
|
+
export function registerCreatePaywall(server, client) {
|
|
21
|
+
server.tool("create-paywall", "Create a new paywalled endpoint. Sets the USDC price and optional chain restrictions. " +
|
|
22
|
+
"The endpoint pattern must be unique per merchant. Requires a PincerPay API key.", inputSchema, async ({ endpointPattern, amount, description, chains }) => {
|
|
23
|
+
try {
|
|
24
|
+
client.requireAuth();
|
|
25
|
+
}
|
|
26
|
+
catch (err) {
|
|
27
|
+
return {
|
|
28
|
+
content: [{ type: "text", text: err instanceof Error ? err.message : String(err) }],
|
|
29
|
+
isError: true,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
try {
|
|
33
|
+
const result = await client.createPaywall({
|
|
34
|
+
endpointPattern,
|
|
35
|
+
amount,
|
|
36
|
+
description,
|
|
37
|
+
chains,
|
|
38
|
+
});
|
|
39
|
+
return {
|
|
40
|
+
content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
return {
|
|
45
|
+
content: [{ type: "text", text: `Failed to create paywall: ${err instanceof Error ? err.message : String(err)}` }],
|
|
46
|
+
isError: true,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=create-paywall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-paywall.js","sourceRoot":"","sources":["../../src/tools/create-paywall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,MAAM,WAAW,GAAG;IAClB,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,yDAAyD,CAAC;IACtE,MAAM,EAAE,CAAC;SACN,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,mDAAmD,CAAC;IAChE,WAAW,EAAE,CAAC;SACX,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,sDAAsD,CAAC;IACnE,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,4EAA4E,CAAC;CAC1F,CAAC;AAEF,MAAM,UAAU,qBAAqB,CACnC,MAAiB,EACjB,MAAyB;IAEzB,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB,wFAAwF;QACtF,iFAAiF,EACnF,WAAW,EACX,KAAK,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,EAAE;QACzD,IAAI,CAAC;YACH,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5F,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC;gBACxC,eAAe;gBACf,MAAM;gBACN,WAAW;gBACX,MAAM;aACP,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,6BAA6B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBAC3H,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
+
import type { FacilitatorClient } from "../client.js";
|
|
3
|
+
export declare function registerDeletePaywall(server: McpServer, client: FacilitatorClient): void;
|
|
4
|
+
//# sourceMappingURL=delete-paywall.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-paywall.d.ts","sourceRoot":"","sources":["../../src/tools/delete-paywall.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAMtD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,iBAAiB,QA+B1B"}
|