cascrow-mcp 1.8.0 → 3.1.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/package.json CHANGED
@@ -1,9 +1,15 @@
1
1
  {
2
2
  "name": "cascrow-mcp",
3
- "version": "1.8.0",
4
- "description": "MCP server for Cascrow — trust infrastructure for the agent economy: AI verification, on-chain reputation, and milestone escrow on the XRP Ledger",
3
+ "version": "3.1.0",
4
+ "description": "MCP server for Cascrow — trust infrastructure for the agent economy: AI verification, on-chain reputation, and non-custodial milestone escrow (MilestoneEscrowV3, native XRP)",
5
5
  "type": "module",
6
6
  "main": "index.js",
7
+ "files": [
8
+ "index.js",
9
+ "README.md",
10
+ "CHANGELOG.md",
11
+ "LICENSE"
12
+ ],
7
13
  "bin": {
8
14
  "cascrow-mcp": "index.js"
9
15
  },
@@ -11,7 +17,7 @@
11
17
  "start": "node index.js"
12
18
  },
13
19
  "dependencies": {
14
- "@modelcontextprotocol/sdk": "^1.15.0"
20
+ "@modelcontextprotocol/sdk": "^1.32.1"
15
21
  },
16
22
  "keywords": [
17
23
  "mcp",
@@ -1,97 +0,0 @@
1
- # Remote HTTP MCP Server — Smithery Listing
2
-
3
- **Status: Done.** The HTTP transport described below is live at
4
- `src/app/api/mcp/route.ts` (Streamable HTTP, `@modelcontextprotocol/sdk`,
5
- `WebStandardStreamableHTTPServerTransport`), serving the same 18 tools as this
6
- package's stdio server. `smithery.yaml` already lists both the remote URL
7
- (`https://cascrow.com/api/mcp`) and the local `npx cascrow-mcp` stdio fallback.
8
- The plan below is kept as a historical record of what was built and why —
9
- nothing in it is still pending.
10
-
11
- **Update (2026-08-03):** both this HTTP transport and the stdio server now also work
12
- without an API key — an unauthenticated caller gets a restricted server exposing only
13
- `cascrow_verify_work` (anonymous, 3/day per IP, same tier as `POST /api/verify/standalone`),
14
- instead of the transport-level 401 described below. Full 18-tool access still requires
15
- `Authorization: Bearer csk_...` exactly as documented.
16
-
17
- ## Why
18
-
19
- The current `cascrow-mcp` package runs locally via `npx` (stdio transport).
20
- That works for **Claude Desktop** only.
21
-
22
- A remote HTTP MCP server at `https://cascrow.com/mcp` would enable:
23
- - **Claude.ai Web** (browser) — which only supports remote HTTP, not stdio
24
- - **Smithery listing** under `cascrow/cascrow` with one-click install for 10k+ users
25
- - **Any MCP client** without Node.js installed
26
-
27
- ## The Use Case (no escrow needed)
28
-
29
- The primary value right now is **AI work verification**, independent of payments:
30
-
31
- - Agent does work → calls `cascrow_mcp_submit` with `amountUSD: 0`
32
- - 5 independent AI models vote on whether the work is complete
33
- - User sees: "4/5 models approved, 89% confidence"
34
- - Public certificate at `cascrow.com/proof/[hash]`
35
-
36
- This works today on testnet. No MetaMask, no wallet, no escrow required.
37
- Positions cascrow as the **trust/verification layer for AI work** before the agent economy matures.
38
-
39
- ## What Needs to Be Built
40
-
41
- ### 1. HTTP MCP Endpoint — `src/app/api/mcp/route.ts`
42
-
43
- Replace stdio transport with HTTP transport using `@modelcontextprotocol/sdk`:
44
-
45
- ```ts
46
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
47
- import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
48
-
49
- // Same 16 tools as cascrow-mcp/index.js but served over HTTP
50
- // Auth: API key from Authorization header or ?api_key= query param
51
- ```
52
-
53
- The 16 tools already exist in `cascrow-mcp/index.js` — they just need to be
54
- ported from stdio to HTTP transport. All business logic (`/api/mcp/submit`,
55
- `/api/contracts`, etc.) stays unchanged.
56
-
57
- ### 2. Smithery Registration
58
-
59
- - Create Smithery account under `cascrow` org (not personal `moeller` namespace)
60
- - Go to smithery.ai/new
61
- - Namespace: `cascrow` / Server ID: `cascrow`
62
- - MCP Server URL: `https://cascrow.com/mcp`
63
- - Result: `smithery.ai/server/cascrow/cascrow` with one-click install
64
-
65
- ### 3. Auth for Remote Connections
66
-
67
- Remote users authenticate with their cascrow API key (`csk_...`).
68
- Two options (both fine):
69
- - `Authorization: Bearer csk_...` header
70
- - `?api_key=csk_...` query param (easier for Smithery config UI)
71
-
72
- ### 4. Smithery Config Schema (update smithery.yaml)
73
-
74
- ```yaml
75
- startCommand:
76
- type: http
77
- configSchema:
78
- type: object
79
- properties:
80
- CASCROW_API_KEY:
81
- type: string
82
- description: "Your cascrow API key (csk_...)"
83
- required:
84
- - CASCROW_API_KEY
85
- url: https://cascrow.com/mcp
86
- ```
87
-
88
- ## Effort Estimate
89
-
90
- ~4–6 hours. The hard parts (tools, auth, business logic) are already done.
91
- Only the transport layer needs to change.
92
-
93
- ## When to Do This
94
-
95
- **Now** — the verification use case (amountUSD: 0) works on testnet today.
96
- Getting listed on Smithery/Claude.ai Web establishes cascrow as the
97
- verification standard before competitors enter the space.
package/server.json DELETED
@@ -1,46 +0,0 @@
1
- {
2
- "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
- "name": "io.github.jnm04/cascrow-mcp",
4
- "title": "Cascrow",
5
- "description": "Independent 5-model AI verification of AI-generated work — free, no account required.",
6
- "websiteUrl": "https://cascrow.com",
7
- "repository": {
8
- "url": "https://github.com/Jnm04/Milestone-Based-Funding",
9
- "source": "github",
10
- "subfolder": "cascrow-mcp"
11
- },
12
- "version": "1.8.0",
13
- "packages": [
14
- {
15
- "registryType": "npm",
16
- "registryBaseUrl": "https://registry.npmjs.org",
17
- "identifier": "cascrow-mcp",
18
- "version": "1.8.0",
19
- "transport": {
20
- "type": "stdio"
21
- },
22
- "environmentVariables": [
23
- {
24
- "name": "CASCROW_API_KEY",
25
- "description": "Cascrow API key (csk_...). Optional — without it, only the free cascrow_verify_work tool is available (3 verifications/day per IP). Get one instantly via POST /api/agent/register, no human review required.",
26
- "isRequired": false,
27
- "isSecret": true
28
- }
29
- ]
30
- }
31
- ],
32
- "remotes": [
33
- {
34
- "type": "streamable-http",
35
- "url": "https://cascrow.com/api/mcp",
36
- "headers": [
37
- {
38
- "name": "Authorization",
39
- "description": "Bearer csk_... API key. Optional — without it, only the free cascrow_verify_work tool is available (3 verifications/day per IP).",
40
- "isRequired": false,
41
- "isSecret": true
42
- }
43
- ]
44
- }
45
- ]
46
- }
package/smithery.yaml DELETED
@@ -1,28 +0,0 @@
1
- # Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml
2
-
3
- # Remote HTTP transport (Claude.ai web, Claude.ai API)
4
- url: https://cascrow.com/api/mcp
5
-
6
- startCommand:
7
- type: stdio
8
- configSchema:
9
- type: object
10
- properties:
11
- CASCROW_API_KEY:
12
- type: string
13
- description: "Optional. Your cascrow API key (starts with csk_) — get one at cascrow.com/register or POST /api/agent/register. Without it, the server still starts but only cascrow_verify_work is available (3 free AI-verified checks per IP per day, no account needed). Set this to unlock all 18 tools."
14
- pattern: "^csk_"
15
- CASCROW_BASE_URL:
16
- type: string
17
- description: "Cascrow API base URL. Leave blank to use the default (https://cascrow.com)."
18
- default: "https://cascrow.com"
19
- required: []
20
- commandFunction: |-
21
- (config) => ({
22
- command: 'npx',
23
- args: ['-y', 'cascrow-mcp'],
24
- env: {
25
- CASCROW_API_KEY: config.CASCROW_API_KEY || '',
26
- CASCROW_BASE_URL: config.CASCROW_BASE_URL || 'https://cascrow.com'
27
- }
28
- })