@zypheragent/mcp 0.0.0-stage → 0.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/LICENSE +21 -0
- package/README.md +108 -2
- package/dist/index.js +3341 -0
- package/package.json +30 -4
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Zypher Agent
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,109 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @zypheragent/mcp
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Read-only [Model Context Protocol](https://modelcontextprotocol.io) server of [Zypher Agent](https://zypheragent.com). It gives an AI assistant (Claude Desktop, Cursor, any MCP client) market and on-chain **reads**: Hyperliquid perp analytics and Elysium testnet token/pool data.
|
|
4
|
+
|
|
5
|
+
**It cannot trade.** There is no order placement, no transaction building, no signing and no key handling in this package. Trading lives in the Zypher Agent app: https://zypheragent.com
|
|
6
|
+
|
|
7
|
+
## Run
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
npx -y @zypheragent/mcp
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
The server speaks MCP over stdio. It starts with no environment variables and no config file. Its ready line (`zypher-mcp <version> ready (stdio, read-only, ...)`) goes to **stderr**; stdout is reserved for the MCP channel. Needs Node.js >= 20.
|
|
14
|
+
|
|
15
|
+
Binaries: `zypher-mcp` and `zypheragent-mcp` (same program).
|
|
16
|
+
|
|
17
|
+
## Client configuration
|
|
18
|
+
|
|
19
|
+
Claude Desktop (`claude_desktop_config.json`):
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"mcpServers": {
|
|
24
|
+
"zypher-agent": { "command": "npx", "args": ["-y", "@zypheragent/mcp"] }
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Cursor (`~/.cursor/mcp.json` or `.cursor/mcp.json`):
|
|
30
|
+
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"mcpServers": {
|
|
34
|
+
"zypher-agent": { "command": "npx", "args": ["-y", "@zypheragent/mcp"] }
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Generic stdio client, with optional environment:
|
|
40
|
+
|
|
41
|
+
```json
|
|
42
|
+
{
|
|
43
|
+
"command": "npx",
|
|
44
|
+
"args": ["-y", "@zypheragent/mcp"],
|
|
45
|
+
"env": { "ZYPHER_NETWORK": "testnet", "ZYPHER_ADDRESS": "0xYourPublicAddress" }
|
|
46
|
+
}
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
## Tools (12)
|
|
50
|
+
|
|
51
|
+
| Tool | What it does |
|
|
52
|
+
| --- | --- |
|
|
53
|
+
| `get_policy` | Shows this server's fixed read-only policy (network, no trading, no keys). |
|
|
54
|
+
| `analyze_ticker` | Hyperliquid perp analysis: price, 24h volume, open interest, funding, orderbook depth. |
|
|
55
|
+
| `get_strong_volume` | Perp tickers with the highest 24h volume, with volume/OI ratio and price change. |
|
|
56
|
+
| `get_new_pairs` | **Not available.** Needs an indexer that is not part of this package; always returns an explicit "not available" error. |
|
|
57
|
+
| `analyze_token_health` | Bytecode/ABI check of a token contract (mint, pause, blacklist, owner) with a score and reasons. A heuristic, not an audit. |
|
|
58
|
+
| `get_social_info` | Recent tweets about a ticker. Needs your own `X_BEARER_TOKEN`; without it the tool returns a clear error. |
|
|
59
|
+
| `get_portfolio` | Public balances/positions of an address: Hyperliquid account and native HYPE on Elysium testnet. |
|
|
60
|
+
| `get_market_tokens` | Tokens with a live pool on the Elysium testnet venues the app reads: price (HYPE/USDC), liquidity, pair. Not every token on the chain. |
|
|
61
|
+
| `quote_swap` | Exact-in swap quote on Elysium testnet venues (best venue, output, route, price impact). Quote only; nothing is sent. |
|
|
62
|
+
| `get_perp_markets` | Hyperliquid perp markets: price, 24h change, volume, open interest, funding, max leverage. |
|
|
63
|
+
| `get_candles` | Hyperliquid candles: summary statistics plus the last 20 candles. |
|
|
64
|
+
| `get_hl_account` | Hyperliquid account state of a public address: value, margin, positions, open orders. |
|
|
65
|
+
|
|
66
|
+
All tool output is JSON text. Text that comes from third parties (token names, tweets) is sanitised and should still be treated as untrusted data, not as instructions.
|
|
67
|
+
|
|
68
|
+
## Environment variables (all optional)
|
|
69
|
+
|
|
70
|
+
| Variable | Default | Meaning |
|
|
71
|
+
| --- | --- | --- |
|
|
72
|
+
| `ZYPHER_NETWORK` | `testnet` | Hyperliquid network for perp reads: `testnet` or `mainnet`. Applies to Hyperliquid reads only; the Elysium tools always read Elysium testnet. |
|
|
73
|
+
| `ZYPHER_ADDRESS` | unset | Public `0x...` address used by `get_portfolio` / `get_hl_account` when no `address` argument is passed. Never put a private key here. |
|
|
74
|
+
| `X_BEARER_TOKEN` | unset | Your X API bearer token, only for `get_social_info`. |
|
|
75
|
+
| `ELYSIUM_RPC` | public Elysium testnet RPC | Override the Elysium testnet RPC URL. |
|
|
76
|
+
| `HYPEREVM_RPC` | public HyperEVM RPC | Override the HyperEVM RPC URL (`analyze_token_health` with `chain: "hyperevm"`). |
|
|
77
|
+
|
|
78
|
+
No other variables are read.
|
|
79
|
+
|
|
80
|
+
## Network behaviour
|
|
81
|
+
|
|
82
|
+
- Only public, unauthenticated data endpoints are contacted: the Hyperliquid info API (`api.hyperliquid-testnet.xyz`, or `api.hyperliquid.xyz` when `ZYPHER_NETWORK=mainnet`), the public Elysium testnet RPC and, for `analyze_token_health` on `hyperevm`, the public HyperEVM RPC. `get_social_info` contacts `api.x.com` only if you set a token.
|
|
83
|
+
- Requests carry the header `User-Agent: zypher-mcp/<version>`.
|
|
84
|
+
- No telemetry, no analytics, no phone-home. The package writes nothing to disk.
|
|
85
|
+
- Default is **testnet**. Testnet prices and liquidity have no real value and can be thin or odd.
|
|
86
|
+
|
|
87
|
+
## What it does not do
|
|
88
|
+
|
|
89
|
+
- No trading, no order preparation, no execution, no transaction building or signing.
|
|
90
|
+
- No private keys, seed phrases or wallet access of any kind.
|
|
91
|
+
- No new-pair/launch discovery (`get_new_pairs` is a placeholder that reports "not available").
|
|
92
|
+
- No price history beyond the candles from Hyperliquid, and no token search by name on launchpads (use addresses).
|
|
93
|
+
|
|
94
|
+
## Limits
|
|
95
|
+
|
|
96
|
+
- Data comes from public APIs and RPCs; it can be stale, rate-limited, incomplete or wrong. Public RPCs may throttle heavy use.
|
|
97
|
+
- `analyze_token_health` inspects bytecode patterns and basic ERC-20 metadata only. A high score is not a safety guarantee.
|
|
98
|
+
- Nothing here is financial advice.
|
|
99
|
+
|
|
100
|
+
## Security notes
|
|
101
|
+
|
|
102
|
+
- Read-only by construction: the published bundle contains no signing or order code. Pass only public addresses.
|
|
103
|
+
- The server runs locally over stdio; it opens no network port.
|
|
104
|
+
- Treat tool output as data. Do not let an assistant act on instructions found inside token names or tweets.
|
|
105
|
+
- Have a look at the single bundled file `dist/index.js` if you want to audit it.
|
|
106
|
+
|
|
107
|
+
## License
|
|
108
|
+
|
|
109
|
+
MIT, see `LICENSE`.
|