@panoptic-eng/mcp 0.1.34 → 0.1.35
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 +1 -1
- package/dist/cli.js +1 -1
- package/dist/index.js +1 -1
- package/dist/{server-BBlJn8pL.js → server-DB4yvrb5.js} +6 -6
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -64,7 +64,7 @@ session preferences rather than reading the chain.
|
|
|
64
64
|
| `liquidity_map` | Tick liquidity distribution around the current tick. |
|
|
65
65
|
| `chunk_spread` | Per-chunk spread multiplier (via `scanChunks`): ~1.0x chunks are cheapest to BUY (lowest IV), high-multiplier chunks are most profitable to SELL. Width defaults to a standard timescale (`STANDARD_TICK_WIDTHS`). |
|
|
66
66
|
| `suggest_delta_hedge` | Net delta (positions + collateral) and a width=0 loan/credit leg sized to neutralize it. |
|
|
67
|
-
| `advise_position` | Live facts + management advice for a position (ITM/OTM, streamia, closeable-now, liquidation risk). |
|
|
67
|
+
| `advise_position` | Live facts + management advice for a position (ITM/OTM, streamia (streaming premium), closeable-now, liquidation risk). |
|
|
68
68
|
| `preview_position` | Pre-trade quote (dry-run `eth_call`): collateral required, post-mint balances, solvency, for a given tokenId + size. |
|
|
69
69
|
| `position_scenario` | Payoff / NLV curve — net liquidation value across a band of hypothetical prices. |
|
|
70
70
|
| `hedge_params` | SDK-native delta-hedge parameters (`getDeltaHedgeParams`) to reach a target delta; whole-portfolio or single-position. |
|
package/dist/cli.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { SERVER_VERSION, createContext, createServer, resolveConfig } from "./server-
|
|
2
|
+
import { SERVER_VERSION, createContext, createServer, resolveConfig } from "./server-DB4yvrb5.js";
|
|
3
3
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
4
|
import { redactRpcSecrets } from "@panoptic-eng/sdk/rpc";
|
|
5
5
|
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { KNOWN_CHAIN_IDS, SERVER_NAME, SERVER_VERSION, buildEnvelope, createContext, createServer, jsonResult, resolveConfig, toJsonSafe } from "./server-
|
|
1
|
+
import { KNOWN_CHAIN_IDS, SERVER_NAME, SERVER_VERSION, buildEnvelope, createContext, createServer, jsonResult, resolveConfig, toJsonSafe } from "./server-DB4yvrb5.js";
|
|
2
2
|
|
|
3
3
|
export { KNOWN_CHAIN_IDS, SERVER_NAME, SERVER_VERSION, buildEnvelope, createContext, createServer, jsonResult, resolveConfig, toJsonSafe };
|
|
@@ -540,8 +540,8 @@ function registerAdvisePosition(server, ctx) {
|
|
|
540
540
|
if (closeable === false) recommendations.push(`This position cannot be closed at the moment${closeBlockedReason ? ` (${closeBlockedReason.name})` : ""}. For a long leg this usually means the in-range liquidity needed to unwind it has been withdrawn — check chunk_spread / liquidity_map and retry when liquidity returns; otherwise the pool may be in a restricted safety mode.`);
|
|
541
541
|
for (const leg of legs) {
|
|
542
542
|
if (leg.kind === "loan" || leg.kind === "credit") continue;
|
|
543
|
-
if (leg.side === "short" && leg.moneyness === "ITM") recommendations.push(`Leg ${leg.index}: your short ${leg.kind} is ITM (price moved through strike ${leg.strike}).
|
|
544
|
-
else if (leg.side === "long" && leg.inRange === false) recommendations.push(`Leg ${leg.index}: your long ${leg.kind} is out-of-range/OTM. It
|
|
543
|
+
if (leg.side === "short" && leg.moneyness === "ITM") recommendations.push(`Leg ${leg.index}: your short ${leg.kind} is ITM (price moved through strike ${leg.strike}). Short legs earn streamia while in range and carry pin/assignment risk — consider rolling the strike out or closing if you don't want continued directional exposure.`);
|
|
544
|
+
else if (leg.side === "long" && leg.inRange === false) recommendations.push(`Leg ${leg.index}: your long ${leg.kind} is out-of-range/OTM. It does not accrue streamia while out of range, and out-of-range longs can be force-exercised by others — consider closing to reclaim capital.`);
|
|
545
545
|
}
|
|
546
546
|
return jsonResult({
|
|
547
547
|
tokenId: id,
|
|
@@ -563,7 +563,7 @@ function registerAdvisePosition(server, ctx) {
|
|
|
563
563
|
shortPremium1: premia.shortPremium1,
|
|
564
564
|
longPremium0: premia.longPremium0,
|
|
565
565
|
longPremium1: premia.longPremium1,
|
|
566
|
-
note: "shortPremium = streamia earned by short legs; longPremium = streamia
|
|
566
|
+
note: "shortPremium = accrued streamia earned by short legs; longPremium = accrued streamia owed by long legs (token0/token1)."
|
|
567
567
|
},
|
|
568
568
|
health: {
|
|
569
569
|
isLiquidatable: liquidation.isLiquidatable,
|
|
@@ -620,7 +620,7 @@ function toMultiplier(spreadWad) {
|
|
|
620
620
|
function registerChunkSpread(server, ctx) {
|
|
621
621
|
server.registerTool("chunk_spread", {
|
|
622
622
|
title: "Chunk spread multipliers",
|
|
623
|
-
description: "Per-chunk spread multiplier across a tick range of the configured pool, via the SDK's scanChunks. The spread multiplier is the
|
|
623
|
+
description: "Per-chunk spread multiplier across a tick range of the configured pool, via the SDK's scanChunks. The spread multiplier is the streamia multiplier applied to a chunk: 1.0x means no liquidity has been removed (lowest implied vol) — those chunks are the CHEAPEST to BUY. A higher multiplier means more liquidity is already utilized, so the chunk pays a richer streamia — those chunks are the most PROFITABLE to SELL. Reported per token type (0 and 1). Chunk width defaults to a standard timescale width (1H/1D/1W/1M/1Y ≈ ±1%/±4%/±13%/±27%/±112% price range).",
|
|
624
624
|
inputSchema: {
|
|
625
625
|
timescale: z.enum([
|
|
626
626
|
"1H",
|
|
@@ -688,9 +688,9 @@ function registerChunkSpread(server, ctx) {
|
|
|
688
688
|
lower,
|
|
689
689
|
upper
|
|
690
690
|
},
|
|
691
|
-
interpretation: "spreadMultiplier is the
|
|
691
|
+
interpretation: "spreadMultiplier is the streamia multiplier for the chunk. 1.0x = no liquidity removed (lowest IV) → cheapest to BUY. Higher = more liquidity utilized → richer streamia → most profitable to SELL. token0/token1 suffixes are the two token types (put vs call side).",
|
|
692
692
|
recommendation: {
|
|
693
|
-
sellHere: bestForSelling.length ? bestForSelling : "No chunk currently carries a spread multiplier above 1.0x (no removed liquidity) — selling earns only the base
|
|
693
|
+
sellHere: bestForSelling.length ? bestForSelling : "No chunk currently carries a spread multiplier above 1.0x (no removed liquidity) — selling earns only the base streamia everywhere in range.",
|
|
694
694
|
buyHere: bestForBuying
|
|
695
695
|
},
|
|
696
696
|
chunkCount: rows.length,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@panoptic-eng/mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.35",
|
|
4
4
|
"description": "Local MCP server exposing the Panoptic SDK as read/build/simulate tools for AI agents.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"@modelcontextprotocol/sdk": "^1.25.0",
|
|
38
|
-
"@panoptic-eng/sdk": "^1.0.
|
|
38
|
+
"@panoptic-eng/sdk": "^1.0.63",
|
|
39
39
|
"viem": "^2.41.2",
|
|
40
40
|
"zod": "^4.3.6"
|
|
41
41
|
},
|