Skip to content

Commit 3d63640

Browse files
author
BarisSozen
committed
chore(npm): refresh README + bump 0.1.7 — canonical @hashlock-tech/mcp
1 parent dfe3041 commit 3d63640

3 files changed

Lines changed: 110 additions & 187 deletions

File tree

README.md

Lines changed: 69 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -1,86 +1,90 @@
1-
# @hashlock/mcp
1+
# @hashlock-tech/mcp
22

3-
MCP (Model Context Protocol) server for [HashLock](https://hashlock.tech) OTC trading. Enables AI agents (Claude, GPT, etc.) to create HTLCs, submit RFQs, and settle atomic swaps.
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* at [hashlock.markets](https://hashlock.markets).
6+
>
7+
> **Not affiliated with Hashlock Pty Ltd** (hashlock.com), an independent Australian smart contract auditing firm. The two organizations share a similar name by coincidence only — distinct products, legal entities, jurisdictions, and founders.
48
5-
## Tools
9+
[![npm](https://img.shields.io/npm/v/@hashlock-tech/mcp.svg)](https://www.npmjs.com/package/@hashlock-tech/mcp)
10+
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)
11+
[![MCP Registry](https://img.shields.io/badge/MCP%20Registry-io.github.Hashlock--Tech%2Fhashlock-green)](https://registry.modelcontextprotocol.io)
612

7-
| Tool | Description |
8-
|------|-------------|
9-
| `create_htlc` | Create and fund an HTLC for atomic settlement |
10-
| `withdraw_htlc` | Claim an HTLC by revealing the preimage |
11-
| `refund_htlc` | Refund an HTLC after timelock expiry |
12-
| `get_htlc` | Query HTLC status for a trade |
13-
| `create_rfq` | Create a Request for Quote (buy/sell crypto) |
14-
| `respond_rfq` | Submit a price quote for an open RFQ |
13+
## What is this?
14+
15+
`@hashlock-tech/mcp` is the canonical [Model Context Protocol](https://modelcontextprotocol.io) server for **Hashlock Markets**. It lets AI agents (Claude, GPT, Cursor, Windsurf, any MCP-compatible client) create RFQs, respond as a market maker, fund HTLCs, and settle cross-chain atomic swaps across Ethereum, Bitcoin, and SUI.
1516

16-
## Setup — Claude Desktop
17+
## Install
1718

18-
Add to your `claude_desktop_config.json`:
19+
### Option A (preferred) — Remote streamable-http
20+
21+
Connect Claude Desktop / Cursor / Windsurf directly to the Hashlock Markets MCP endpoint. No local install.
1922

2023
```json
2124
{
2225
"mcpServers": {
2326
"hashlock": {
24-
"command": "npx",
25-
"args": ["-y", "@hashlock/mcp"],
26-
"env": {
27-
"HASHLOCK_ENDPOINT": "http://142.93.106.129/graphql",
28-
"HASHLOCK_ACCESS_TOKEN": "your-jwt-token"
27+
"url": "https://hashlock.markets/mcp",
28+
"transport": "streamable-http",
29+
"headers": {
30+
"Authorization": "Bearer <token from hashlock.markets/sign/login>"
2931
}
3032
}
3133
}
3234
}
3335
```
3436

35-
Config file location:
36-
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
37-
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
38-
39-
Restart Claude Desktop after editing.
40-
41-
## Setup — Claude Code
42-
43-
Add to your project's `.claude/settings.json`:
37+
### Option B — Local stdio via npx
4438

4539
```json
4640
{
4741
"mcpServers": {
4842
"hashlock": {
4943
"command": "npx",
50-
"args": ["-y", "@hashlock/mcp"],
44+
"args": ["-y", "@hashlock-tech/mcp"],
5145
"env": {
52-
"HASHLOCK_ENDPOINT": "http://142.93.106.129/graphql",
53-
"HASHLOCK_ACCESS_TOKEN": "your-jwt-token"
46+
"HASHLOCK_ACCESS_TOKEN": "<token from hashlock.markets/sign/login>"
5447
}
5548
}
5649
}
5750
}
5851
```
5952

60-
Or run from source:
53+
**Config file location:**
54+
- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`
55+
- **Windows:** `%APPDATA%\Claude\claude_desktop_config.json`
6156

62-
```bash
63-
git clone https://github.com/Hashlock-Tech/hashlock-mcp
64-
cd hashlock-mcp
65-
pnpm install && pnpm build
66-
```
57+
Restart your client after editing.
6758

68-
Then in settings:
59+
## Authentication
6960

70-
```json
71-
{
72-
"mcpServers": {
73-
"hashlock": {
74-
"command": "node",
75-
"args": ["/path/to/hashlock-mcp/dist/index.js"],
76-
"env": {
77-
"HASHLOCK_ENDPOINT": "http://142.93.106.129/graphql",
78-
"HASHLOCK_ACCESS_TOKEN": "your-jwt-token"
79-
}
80-
}
81-
}
82-
}
83-
```
61+
Hashlock Markets uses SIWE (Sign-In With Ethereum) bearer tokens.
62+
63+
1. Visit [hashlock.markets/sign/login](https://hashlock.markets/sign/login)
64+
2. Sign a message with your Ethereum wallet
65+
3. Receive a **7-day JWT**
66+
4. Set it as `HASHLOCK_ACCESS_TOKEN` (stdio) or `Authorization: Bearer <token>` header (remote)
67+
5. Re-sign after expiry
68+
69+
## Available Tools
70+
71+
| Tool | Description |
72+
|------|-------------|
73+
| `create_rfq` | Create a Request for Quote (RFQ) to buy or sell crypto OTC. Broadcasts to market makers for sealed-bid responses. |
74+
| `respond_rfq` | Market-maker side: submit a price quote in response to an open RFQ. |
75+
| `create_htlc` | Fund a Hash Time-Locked Contract for atomic OTC settlement (records on-chain lock tx hash). |
76+
| `withdraw_htlc` | Claim an HTLC by revealing the 32-byte preimage — settles the atomic swap. |
77+
| `refund_htlc` | Refund an expired HTLC after timelock — only the original sender, only post-deadline. |
78+
| `get_htlc` | Query current HTLC status for a trade (both sides, contract addresses, lock amounts, timelocks). |
79+
80+
All tools support three chains: Ethereum (EVM), Bitcoin (wrapped HTLC), and SUI (Move HTLC).
81+
82+
## Environment Variables
83+
84+
| Variable | Required | Default | Description |
85+
|----------|----------|---------|-------------|
86+
| `HASHLOCK_ACCESS_TOKEN` | Yes || 7-day SIWE JWT from [hashlock.markets/sign/login](https://hashlock.markets/sign/login) |
87+
| `HASHLOCK_ENDPOINT` | No | `https://hashlock.markets/api/graphql` | GraphQL endpoint override (rarely needed) |
8488

8589
## Tool Examples
8690

@@ -91,6 +95,7 @@ Then in settings:
9195
```
9296
Tool: create_rfq
9397
Input: { baseToken: "ETH", quoteToken: "USDT", side: "SELL", amount: "2.0" }
98+
Output: { rfqId, broadcast status }
9499
```
95100

96101
### Respond to an RFQ
@@ -129,23 +134,23 @@ Tool: withdraw_htlc
129134
Input: { tradeId: "xyz-789", txHash: "0xdef...", preimage: "0x1234..." }
130135
```
131136

132-
## Environment Variables
137+
## Deprecated legacy packages
133138

134-
| Variable | Required | Default | Description |
135-
|----------|----------|---------|-------------|
136-
| `HASHLOCK_ENDPOINT` | No | `http://142.93.106.129/graphql` | GraphQL API URL |
137-
| `HASHLOCK_ACCESS_TOKEN` | Yes || JWT authentication token |
139+
Do **not** use these — they depended on an intent REST API that was never shipped, and are superseded by `@hashlock-tech/mcp`:
138140

139-
## MCP Registry
141+
- `hashlock-mcp-server` (unscoped, npm) — deprecated 2026-04-19
142+
- `langchain-hashlock` (PyPI) — superseded for MCP-based integrations
140143

141-
This server is designed for submission to the [Anthropic MCP Registry](https://github.com/modelcontextprotocol/servers).
144+
## Links
142145

143-
**Server info:**
144-
- **Name:** hashlock
145-
- **Description:** OTC crypto trading with HTLC atomic settlement
146-
- **Transport:** stdio
147-
- **Auth:** Bearer token via environment variable
146+
- **Website**: [hashlock.markets](https://hashlock.markets)
147+
- **MCP Endpoint (remote)**: [hashlock.markets/mcp](https://hashlock.markets/mcp)
148+
- **SIWE Login**: [hashlock.markets/sign/login](https://hashlock.markets/sign/login)
149+
- **GitHub**: [Hashlock-Tech/hashlock-mcp](https://github.com/Hashlock-Tech/hashlock-mcp)
150+
- **MCP Registry**: [io.github.Hashlock-Tech/hashlock](https://registry.modelcontextprotocol.io)
151+
- **npm**: [@hashlock-tech/mcp](https://www.npmjs.com/package/@hashlock-tech/mcp)
152+
- **llms.txt**: [hashlock.markets/llms.txt](https://hashlock.markets/llms.txt)
148153

149154
## License
150155

151-
MIT
156+
MIT © Hashlock Corp.

package.json

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,24 @@
11
{
22
"name": "@hashlock-tech/mcp",
3-
"version": "0.1.2",
4-
"mcpName": "io.github.BarisSozen/hashlock-mcp",
5-
"description": "MCP server for HashLock OTC — enables AI agents to create HTLCs, trade, and settle atomically",
3+
"version": "0.1.7",
4+
"mcpName": "io.github.Hashlock-Tech/hashlock",
5+
"description": "Hashlock Markets — sealed-bid intent trading + HTLC atomic settlement for AI agents. Create RFQs, respond as market maker, and settle cross-chain swaps on Ethereum, Bitcoin, and SUI. NOT the cryptographic HTLC primitive. NOT affiliated with Hashlock Pty Ltd (Australia).",
66
"license": "MIT",
7+
"homepage": "https://hashlock.markets",
8+
"author": {
9+
"name": "Hashlock Corp.",
10+
"email": "dev@hashlock.markets"
11+
},
712
"type": "module",
813
"main": "./dist/index.js",
14+
"types": "./dist/index.d.ts",
915
"bin": {
1016
"hashlock-mcp": "./dist/index.js"
1117
},
1218
"files": [
1319
"dist",
1420
"README.md",
15-
"LICENSE",
16-
"llms-install.md"
21+
"LICENSE"
1722
],
1823
"scripts": {
1924
"build": "tsup",
@@ -37,16 +42,33 @@
3742
},
3843
"keywords": [
3944
"mcp",
45+
"mcp-server",
46+
"model-context-protocol",
4047
"hashlock",
48+
"hashlock-markets",
4149
"htlc",
4250
"otc",
4351
"claude",
4452
"ai-agent",
45-
"atomic-swap"
53+
"atomic-swap",
54+
"defi",
55+
"sealed-bid",
56+
"intent-protocol",
57+
"crypto-trading",
58+
"rfq",
59+
"cross-chain",
60+
"ethereum",
61+
"bitcoin",
62+
"sui",
63+
"stablecoin",
64+
"rwa"
4665
],
4766
"repository": {
4867
"type": "git",
49-
"url": "https://github.com/Hashlock-Tech/hashlock-mcp"
68+
"url": "git+https://github.com/Hashlock-Tech/hashlock-mcp.git"
69+
},
70+
"bugs": {
71+
"url": "https://github.com/Hashlock-Tech/hashlock-mcp/issues"
5072
},
5173
"engines": {
5274
"node": ">=18"

0 commit comments

Comments
 (0)