@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.
Files changed (4) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +108 -2
  3. package/dist/index.js +3341 -0
  4. 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
- # Temporary Holding Version
1
+ # @zypheragent/mcp
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
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`.