From e8c8a4eba3a6c1e7e0907f5fc7d9dbc58934c31d Mon Sep 17 00:00:00 2001 From: BarisSozen Date: Mon, 18 May 2026 21:43:56 +0300 Subject: [PATCH 1/2] release: v0.3.0 (npm 0.2.0 already shipped the broken pre-Layer-1 build) + correct 2025-12-11 registry manifest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit npm @hashlock-tech/mcp@0.2.0 is already published from gitHead 68ee2da (pre-Layer-1: broken get_htlc, no error envelope/discovery/idempotency). The merged Layer 1 work is also 0.2.0 so it cannot be published — bump package.json + McpServer to 0.3.0. Replace the stale 2025-09-29 server.json (installation block, no packages[]) with the correct 2025-12-11 schema mirroring the live registry: packages[].version=0.3.0 (npm), top-level version=1.3.0 (registry manifest revision, > live 1.2.0; deliberately NOT the npm version), plus the streamable-http remote the stale file lacked. Co-Authored-By: Claude Opus 4.7 (1M context) --- mcp-registry.json | 60 -------------------------------------------- package.json | 2 +- server.json | 64 +++++++++++++++++++++++++---------------------- src/index.ts | 2 +- 4 files changed, 36 insertions(+), 92 deletions(-) delete mode 100644 mcp-registry.json diff --git a/mcp-registry.json b/mcp-registry.json deleted file mode 100644 index 2eb7267..0000000 --- a/mcp-registry.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json", - "name": "io.github.Hashlock-Tech/hashlock", - "description": "Sealed-bid OTC trading with HTLC atomic settlement. ETH, BTC, SUI. Built for AI agents.", - "title": "Hashlock Markets", - "repository": { - "url": "https://github.com/Hashlock-Tech/hashlock-mcp", - "source": "github", - "id": "1206275989" - }, - "version": "1.2.0", - "websiteUrl": "https://hashlock.markets", - "packages": [ - { - "registryType": "npm", - "registryBaseUrl": "https://registry.npmjs.org", - "identifier": "@hashlock-tech/mcp", - "version": "0.2.0", - "runtimeHint": "npx", - "transport": { - "type": "stdio" - }, - "runtimeArguments": [ - { - "description": "Auto-confirm npx install prompt", - "isRequired": true, - "type": "positional", - "value": "-y" - } - ], - "environmentVariables": [ - { - "description": "SIWE JWT from hashlock.markets/sign/login", - "isRequired": true, - "isSecret": true, - "name": "HASHLOCK_ACCESS_TOKEN" - }, - { - "description": "GraphQL endpoint override", - "default": "https://hashlock.markets/api/graphql", - "name": "HASHLOCK_ENDPOINT" - } - ] - } - ], - "remotes": [ - { - "type": "streamable-http", - "url": "https://hashlock.markets/mcp", - "headers": [ - { - "description": "SIWE bearer token from hashlock.markets/sign/login", - "isRequired": true, - "isSecret": true, - "name": "Authorization" - } - ] - } - ] -} diff --git a/package.json b/package.json index 00b185d..5e3388e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@hashlock-tech/mcp", - "version": "0.2.0", + "version": "0.3.0", "mcpName": "io.github.Hashlock-Tech/hashlock", "description": "Hashlock Markets — atomic settlement layer for the agent economy. Sealed-bid RFQ + HTLC atomic settlement, fused into one operation. Live on Ethereum and Sui mainnets; Bitcoin HTLC mainnet-ready via P2WSH scripts (no contract to deploy; signet-validated); Base, Arbitrum, Solana, TON on the roadmap. The settlement primitive AI agents use to trade across chains. MCP-native, retry-safe, signed receipts. NOT the cryptographic HTLC primitive. NOT affiliated with Hashlock Pty Ltd (hashlock.com).", "license": "MIT", diff --git a/server.json b/server.json index 1be41ba..6bee935 100644 --- a/server.json +++ b/server.json @@ -1,35 +1,39 @@ { - "$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json", + "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json", "name": "io.github.Hashlock-Tech/hashlock", - "version": "0.2.0", - "description": "Trustless cross-chain OTC settlement for AI agents. Sealed-bid RFQ + HTLC atomic swap.", - "vendor": "Hashlock-Tech", - "sourceUrl": "https://github.com/Hashlock-Tech/hashlock-mcp", - "homepage": "https://hashlock.markets", - "license": "MIT", - "runtime": "node", - "transport": ["stdio"], - "features": { - "tools": true, - "resources": false, - "prompts": false + "description": "Sealed-bid OTC trading with HTLC atomic settlement. ETH, BTC, SUI. Built for AI agents.", + "title": "Hashlock Markets", + "repository": { + "url": "https://github.com/Hashlock-Tech/hashlock-mcp", + "source": "github", + "id": "1206275989" }, - "tools": [ - { "name": "create_rfq", "description": "Create a Request for Quote to buy or sell crypto" }, - { "name": "respond_rfq", "description": "Submit a price quote for an open RFQ" }, - { "name": "create_htlc", "description": "Create and fund an HTLC for atomic OTC settlement" }, - { "name": "withdraw_htlc", "description": "Claim an HTLC by revealing the preimage" }, - { "name": "refund_htlc", "description": "Refund an HTLC after timelock expiry" }, - { "name": "get_htlc", "description": "Query HTLC status for a trade" } + "version": "1.3.0", + "websiteUrl": "https://hashlock.markets", + "packages": [ + { + "registryType": "npm", + "registryBaseUrl": "https://registry.npmjs.org", + "identifier": "@hashlock-tech/mcp", + "version": "0.3.0", + "runtimeHint": "npx", + "transport": { "type": "stdio" }, + "runtimeArguments": [ + { "description": "Auto-confirm npx install prompt", "isRequired": true, "value": "-y", "type": "positional" } + ], + "environmentVariables": [ + { "description": "SIWE JWT from hashlock.markets/sign/login", "isRequired": true, "isSecret": true, "name": "HASHLOCK_ACCESS_TOKEN" }, + { "description": "GraphQL endpoint override", "default": "https://hashlock.markets/api/graphql", "name": "HASHLOCK_ENDPOINT" } + ] + } ], - "installation": { - "npm": "@hashlock-tech/mcp", - "command": "npx -y @hashlock-tech/mcp", - "env": { - "HASHLOCK_ACCESS_TOKEN": { - "description": "7-day SIWE JWT from hashlock.markets/sign/login", - "required": true - } + "remotes": [ + { + "type": "streamable-http", + "url": "https://hashlock.markets/mcp", + "headers": [ + { "description": "SIWE bearer token from hashlock.markets/sign/login", "isRequired": true, "isSecret": true, "name": "Authorization" } + ] } - } -} \ No newline at end of file + ] +} diff --git a/src/index.ts b/src/index.ts index 49c6f57..54923f4 100644 --- a/src/index.ts +++ b/src/index.ts @@ -30,7 +30,7 @@ const idempotency = createIdempotencyGuard(); const server = new McpServer({ name: 'hashlock', - version: '0.2.0', + version: '0.3.0', }); // ─── create_htlc ───────────────────────────────────────────── From bd2c7ca4f30a0607f97cca1d4c8ac48fd8abdd33 Mon Sep 17 00:00:00 2001 From: BarisSozen Date: Mon, 18 May 2026 21:55:00 +0300 Subject: [PATCH 2/2] fix(manifest): HASHLOCK_ENDPOINT default /graphql not /api/graphql (CodeRabbit) src/index.ts defaults to https://hashlock.markets/graphql because /api/graphql is the SSR proxy that 401s Bearer-JWT MCP clients. The manifest default (mirrored from the live registry entry) wrongly advertised /api/graphql, causing immediate 401s for users relying on it. Correcting here also fixes the live registry entry on the next re-publish. Co-Authored-By: Claude Opus 4.7 (1M context) --- server.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server.json b/server.json index 6bee935..c6146a4 100644 --- a/server.json +++ b/server.json @@ -23,7 +23,7 @@ ], "environmentVariables": [ { "description": "SIWE JWT from hashlock.markets/sign/login", "isRequired": true, "isSecret": true, "name": "HASHLOCK_ACCESS_TOKEN" }, - { "description": "GraphQL endpoint override", "default": "https://hashlock.markets/api/graphql", "name": "HASHLOCK_ENDPOINT" } + { "description": "GraphQL endpoint override", "default": "https://hashlock.markets/graphql", "name": "HASHLOCK_ENDPOINT" } ] } ],