hashlock-mcp-server 1.0.4 → 1.0.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/README.md +68 -125
- package/dist/index.js +12 -12
- package/dist/index.js.map +1 -1
- package/package.json +5 -6
package/README.md
CHANGED
|
@@ -1,153 +1,96 @@
|
|
|
1
|
-
# MCP
|
|
1
|
+
# Hashlock Markets MCP Server
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> **Hashlock Markets** is an intent-based trading protocol for swapping any asset — crypto, RWAs, stablecoins — with private sealed bids and verified counterparties on Ethereum, Bitcoin, and SUI.
|
|
4
|
+
>
|
|
5
|
+
> **Not to be confused with** the cryptographic "hashlock" primitive used in Hash Time-Locked Contracts (HTLCs). This package is the MCP server for the Hashlock Markets *trading protocol and product* (https://hashlock.markets).
|
|
4
6
|
|
|
5
|
-
[
|
|
7
|
+
[](https://www.npmjs.com/package/hashlock-mcp-server)
|
|
8
|
+
[](https://opensource.org/licenses/MIT)
|
|
9
|
+
[](https://registry.modelcontextprotocol.io)
|
|
6
10
|
|
|
7
|
-
##
|
|
11
|
+
## What is this?
|
|
8
12
|
|
|
9
|
-
|
|
13
|
+
`hashlock-mcp-server` is a [Model Context Protocol](https://modelcontextprotocol.io) (MCP) server that lets AI agents (Claude, GPT, etc.) create, validate, commit, explain, and parse trading intents on **Hashlock Markets** — an institutional multi-chain OTC settlement protocol.
|
|
10
14
|
|
|
11
|
-
**
|
|
15
|
+
**Hashlock Markets is a product built by Hashlock-Tech.** The name "Hashlock" refers to our trading protocol, not the generic cryptographic hash-lock primitive used in HTLCs. Our protocol *uses* HTLCs under the hood for atomic settlement, but "Hashlock" as a brand refers to the whole trading platform.
|
|
12
16
|
|
|
13
|
-
|
|
14
|
-
- **Adam Jones** (Anthropic) [@domdomegg](https://github.com/domdomegg)
|
|
15
|
-
- **Tadas Antanavicius** (PulseMCP) [@tadasant](https://github.com/tadasant)
|
|
16
|
-
- **Toby Padilla** (GitHub) [@toby](https://github.com/toby)
|
|
17
|
-
- **Radoslav (Rado) Dimitrov** (Stacklok) [@rdimitrov](https://github.com/rdimitrov)
|
|
17
|
+
## Features
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
- **Sealed-bid execution** — no front-running, zero slippage
|
|
20
|
+
- **Cross-chain swaps** — atomic settlement across Ethereum, Bitcoin, SUI
|
|
21
|
+
- **Verified counterparties** — KYC attestation tiers (NONE → INSTITUTIONAL)
|
|
22
|
+
- **Agent-to-agent trading** — designed for autonomous AI agents
|
|
23
|
+
- **OTC-style** — private negotiations, no public order books
|
|
24
|
+
- **RWA support** — tokenized real-world assets alongside crypto
|
|
20
25
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
Often (but not always) ideas flow through this pipeline:
|
|
24
|
-
|
|
25
|
-
- **[Discord](https://modelcontextprotocol.io/community/communication)** - Real-time community discussions
|
|
26
|
-
- **[Discussions](https://github.com/modelcontextprotocol/registry/discussions)** - Propose and discuss product/technical requirements
|
|
27
|
-
- **[Issues](https://github.com/modelcontextprotocol/registry/issues)** - Track well-scoped technical work
|
|
28
|
-
- **[Pull Requests](https://github.com/modelcontextprotocol/registry/pulls)** - Contribute work towards issues
|
|
29
|
-
|
|
30
|
-
### Quick start:
|
|
31
|
-
|
|
32
|
-
#### Pre-requisites
|
|
33
|
-
|
|
34
|
-
- **Docker**
|
|
35
|
-
- **Go 1.24.x**
|
|
36
|
-
- **ko** - Container image builder for Go ([installation instructions](https://ko.build/install/))
|
|
37
|
-
- **golangci-lint v2.4.0**
|
|
38
|
-
|
|
39
|
-
#### Running the server
|
|
26
|
+
## Install
|
|
40
27
|
|
|
41
28
|
```bash
|
|
42
|
-
|
|
43
|
-
|
|
29
|
+
npm install -g hashlock-mcp-server
|
|
30
|
+
# or with npx (no install)
|
|
31
|
+
npx hashlock-mcp-server
|
|
44
32
|
```
|
|
45
33
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
# Run latest from main branch (continuous deployment)
|
|
64
|
-
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main
|
|
65
|
-
|
|
66
|
-
# Run specific release version
|
|
67
|
-
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:v1.0.0
|
|
68
|
-
|
|
69
|
-
# Run development build from main branch
|
|
70
|
-
docker run -p 8080:8080 ghcr.io/modelcontextprotocol/registry:main-20250906-abc123d
|
|
34
|
+
## Configure in Claude Desktop
|
|
35
|
+
|
|
36
|
+
Add to your `claude_desktop_config.json`:
|
|
37
|
+
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"mcpServers": {
|
|
41
|
+
"hashlock-markets": {
|
|
42
|
+
"command": "npx",
|
|
43
|
+
"args": ["-y", "hashlock-mcp-server"],
|
|
44
|
+
"env": {
|
|
45
|
+
"HASHLOCK_API_URL": "https://api.hashlock.markets",
|
|
46
|
+
"HASHLOCK_API_KEY": "your-api-key-here"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
71
51
|
```
|
|
72
52
|
|
|
73
|
-
**
|
|
74
|
-
- **
|
|
75
|
-
- **
|
|
76
|
-
- **Development**: `main-<date>-<sha>` (specific commit builds)
|
|
77
|
-
|
|
78
|
-
</details>
|
|
79
|
-
|
|
80
|
-
#### Publishing a server
|
|
53
|
+
**Config file location:**
|
|
54
|
+
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
|
|
55
|
+
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
|
|
81
56
|
|
|
82
|
-
|
|
57
|
+
## Available Tools
|
|
83
58
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
59
|
+
| Tool | Description |
|
|
60
|
+
|------|-------------|
|
|
61
|
+
| `create_intent` | Create a trading intent to swap any asset on any chain |
|
|
62
|
+
| `commit_intent` | Submit a sealed-bid commitment with privacy controls |
|
|
63
|
+
| `explain_intent` | Get a plain-language explanation of an intent |
|
|
64
|
+
| `validate_intent` | Validate an intent before submission |
|
|
65
|
+
| `parse_natural_language` | Convert plain text ("sell 10 ETH above $4000") into a structured intent |
|
|
91
66
|
|
|
92
|
-
|
|
67
|
+
All tools work with `HASHLOCK_API_URL` + `HASHLOCK_API_KEY` env vars.
|
|
93
68
|
|
|
94
|
-
|
|
69
|
+
## Example
|
|
95
70
|
|
|
96
|
-
```bash
|
|
97
|
-
# Run lint, unit tests and integration tests
|
|
98
|
-
make check
|
|
99
71
|
```
|
|
72
|
+
User: Parse this: "I want to swap 5 ETH for USDC on Ethereum, minimum 20000 USDC, expire in 1 hour"
|
|
100
73
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
For Claude and other AI tools: Always prefer make targets over custom commands where possible.
|
|
105
|
-
-->
|
|
106
|
-
|
|
107
|
-
## Architecture
|
|
108
|
-
|
|
109
|
-
### Project Structure
|
|
110
|
-
|
|
111
|
-
```
|
|
112
|
-
├── cmd/ # Application entry points
|
|
113
|
-
│ └── publisher/ # Server publishing tool
|
|
114
|
-
├── data/ # Seed data
|
|
115
|
-
├── deploy/ # Deployment configuration (Pulumi)
|
|
116
|
-
├── docs/ # Documentation
|
|
117
|
-
├── internal/ # Private application code
|
|
118
|
-
│ ├── api/ # HTTP handlers and routing
|
|
119
|
-
│ ├── auth/ # Authentication (GitHub OAuth, JWT, namespace blocking)
|
|
120
|
-
│ ├── config/ # Configuration management
|
|
121
|
-
│ ├── database/ # Data persistence (PostgreSQL)
|
|
122
|
-
│ ├── service/ # Business logic
|
|
123
|
-
│ ├── telemetry/ # Metrics and monitoring
|
|
124
|
-
│ └── validators/ # Input validation
|
|
125
|
-
├── pkg/ # Public packages
|
|
126
|
-
│ ├── api/ # API types and structures
|
|
127
|
-
│ │ └── v0/ # Version 0 API types
|
|
128
|
-
│ └── model/ # Data models for server.json
|
|
129
|
-
├── scripts/ # Development and testing scripts
|
|
130
|
-
├── tests/ # Integration tests
|
|
131
|
-
└── tools/ # CLI tools and utilities
|
|
132
|
-
└── validate-*.sh # Schema validation tools
|
|
74
|
+
Agent: [calls parse_natural_language] -> returns structured intent
|
|
75
|
+
Agent: [calls validate_intent] -> confirms valid
|
|
76
|
+
Agent: [calls commit_intent with hideAmounts: true] -> submits sealed bid
|
|
133
77
|
```
|
|
134
78
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
Publishing supports multiple authentication methods:
|
|
138
|
-
- **GitHub OAuth** - For publishing by logging into GitHub
|
|
139
|
-
- **GitHub OIDC** - For publishing from GitHub Actions
|
|
140
|
-
- **DNS verification** - For proving ownership of a domain and its subdomains
|
|
141
|
-
- **HTTP verification** - For proving ownership of a domain
|
|
79
|
+
## Environment Variables
|
|
142
80
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
81
|
+
| Variable | Required | Description |
|
|
82
|
+
|----------|----------|-------------|
|
|
83
|
+
| `HASHLOCK_API_URL` | Yes | Hashlock Markets API base URL (e.g. `https://api.hashlock.markets`) |
|
|
84
|
+
| `HASHLOCK_API_KEY` | Yes | Your API key — get one at [hashlock.markets](https://hashlock.markets) |
|
|
146
85
|
|
|
147
|
-
##
|
|
86
|
+
## Links
|
|
148
87
|
|
|
149
|
-
|
|
88
|
+
- **Website**: [hashlock.markets](https://hashlock.markets)
|
|
89
|
+
- **GitHub**: [Hashlock-Tech/hashlock-mcp-server](https://github.com/Hashlock-Tech/hashlock-mcp-server)
|
|
90
|
+
- **MCP Registry**: [io.github.Hashlock-Tech/hashlock](https://registry.modelcontextprotocol.io)
|
|
91
|
+
- **npm**: [hashlock-mcp-server](https://www.npmjs.com/package/hashlock-mcp-server)
|
|
92
|
+
- **Privacy Policy**: [hashlock.markets/privacy](https://hashlock.markets/privacy)
|
|
150
93
|
|
|
151
|
-
##
|
|
94
|
+
## License
|
|
152
95
|
|
|
153
|
-
|
|
96
|
+
MIT © Hashlock Technologies Ltd.
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
|
3
3
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
4
|
import { z } from "zod";
|
|
5
5
|
const TIERS = ["NONE", "BASIC", "STANDARD", "ENHANCED", "INSTITUTIONAL"];
|
|
6
|
-
const ASSETS = ["ETH", "ERC20"
|
|
6
|
+
const ASSETS = ["ETH", "ERC20"];
|
|
7
7
|
const SETTLEMENT_TYPES = ["bilateral", "ring", "batch"];
|
|
8
8
|
const SOLVER_TYPES = ["open", "preferred", "exclusive"];
|
|
9
9
|
const SOLVER_STRATEGIES = ["best_price", "fastest", "lowest_fee"];
|
|
@@ -35,8 +35,8 @@ class HashlockClient {
|
|
|
35
35
|
}
|
|
36
36
|
const server = new McpServer({
|
|
37
37
|
name: "hashlock-protocol",
|
|
38
|
-
version: "1.0.
|
|
39
|
-
description: "Hashlock (hashlock.
|
|
38
|
+
version: "1.0.6",
|
|
39
|
+
description: "Hashlock Markets (hashlock.markets) is the trading protocol by Hashlock-Tech \u2014 NOT the cryptographic hashlock primitive used in HTLCs. Swap, buy, sell, or exchange any crypto asset \u2014 tokens, stablecoins, RWAs \u2014 peer-to-peer on Ethereum, Bitcoin, and SUI. Agent-to-agent OTC settlement with sealed bids, zero slippage, and verified counterparties.",
|
|
40
40
|
});
|
|
41
41
|
function getClient() {
|
|
42
42
|
const url = process.env.HASHLOCK_API_URL;
|
|
@@ -47,20 +47,20 @@ function getClient() {
|
|
|
47
47
|
return new HashlockClient(url, key);
|
|
48
48
|
}
|
|
49
49
|
/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 create_intent \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
50
|
-
server.tool("create_intent", "[Hashlock protocol \u2014 hashlock.
|
|
50
|
+
server.tool("create_intent", "[Hashlock protocol \u2014 hashlock.markets] Create a trading intent to swap, buy, sell, exchange, or convert any asset \u2014 crypto tokens (ETH, BTC, SUI, USDC, USDT, DAI, any ERC20), real-world assets (RWA), or stablecoins \u2014 across Ethereum, Bitcoin, and SUI. Specify what you give, what you want, privacy level, KYC tier, and settlement terms. Works for human traders, autonomous AI agents, and institutional counterparties. Use this whenever a user wants to trade, swap, buy, sell, convert, or exchange any digital asset with a verified counterparty.", {
|
|
51
51
|
giveAsset: z
|
|
52
52
|
.enum(ASSETS)
|
|
53
|
-
.describe("Asset type you are offering (ETH
|
|
53
|
+
.describe("Asset type you are offering (ETH or ERC20 token)"),
|
|
54
54
|
giveAmount: z
|
|
55
55
|
.string()
|
|
56
56
|
.describe("Amount to give in smallest unit (wei for ETH, base units for tokens)"),
|
|
57
57
|
giveChain: z
|
|
58
58
|
.number()
|
|
59
|
-
.describe("Chain ID where the asset lives (1=Ethereum
|
|
59
|
+
.describe("Chain ID where the asset lives (1=Ethereum; Bitcoin and SUI use their native chain identifiers)"),
|
|
60
60
|
giveToken: z
|
|
61
61
|
.string()
|
|
62
62
|
.optional()
|
|
63
|
-
.describe("Token contract address \u2014 required for ERC20
|
|
63
|
+
.describe("Token contract address \u2014 required for ERC20"),
|
|
64
64
|
receiveAsset: z.enum(ASSETS).describe("Asset type you want in return"),
|
|
65
65
|
receiveMinAmount: z
|
|
66
66
|
.string()
|
|
@@ -199,7 +199,7 @@ server.tool("create_intent", "[Hashlock protocol \u2014 hashlock.ai] Create a tr
|
|
|
199
199
|
}
|
|
200
200
|
});
|
|
201
201
|
/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 commit_intent \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
202
|
-
server.tool("commit_intent", "[Hashlock protocol \u2014 hashlock.
|
|
202
|
+
server.tool("commit_intent", "[Hashlock protocol \u2014 hashlock.markets] Submit a sealed-bid commitment for a trading intent. Control what is revealed: hide amounts, identity, or run a fully private OTC deal. Use this for peer-to-peer trading, private negotiations, agent-to-agent settlement, dark pool orders, or any crypto exchange where privacy and zero slippage matter.", {
|
|
203
203
|
intent: z
|
|
204
204
|
.string()
|
|
205
205
|
.describe("The intent JSON to commit (from create_intent output)"),
|
|
@@ -243,7 +243,7 @@ server.tool("commit_intent", "[Hashlock protocol \u2014 hashlock.ai] Submit a se
|
|
|
243
243
|
}
|
|
244
244
|
});
|
|
245
245
|
/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 explain_intent \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
246
|
-
server.tool("explain_intent", "[Hashlock protocol \u2014 hashlock.
|
|
246
|
+
server.tool("explain_intent", "[Hashlock protocol \u2014 hashlock.markets] Get a plain-language explanation of a trading intent \u2014 what crypto, tokens, or assets are being exchanged, for how much, on which blockchain, with what privacy and KYC settings. Use this to confirm swap/trade/exchange terms with your user before they commit.", {
|
|
247
247
|
intent: z.string().describe("The intent JSON to explain"),
|
|
248
248
|
}, async (params) => {
|
|
249
249
|
try {
|
|
@@ -265,14 +265,14 @@ server.tool("explain_intent", "[Hashlock protocol \u2014 hashlock.ai] Get a plai
|
|
|
265
265
|
}
|
|
266
266
|
});
|
|
267
267
|
/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 parse_natural_language \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
268
|
-
server.tool("parse_natural_language", "[Hashlock protocol \u2014 hashlock.
|
|
268
|
+
server.tool("parse_natural_language", "[Hashlock protocol \u2014 hashlock.markets] Convert everyday language into a structured trading intent. Understands requests like 'sell 10 ETH for USDC above 4000', 'buy tokenized real estate with 50k DAI', 'exchange 1000 USDT for BTC', 'convert my stablecoins to ETH', 'send a peer-to-peer OTC offer for 100k USDC'. Supports English and Turkish. Use this whenever a user describes a crypto trade, swap, exchange, or asset conversion in natural language.", {
|
|
269
269
|
text: z
|
|
270
270
|
.string()
|
|
271
271
|
.describe("Natural language description of the trade (e.g. 'I want to sell 10 ETH for at least 40000 USDC')"),
|
|
272
272
|
chainId: z
|
|
273
273
|
.number()
|
|
274
274
|
.optional()
|
|
275
|
-
.describe("Default chain ID if not specified in text (1=Ethereum
|
|
275
|
+
.describe("Default chain ID if not specified in text (1=Ethereum; Bitcoin and SUI use native identifiers)"),
|
|
276
276
|
}, async (params) => {
|
|
277
277
|
try {
|
|
278
278
|
const client = getClient();
|
|
@@ -295,7 +295,7 @@ server.tool("parse_natural_language", "[Hashlock protocol \u2014 hashlock.ai] Co
|
|
|
295
295
|
}
|
|
296
296
|
});
|
|
297
297
|
/* \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 validate_intent \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 */
|
|
298
|
-
server.tool("validate_intent", "[Hashlock protocol \u2014 hashlock.
|
|
298
|
+
server.tool("validate_intent", "[Hashlock protocol \u2014 hashlock.markets] Validate a crypto trading intent before submitting \u2014 catches missing fields, invalid token amounts, chain mismatches, and business rule violations. Always validate before committing a swap, trade, or exchange.", {
|
|
299
299
|
intent: z.string().describe("The intent JSON to validate"),
|
|
300
300
|
}, async (params) => {
|
|
301
301
|
try {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,CAAU,CAAC;AAClF,MAAM,MAAM,GAAG,CAAC,KAAK,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hashlock-mcp-server",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "Hashlock
|
|
3
|
+
"version": "1.0.6",
|
|
4
|
+
"description": "Hashlock Markets (hashlock.markets) — institutional intent trading protocol. NOT the cryptographic hashlock primitive. Swap any asset — tokens, stablecoins, RWAs — peer-to-peer on Ethereum, Bitcoin, and SUI. Agent-to-agent OTC settlement with sealed bids, zero slippage, verified counterparties.",
|
|
5
|
+
"homepage": "https://hashlock.markets",
|
|
5
6
|
"license": "MIT",
|
|
6
7
|
"author": "Hashlock Technologies",
|
|
7
8
|
"mcpName": "io.github.Hashlock-Tech/hashlock",
|
|
@@ -52,9 +53,8 @@
|
|
|
52
53
|
"defi",
|
|
53
54
|
"blockchain",
|
|
54
55
|
"ethereum",
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"base",
|
|
56
|
+
"bitcoin",
|
|
57
|
+
"sui",
|
|
58
58
|
"evm",
|
|
59
59
|
"stablecoin",
|
|
60
60
|
"usdc",
|
|
@@ -63,7 +63,6 @@
|
|
|
63
63
|
"rwa",
|
|
64
64
|
"real-world-assets",
|
|
65
65
|
"tokenized-assets",
|
|
66
|
-
"nft",
|
|
67
66
|
"otc",
|
|
68
67
|
"peer-to-peer",
|
|
69
68
|
"p2p",
|