@panoptic-eng/mcp 0.1.34 → 0.1.36

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 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-BBlJn8pL.js";
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-BBlJn8pL.js";
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}). You are paying out streamia 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 is decaying (you pay streamia) and out-of-range longs can be force-exercised by others — consider closing to reclaim capital.`);
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 paid by long legs (token0/token1)."
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 premium 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 premium — 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).",
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 premium multiplier for the chunk. 1.0x = no liquidity removed (lowest IV) → cheapest to BUY. Higher = more liquidity utilized → richer premium → most profitable to SELL. token0/token1 suffixes are the two token types (put vs call side).",
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 premium everywhere in range.",
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.34",
3
+ "version": "0.1.36",
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.62",
38
+ "@panoptic-eng/sdk": "^1.0.65",
39
39
  "viem": "^2.41.2",
40
40
  "zod": "^4.3.6"
41
41
  },