agentpay-mcp 4.1.4 → 4.1.6
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/Dockerfile +15 -0
- package/README.md +1 -0
- package/dist/index.js +2 -2
- package/docs/directory-introspection-readiness.md +77 -0
- package/glama.json +4 -0
- package/package.json +8 -4
- package/smithery.yaml +37 -0
package/Dockerfile
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
FROM node:20-slim AS builder
|
|
2
|
+
WORKDIR /app
|
|
3
|
+
COPY package*.json ./
|
|
4
|
+
RUN npm ci
|
|
5
|
+
COPY tsconfig.json ./
|
|
6
|
+
COPY src/ ./src/
|
|
7
|
+
RUN npm run build
|
|
8
|
+
|
|
9
|
+
FROM node:20-slim
|
|
10
|
+
WORKDIR /app
|
|
11
|
+
COPY --from=builder /app/dist ./dist
|
|
12
|
+
COPY --from=builder /app/node_modules ./node_modules
|
|
13
|
+
COPY package*.json ./
|
|
14
|
+
ENV NODE_ENV=production
|
|
15
|
+
ENTRYPOINT ["node", "dist/index.js"]
|
package/README.md
CHANGED
|
@@ -90,6 +90,7 @@ AgentPay MCP is built for enterprise MCP deployments where supply chain security
|
|
|
90
90
|
- **x402 multi-SDK batch-settlement parity.** For providers testing x402 TypeScript and Go batch-settlement clients, use the [multi-SDK batch-settlement parity recipe](docs/x402-multi-sdk-batch-settlement-parity.md) to prove shared channel state, phased e2e results, signer separation, refund/recovery visibility, and proof bundle shape.
|
|
91
91
|
- **x402 TVM readiness.** For TVM/TON exact-payment offers from emerging x402 examples, use the [x402 TVM readiness note](docs/x402-tvm-readiness.md) to confirm unsupported TVM requirements fail closed until deliberate signing, gas, jetton, and settlement support exists.
|
|
92
92
|
- **x402 MCP funding UX.** For hosted fund-link and managed-wallet comparisons, use the [x402 MCP funding UX benchmark](docs/x402-mcp-funding-ux-benchmark.md) to keep onboarding speed separate from approval gates, daily caps, auditability, and non-custodial controls.
|
|
93
|
+
- **Directory introspection readiness.** For Glama, Smithery, and other MCP catalogs, use the [directory introspection readiness note](docs/directory-introspection-readiness.md) for verified `npx`, Docker, MCP name, and non-custodial metadata paths.
|
|
93
94
|
- **WhatsApp and SMB agent controls.** For channel-native paid agents, use the [WhatsApp and SMB paid-agent controls recipe](docs/whatsapp-smb-agent-controls.md).
|
|
94
95
|
- **Channel-agent affiliate payout controls.** For Axon-style affiliate and referral revenue shares, use the [channel-agent affiliate controls spec](docs/channel-agent-affiliate-controls.md) to keep payout caps, per-contact approval, audit rows, and optional x402 settlement separate from paid tool spend approval.
|
|
95
96
|
- **x402 chain drift.** AgentPay MCP tracks the x402 Foundation paywall-template baseline with `viem` `^2.47.12` or newer, and fails closed for unmapped chains. For PaymentWrapper and paywall template changes, follow the [x402 chain-drift compatibility note](docs/x402-chain-drift-compatibility.md).
|
package/dist/index.js
CHANGED
|
@@ -42,7 +42,7 @@ const otel_budget_js_1 = require("./tools/otel-budget.js");
|
|
|
42
42
|
// ─── Server configuration ──────────────────────────────────────────────────
|
|
43
43
|
const SERVER_INFO = {
|
|
44
44
|
name: 'agentpay-mcp',
|
|
45
|
-
version: '4.
|
|
45
|
+
version: '4.1.6',
|
|
46
46
|
};
|
|
47
47
|
const SERVER_CAPABILITIES = {
|
|
48
48
|
tools: {},
|
|
@@ -261,7 +261,7 @@ async function main() {
|
|
|
261
261
|
});
|
|
262
262
|
await server.connect(transport);
|
|
263
263
|
// Log to stderr (not stdout — stdout is reserved for MCP protocol)
|
|
264
|
-
process.stderr.write(`AgentPay MCP
|
|
264
|
+
process.stderr.write(`AgentPay MCP v4.1.6 started. ` +
|
|
265
265
|
`Wallet: ${process.env['AGENT_WALLET_ADDRESS'] ?? '(not configured)'} | ` +
|
|
266
266
|
`Chain: ${process.env['CHAIN_ID'] ?? '8453 (Base Mainnet)'} | ` +
|
|
267
267
|
`Session TTL: ${process.env['SESSION_TTL_SECONDS'] ?? '3600'}s\n`);
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# AgentPay MCP directory introspection readiness
|
|
2
|
+
|
|
3
|
+
Paid MCP servers are starting to get ranked by catalog proof, not only by README claims. This note records the install paths a directory crawler can verify without changing AgentPay MCP's custody model.
|
|
4
|
+
|
|
5
|
+
## Machine-readable package identity
|
|
6
|
+
|
|
7
|
+
- npm package: `agentpay-mcp`
|
|
8
|
+
- MCP server name in `package.json`: `io.github.up2itnow0822/agentpay`
|
|
9
|
+
- MCP runtime name from `initialize`: `agentpay-mcp`
|
|
10
|
+
- CLI binary: `agentpay-mcp`
|
|
11
|
+
- Repository: `https://github.com/up2itnow0822/agentpay-mcp`
|
|
12
|
+
- Docker entrypoint: `node dist/index.js`
|
|
13
|
+
|
|
14
|
+
The package does not create or manage a hot wallet by default. Directory installs should require explicit operator-supplied wallet configuration.
|
|
15
|
+
|
|
16
|
+
## npx path
|
|
17
|
+
|
|
18
|
+
Use this for local MCP clients and catalog recipes that execute npm packages directly:
|
|
19
|
+
|
|
20
|
+
```json
|
|
21
|
+
{
|
|
22
|
+
"mcpServers": {
|
|
23
|
+
"agentpay": {
|
|
24
|
+
"command": "npx",
|
|
25
|
+
"args": ["-y", "agentpay-mcp"],
|
|
26
|
+
"env": {
|
|
27
|
+
"AGENT_PRIVATE_KEY": "0x...",
|
|
28
|
+
"AGENT_WALLET_ADDRESS": "0x...",
|
|
29
|
+
"CHAIN_ID": "8453",
|
|
30
|
+
"RPC_URL": "https://mainnet.base.org"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
AGENT_PRIVATE_KEY stays local to the MCP runtime. AgentPay MCP does not ask a catalog to custody keys, generate first-run wallets, or opt users into a managed-wallet path.
|
|
38
|
+
|
|
39
|
+
## Docker path for Glama-style introspection
|
|
40
|
+
|
|
41
|
+
Build from the repository root:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
docker build -t agentpay-mcp:glama-introspection .
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Run stdio introspection with a placeholder address. Tool listing does not require a private key because tools are registered before any payment call loads spend policy state:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
printf '%s\n' \
|
|
51
|
+
'{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"catalog-check","version":"0.0.1"}}}' \
|
|
52
|
+
'{"jsonrpc":"2.0","method":"notifications/initialized","params":{}}' \
|
|
53
|
+
'{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' |
|
|
54
|
+
docker run --rm -i \
|
|
55
|
+
-e AGENT_WALLET_ADDRESS=0x0000000000000000000000000000000000000000 \
|
|
56
|
+
agentpay-mcp:glama-introspection
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Expected proof points:
|
|
60
|
+
|
|
61
|
+
- `initialize` returns server name `agentpay-mcp`.
|
|
62
|
+
- `tools/list` returns payment tools such as `x402_pay`, `check_budget`, `set_spend_policy`, and `otel_evaluate_spend`.
|
|
63
|
+
- No default managed wallet is created during introspection.
|
|
64
|
+
|
|
65
|
+
## Glama metadata
|
|
66
|
+
|
|
67
|
+
`glama.json` is present at the repository root with schema `https://glama.ai/mcp/schemas/server.json` and maintainer `up2itnow0822`. Glama-style crawlers can use this alongside the Dockerfile to identify the server without asking users to move private keys into a hosted catalog.
|
|
68
|
+
|
|
69
|
+
## Smithery-compatible metadata
|
|
70
|
+
|
|
71
|
+
`smithery.yaml` declares the same stdio start command and wallet environment variables. The schema marks private-key input as a password field and keeps `CHAIN_ID` constrained to supported Base values.
|
|
72
|
+
|
|
73
|
+
This is a catalog metadata file, not a hosting custody model. Hosted directory operators should still treat AgentPay MCP as a user-controlled, non-custodial server.
|
|
74
|
+
|
|
75
|
+
## Listing status
|
|
76
|
+
|
|
77
|
+
As of 2026-05-01, the Glama listing is live at `https://glama.ai/mcp/servers/up2itnow0822/claw-pay-mcp` and returned HTTP 200 during validation. The current Glama slug still reflects the older `claw-pay-mcp` crawl identity, so keep `glama.json`, the npm package name, and the MCP `mcpName` aligned for the next catalog refresh. Smithery listing URLs checked today returned HTTP 404, so do not claim a live Smithery listing until Smithery verifies it. The verified live paths today are npm, GitHub, Glama, repository metadata (`glama.json`, `smithery.yaml`, `Dockerfile`), and the open AgentPay MCP PR carrying this readiness note.
|
package/glama.json
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentpay-mcp",
|
|
3
|
-
"version": "4.1.
|
|
3
|
+
"version": "4.1.6",
|
|
4
4
|
"mcpName": "io.github.up2itnow0822/agentpay",
|
|
5
5
|
"description": "AgentPay MCP Server - Non-custodial x402 payment layer for AI agents. Multi-chain wallets, spending limits, and machine-to-machine payments. Patent Pending.",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -13,7 +13,11 @@
|
|
|
13
13
|
"README.md",
|
|
14
14
|
"claude_desktop_config.json",
|
|
15
15
|
".env.example",
|
|
16
|
-
"docs/*.md"
|
|
16
|
+
"docs/*.md",
|
|
17
|
+
"Dockerfile",
|
|
18
|
+
"smithery.yaml",
|
|
19
|
+
"glama.json",
|
|
20
|
+
"docs/directory-introspection-readiness.md"
|
|
17
21
|
],
|
|
18
22
|
"scripts": {
|
|
19
23
|
"build": "tsc",
|
|
@@ -46,7 +50,7 @@
|
|
|
46
50
|
"license": "MIT",
|
|
47
51
|
"repository": {
|
|
48
52
|
"type": "git",
|
|
49
|
-
"url": "https://github.com/up2itnow0822/agentpay-mcp"
|
|
53
|
+
"url": "git+https://github.com/up2itnow0822/agentpay-mcp.git"
|
|
50
54
|
},
|
|
51
55
|
"author": "AgentNexus",
|
|
52
56
|
"engines": {
|
|
@@ -54,7 +58,7 @@
|
|
|
54
58
|
},
|
|
55
59
|
"dependencies": {
|
|
56
60
|
"@modelcontextprotocol/sdk": "^1.0.4",
|
|
57
|
-
"agentwallet-sdk": "^6.1
|
|
61
|
+
"agentwallet-sdk": "^6.2.1",
|
|
58
62
|
"viem": "^2.47.12",
|
|
59
63
|
"zod": "^3.22.4"
|
|
60
64
|
},
|
package/smithery.yaml
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Smithery deployment config for AgentPay MCP
|
|
2
|
+
# Catalog metadata only. AgentPay MCP remains non-custodial: users provide their own wallet key and wallet address.
|
|
3
|
+
|
|
4
|
+
runtime: typescript
|
|
5
|
+
startCommand:
|
|
6
|
+
type: stdio
|
|
7
|
+
command: node
|
|
8
|
+
args: ["dist/index.js"]
|
|
9
|
+
configSchema:
|
|
10
|
+
type: object
|
|
11
|
+
required:
|
|
12
|
+
- AGENT_PRIVATE_KEY
|
|
13
|
+
- AGENT_WALLET_ADDRESS
|
|
14
|
+
properties:
|
|
15
|
+
AGENT_PRIVATE_KEY:
|
|
16
|
+
type: string
|
|
17
|
+
title: Agent private key
|
|
18
|
+
description: User-controlled 0x-prefixed agent hot wallet private key. Keep this local to the MCP runtime.
|
|
19
|
+
format: password
|
|
20
|
+
AGENT_WALLET_ADDRESS:
|
|
21
|
+
type: string
|
|
22
|
+
title: Agent wallet address
|
|
23
|
+
description: Deployed AgentAccountV2 contract address controlled by the operator.
|
|
24
|
+
CHAIN_ID:
|
|
25
|
+
type: string
|
|
26
|
+
title: Chain ID
|
|
27
|
+
description: Supported x402 exact-payment chain. Defaults to Base mainnet.
|
|
28
|
+
enum: ["8453", "84532"]
|
|
29
|
+
default: "8453"
|
|
30
|
+
RPC_URL:
|
|
31
|
+
type: string
|
|
32
|
+
title: RPC URL
|
|
33
|
+
description: Optional RPC endpoint. Defaults to public Base RPC when omitted.
|
|
34
|
+
SESSION_TTL_SECONDS:
|
|
35
|
+
type: string
|
|
36
|
+
title: Session TTL seconds
|
|
37
|
+
description: Optional x402 session token TTL. Defaults to 3600 seconds.
|