@gblin-protocol/mcp-server 0.4.2 → 0.5.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/AGENTS.md +49 -20
- package/README.md +110 -11
- package/dist/abi.d.ts +27 -0
- package/dist/abi.d.ts.map +1 -1
- package/dist/abi.js +1 -0
- package/dist/abi.js.map +1 -1
- package/dist/actions.d.ts +306 -0
- package/dist/actions.d.ts.map +1 -0
- package/dist/actions.js +740 -0
- package/dist/actions.js.map +1 -0
- package/dist/auction.d.ts.map +1 -1
- package/dist/auction.js +5 -4
- package/dist/auction.js.map +1 -1
- package/dist/config.d.ts +20 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +23 -6
- package/dist/config.js.map +1 -1
- package/dist/helpers.d.ts +6 -0
- package/dist/helpers.d.ts.map +1 -1
- package/dist/helpers.js +37 -13
- package/dist/helpers.js.map +1 -1
- package/dist/index.d.ts +3 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +53 -20
- package/dist/index.js.map +1 -1
- package/dist/output-schemas.d.ts +18 -0
- package/dist/output-schemas.d.ts.map +1 -0
- package/dist/output-schemas.js +243 -0
- package/dist/output-schemas.js.map +1 -0
- package/dist/payments.d.ts +170 -0
- package/dist/payments.d.ts.map +1 -0
- package/dist/payments.js +524 -0
- package/dist/payments.js.map +1 -0
- package/dist/paywall.d.ts +10 -1
- package/dist/paywall.d.ts.map +1 -1
- package/dist/paywall.js +1 -1
- package/dist/paywall.js.map +1 -1
- package/dist/prompts.d.ts +33 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +139 -0
- package/dist/prompts.js.map +1 -0
- package/dist/receipts.d.ts +2 -1
- package/dist/receipts.d.ts.map +1 -1
- package/dist/receipts.js +16 -12
- package/dist/receipts.js.map +1 -1
- package/dist/resources.d.ts +17 -0
- package/dist/resources.d.ts.map +1 -0
- package/dist/resources.js +146 -0
- package/dist/resources.js.map +1 -0
- package/dist/shared.d.ts +35 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.js +68 -0
- package/dist/shared.js.map +1 -0
- package/dist/tools.d.ts +106 -19
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +124 -117
- package/dist/tools.js.map +1 -1
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +3 -0
- package/dist/version.js.map +1 -0
- package/llms.txt +24 -2
- package/package.json +8 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../src/actions.ts"],"names":[],"mappings":"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"}
|
package/dist/auction.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auction.d.ts","sourceRoot":"","sources":["../src/auction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"auction.d.ts","sourceRoot":"","sources":["../src/auction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AASpC,MAAM,WAAW,YAAY;IAC3B,2FAA2F;IAC3F,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,uHAAuH;IACvH,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,MAAM,CAMhF;AAED,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAM/G;AAID,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,0FAA0F;IAC1F,cAAc,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,sGAAsG;IACtG,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB;wHACoH;IACpH,QAAQ,EAAE;QAAE,OAAO,EAAE;YAAE,MAAM,EAAE,OAAO,CAAC;YAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAA;SAAE,CAAC;QAAC,GAAG,EAAE;YAAE,MAAM,EAAE,OAAO,CAAC;YAAC,IAAI,EAAE,KAAK,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,GAAG,IAAI,CAAC;CACvH;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,WAAW,EAAE,OAAO,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAA;KAAE,CAAC;IACpH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,6FAA6F;IAC7F,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd;AAcD,wBAAsB,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC,CAiH7D"}
|
package/dist/auction.js
CHANGED
|
@@ -13,7 +13,8 @@
|
|
|
13
13
|
import { encodeFunctionData, formatEther, formatUnits } from "viem";
|
|
14
14
|
import { CHAINLINK_AGGREGATOR_ABI, ERC20_ABI, GBLIN_ABI, LENS_ABI } from "./abi.js";
|
|
15
15
|
import { client, getOnChainTimestamp } from "./client.js";
|
|
16
|
-
import { GBLIN_LENS, GBLIN_VAULT,
|
|
16
|
+
import { GBLIN_LENS, GBLIN_VAULT, WETH } from "./config.js";
|
|
17
|
+
import { getMaxOracleAgeSeconds } from "./helpers.js";
|
|
17
18
|
/**
|
|
18
19
|
* Premium over the oracle price, in bps, `elapsedSeconds` after the auction opened. Mirrors the
|
|
19
20
|
* vault's `auctionPremiumBps`: `-start` at the opening, rising linearly to `cap` over one ramp,
|
|
@@ -39,12 +40,12 @@ export function ethToAssetUnits(ethWei, assetPrice, wethPrice, decimals) {
|
|
|
39
40
|
units = units * 10n ** BigInt(decimals - 18);
|
|
40
41
|
return units;
|
|
41
42
|
}
|
|
42
|
-
async function oraclePrice(oracle, now) {
|
|
43
|
+
async function oraclePrice(oracle, now, stableFeed = false) {
|
|
43
44
|
try {
|
|
44
45
|
const d = await client.readContract({ address: oracle, abi: CHAINLINK_AGGREGATOR_ABI, functionName: "latestRoundData" });
|
|
45
46
|
const answer = d[1];
|
|
46
47
|
const updatedAt = Number(d[3]);
|
|
47
|
-
if (answer <= 0n || now - updatedAt >
|
|
48
|
+
if (answer <= 0n || now - updatedAt > (await getMaxOracleAgeSeconds(stableFeed)))
|
|
48
49
|
return 0n;
|
|
49
50
|
return answer;
|
|
50
51
|
}
|
|
@@ -91,7 +92,7 @@ export async function getAuctionState() {
|
|
|
91
92
|
let inputAmountRaw = gapEth;
|
|
92
93
|
let inputDecimals = 18;
|
|
93
94
|
if (vaultBuysAsset && !isWeth) {
|
|
94
|
-
const assetPrice = await oraclePrice(row[1], now);
|
|
95
|
+
const assetPrice = await oraclePrice(row[1], now, row[2]);
|
|
95
96
|
inputToken = token;
|
|
96
97
|
inputSymbol = String(symbol);
|
|
97
98
|
inputDecimals = Number(decimals);
|
package/dist/auction.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auction.js","sourceRoot":"","sources":["../src/auction.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAGpE,OAAO,EAAE,wBAAwB,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"auction.js","sourceRoot":"","sources":["../src/auction.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
* Addresses and constants of the vault in service on Base mainnet, taken from the verified sources.
|
|
6
6
|
*/
|
|
7
7
|
import type { Address } from "viem";
|
|
8
|
-
|
|
8
|
+
import { PACKAGE_VERSION } from "./version.js";
|
|
9
|
+
export { PACKAGE_VERSION };
|
|
9
10
|
export declare const BASE_CHAIN_ID = 8453;
|
|
10
11
|
export declare const DEFAULT_RPC_URL = "https://base-rpc.publicnode.com";
|
|
11
12
|
export declare const RPC_URL: string;
|
|
@@ -13,6 +14,12 @@ export declare const GBLIN_VAULT: Address;
|
|
|
13
14
|
export declare const GBLIN_LENS: Address;
|
|
14
15
|
export declare const GBLIN_ZAP: Address;
|
|
15
16
|
export declare const GBLIN_PREVIOUS: Address;
|
|
17
|
+
export declare const GBLIN_PREVIOUS_2: Address;
|
|
18
|
+
export declare const GBLIN_SENTINEL: Address;
|
|
19
|
+
export declare const GBLIN_UNISWAP_ADAPTER: Address;
|
|
20
|
+
export declare const GBLIN_FILL_AGENT: Address;
|
|
21
|
+
export declare const GBLIN_AUCTION_ORDER: Address;
|
|
22
|
+
export declare const GBLIN_POOL: Address;
|
|
16
23
|
export declare const USDC: Address;
|
|
17
24
|
export declare const WETH: Address;
|
|
18
25
|
export declare const GBLIN_TIMELOCK: Address;
|
|
@@ -22,12 +29,22 @@ export declare const ETH_USD_FEED: Address;
|
|
|
22
29
|
export declare const GBLIN_ATTESTOR: Address;
|
|
23
30
|
export declare const WETH_USDC_POOL_FEE = 500;
|
|
24
31
|
export declare const COOLDOWN_SECONDS_FALLBACK = 20;
|
|
25
|
-
|
|
32
|
+
/**
|
|
33
|
+
* Fallback for the oldest oracle answer the server accepts. The live limit is the vault's own
|
|
34
|
+
* `oracleAge`, read through the Lens (see getMaxOracleAgeSeconds); this value is used only when
|
|
35
|
+
* that read fails.
|
|
36
|
+
*/
|
|
37
|
+
export declare const ORACLE_STALENESS_SECONDS = 7200;
|
|
38
|
+
/**
|
|
39
|
+
* The oldest answer the vault accepts from the feed of a stable asset, whose Chainlink heartbeat is
|
|
40
|
+
* a day. It is a constant in the contract (PRICE_MAX_AGE), not a governance parameter.
|
|
41
|
+
*/
|
|
42
|
+
export declare const STABLE_PRICE_MAX_AGE_SECONDS = 93600;
|
|
26
43
|
export declare const SLIPPAGE_NORMAL_BPS = 250n;
|
|
27
44
|
export declare const SLIPPAGE_CRASH_SHIELD_BPS = 400n;
|
|
28
45
|
export declare const BPS_DENOMINATOR = 10000n;
|
|
29
46
|
export declare const NAV_CACHE_TTL_MS = 30000;
|
|
30
47
|
export declare const BASKET_CACHE_TTL_MS = 60000;
|
|
31
48
|
export declare const SERVER_NAME = "gblin-treasury-mcp";
|
|
32
|
-
export declare const SERVER_VERSION
|
|
49
|
+
export declare const SERVER_VERSION = "0.5.0";
|
|
33
50
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,eAAe,EAAE,CAAC;AAG3B,eAAO,MAAM,aAAa,OAAO,CAAC;AAGlC,eAAO,MAAM,eAAe,oCAAoC,CAAC;AAiBjE,eAAO,MAAM,OAAO,QAC4C,CAAC;AAIjE,eAAO,MAAM,WAAW,EAAE,OAAsD,CAAC;AAEjF,eAAO,MAAM,UAAU,EAAE,OAAsD,CAAC;AAGhF,eAAO,MAAM,SAAS,EAAE,OAAsD,CAAC;AAG/E,eAAO,MAAM,cAAc,EAAE,OAAsD,CAAC;AAEpF,eAAO,MAAM,gBAAgB,EAAE,OAAsD,CAAC;AAEtF,eAAO,MAAM,cAAc,EAAE,OAAsD,CAAC;AACpF,eAAO,MAAM,qBAAqB,EAAE,OAAsD,CAAC;AAC3F,eAAO,MAAM,gBAAgB,EAAE,OAAsD,CAAC;AACtF,eAAO,MAAM,mBAAmB,EAAE,OAAsD,CAAC;AAEzF,eAAO,MAAM,UAAU,EAAE,OAAsD,CAAC;AAChF,eAAO,MAAM,IAAI,EAAE,OAAsD,CAAC;AAC1E,eAAO,MAAM,IAAI,EAAE,OAAsD,CAAC;AAG1E,eAAO,MAAM,cAAc,EAAE,OAAsD,CAAC;AAEpF,eAAO,MAAM,cAAc,EAAE,OAAsD,CAAC;AACpF,eAAO,MAAM,0BAA0B,UAAW,CAAC;AAGnD,eAAO,MAAM,YAAY,EAAE,OAAsD,CAAC;AASlF,eAAO,MAAM,cAAc,EAAE,OAGqB,CAAC;AAGnD,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAItC,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,4BAA4B,QAAS,CAAC;AAInD,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAC9C,eAAO,MAAM,eAAe,SAAU,CAAC;AAGvC,eAAO,MAAM,gBAAgB,QAAS,CAAC;AACvC,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAG1C,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAChD,eAAO,MAAM,cAAc,UAAkB,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -4,11 +4,9 @@
|
|
|
4
4
|
* All addresses, constants, and tunable parameters.
|
|
5
5
|
* Addresses and constants of the vault in service on Base mainnet, taken from the verified sources.
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
8
|
-
const require = createRequire(import.meta.url);
|
|
9
|
-
const pkg = require("../package.json");
|
|
7
|
+
import { PACKAGE_VERSION } from "./version.js";
|
|
10
8
|
// ─── Version ────────────────────────────────────────────────────────────────
|
|
11
|
-
export
|
|
9
|
+
export { PACKAGE_VERSION };
|
|
12
10
|
// ─── Network ────────────────────────────────────────────────────────────────
|
|
13
11
|
export const BASE_CHAIN_ID = 8453;
|
|
14
12
|
// publicnode.com is a free, no-key, generously-rated Base mainnet RPC
|
|
@@ -39,6 +37,15 @@ export const GBLIN_ZAP = "0x0E9D6Ceb6D313b021622C121Cda9C62e86e60200";
|
|
|
39
37
|
// Previous deployment, superseded. Kept only so that risk attestations signed under EIP-712 domain
|
|
40
38
|
// version 1 remain verifiable; nothing is read from it.
|
|
41
39
|
export const GBLIN_PREVIOUS = "0x36C81d7E1966310F305eA637e761Cf77F90852f0";
|
|
40
|
+
// An earlier deployment, also deprecated.
|
|
41
|
+
export const GBLIN_PREVIOUS_2 = "0x38DcDB3A381677239BBc652aed9811F2f8496345";
|
|
42
|
+
// The rest of the deployment in service. Every address carries verified source code on Base.
|
|
43
|
+
export const GBLIN_SENTINEL = "0x9F13C5c46a864183e1c57Ec02837fe5B980D3F67";
|
|
44
|
+
export const GBLIN_UNISWAP_ADAPTER = "0x062654Bf9b5Bd88b84D7861a8f22ba94dECd9d3F";
|
|
45
|
+
export const GBLIN_FILL_AGENT = "0x0f4307A5Eb7D33d04Cb68fb0bA4d47a56C7E2fc8";
|
|
46
|
+
export const GBLIN_AUCTION_ORDER = "0x156Ffd19819e02d9809cED8fa1416EDCD31ddaB9";
|
|
47
|
+
// Uniswap V3 WETH/GBLIN pool, fee tier 0.3%.
|
|
48
|
+
export const GBLIN_POOL = "0x779C4260022bf7493d303Ff016C3C63215ee9B19";
|
|
42
49
|
export const USDC = "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913";
|
|
43
50
|
export const WETH = "0x4200000000000000000000000000000000000006";
|
|
44
51
|
// GblinTimelockController: 48-hour minimum delay, 14-day grace period, open executor.
|
|
@@ -63,7 +70,17 @@ export const WETH_USDC_POOL_FEE = 500; // 0.05%
|
|
|
63
70
|
// ─── Protocol constants (mirror the vault's own settings) ──────────────────────────────
|
|
64
71
|
// Redemption cooldown after a mint, in seconds. Read live from the Lens; this value is only the fallback when that read fails.
|
|
65
72
|
export const COOLDOWN_SECONDS_FALLBACK = 20;
|
|
66
|
-
|
|
73
|
+
/**
|
|
74
|
+
* Fallback for the oldest oracle answer the server accepts. The live limit is the vault's own
|
|
75
|
+
* `oracleAge`, read through the Lens (see getMaxOracleAgeSeconds); this value is used only when
|
|
76
|
+
* that read fails.
|
|
77
|
+
*/
|
|
78
|
+
export const ORACLE_STALENESS_SECONDS = 7_200;
|
|
79
|
+
/**
|
|
80
|
+
* The oldest answer the vault accepts from the feed of a stable asset, whose Chainlink heartbeat is
|
|
81
|
+
* a day. It is a constant in the contract (PRICE_MAX_AGE), not a governance parameter.
|
|
82
|
+
*/
|
|
83
|
+
export const STABLE_PRICE_MAX_AGE_SECONDS = 93_600;
|
|
67
84
|
// ─── Slippage Buffers (basis points) ────────────────────────────────────────
|
|
68
85
|
// Applied on top of contract-internal slippage (maxInternalSlippage = 200 bps)
|
|
69
86
|
export const SLIPPAGE_NORMAL_BPS = 250n; // 2.5% — calm market
|
|
@@ -74,5 +91,5 @@ export const NAV_CACHE_TTL_MS = 30_000; // 30 seconds
|
|
|
74
91
|
export const BASKET_CACHE_TTL_MS = 60_000; // 60 seconds
|
|
75
92
|
// ─── Metadata ───────────────────────────────────────────────────────────────
|
|
76
93
|
export const SERVER_NAME = "gblin-treasury-mcp";
|
|
77
|
-
export const SERVER_VERSION =
|
|
94
|
+
export const SERVER_VERSION = PACKAGE_VERSION;
|
|
78
95
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,+EAA+E;AAC/E,OAAO,EAAE,eAAe,EAAE,CAAC;AAE3B,+EAA+E;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC;AAClC,sEAAsE;AACtE,mFAAmF;AACnF,MAAM,CAAC,MAAM,eAAe,GAAG,iCAAiC,CAAC;AAEjE,SAAS,cAAc,CAAC,CAAS;IAC/B,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QACrB,OAAO,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;AAC1C,IAAI,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC,OAAO,CAAC,KAAK,CACX,8BAA8B,OAAO,+CAA+C,eAAe,EAAE,CACtG,CAAC;AACJ,CAAC;AACD,MAAM,CAAC,MAAM,OAAO,GAClB,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;AAEjE,+EAA+E;AAC/E,gGAAgG;AAChG,MAAM,CAAC,MAAM,WAAW,GAAY,4CAA4C,CAAC;AACjF,2FAA2F;AAC3F,MAAM,CAAC,MAAM,UAAU,GAAY,4CAA4C,CAAC;AAChF,kGAAkG;AAClG,qGAAqG;AACrG,MAAM,CAAC,MAAM,SAAS,GAAY,4CAA4C,CAAC;AAC/E,mGAAmG;AACnG,wDAAwD;AACxD,MAAM,CAAC,MAAM,cAAc,GAAY,4CAA4C,CAAC;AACpF,0CAA0C;AAC1C,MAAM,CAAC,MAAM,gBAAgB,GAAY,4CAA4C,CAAC;AACtF,6FAA6F;AAC7F,MAAM,CAAC,MAAM,cAAc,GAAY,4CAA4C,CAAC;AACpF,MAAM,CAAC,MAAM,qBAAqB,GAAY,4CAA4C,CAAC;AAC3F,MAAM,CAAC,MAAM,gBAAgB,GAAY,4CAA4C,CAAC;AACtF,MAAM,CAAC,MAAM,mBAAmB,GAAY,4CAA4C,CAAC;AACzF,6CAA6C;AAC7C,MAAM,CAAC,MAAM,UAAU,GAAY,4CAA4C,CAAC;AAChF,MAAM,CAAC,MAAM,IAAI,GAAY,4CAA4C,CAAC;AAC1E,MAAM,CAAC,MAAM,IAAI,GAAY,4CAA4C,CAAC;AAE1E,sFAAsF;AACtF,MAAM,CAAC,MAAM,cAAc,GAAY,4CAA4C,CAAC;AACpF,qFAAqF;AACrF,MAAM,CAAC,MAAM,cAAc,GAAY,4CAA4C,CAAC;AACpF,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAQ,CAAC,CAAC,WAAW;AAE/D,uCAAuC;AACvC,MAAM,CAAC,MAAM,YAAY,GAAY,4CAA4C,CAAC;AAElF,gFAAgF;AAChF,uEAAuE;AACvE,8EAA8E;AAC9E,2EAA2E;AAC3E,0EAA0E;AAC1E,8EAA8E;AAC9E,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;AACxD,MAAM,CAAC,MAAM,cAAc,GACzB,YAAY,IAAI,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC;IACtD,CAAC,CAAE,YAAwB;IAC3B,CAAC,CAAC,4CAA4C,CAAC;AAEnD,wEAAwE;AACxE,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC,CAAC,QAAQ;AAE/C,0FAA0F;AAC1F,+HAA+H;AAC/H,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAC5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C;;;GAGG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAEnD,+EAA+E;AAC/E,+EAA+E;AAC/E,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,CAAC,qBAAqB;AAC9D,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,CAAC,CAAC,6BAA6B;AAC5E,MAAM,CAAC,MAAM,eAAe,GAAG,MAAO,CAAC;AAEvC,+EAA+E;AAC/E,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC,aAAa;AACrD,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,CAAC,aAAa;AAExD,+EAA+E;AAC/E,MAAM,CAAC,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAChD,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAC"}
|
package/dist/helpers.d.ts
CHANGED
|
@@ -7,6 +7,12 @@
|
|
|
7
7
|
* All functions are read-only against Base mainnet. No private keys involved.
|
|
8
8
|
*/
|
|
9
9
|
import type { Address } from "viem";
|
|
10
|
+
/**
|
|
11
|
+
* The oldest oracle answer the vault itself accepts when it prices its NAV: a fixed 26 hours for
|
|
12
|
+
* the feed of a stable asset, and `oracleAge` (read from the contract) for every other feed. The
|
|
13
|
+
* server refuses the same prices the contract refuses.
|
|
14
|
+
*/
|
|
15
|
+
export declare function getMaxOracleAgeSeconds(stableFeed?: boolean): Promise<number>;
|
|
10
16
|
export declare function getEthPriceUsd(): Promise<number>;
|
|
11
17
|
export declare function getNavUsd(): Promise<number>;
|
|
12
18
|
export interface BasketEntry {
|
package/dist/helpers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AA+BpC;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,UAAU,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAoBhF;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAgCtD;AAQD,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAoBjD;AAMD,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAID;;;;GAIG;AACH,wBAAsB,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC,CAuD3D;AAMD,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,QAAQ,GAAG,qBAAqB,CAAC;CAC1C;AAED,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC,CAcnE;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEzE;AAMD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,OAAO,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CA4B5E;AAMD;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC;IACT,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC,CAkCD;AAMD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,CAsChF;AAMD,wBAAgB,WAAW,IAAI,IAAI,CAIlC"}
|
package/dist/helpers.js
CHANGED
|
@@ -9,11 +9,41 @@
|
|
|
9
9
|
import { formatUnits, parseUnits } from "viem";
|
|
10
10
|
import { client, getOnChainTimestamp } from "./client.js";
|
|
11
11
|
import { CHAINLINK_AGGREGATOR_ABI, ERC20_ABI, GBLIN_ABI, LENS_ABI, } from "./abi.js";
|
|
12
|
-
import { BASKET_CACHE_TTL_MS, BPS_DENOMINATOR, COOLDOWN_SECONDS_FALLBACK, ETH_USD_FEED, GBLIN_LENS, GBLIN_VAULT, NAV_CACHE_TTL_MS, ORACLE_STALENESS_SECONDS, SLIPPAGE_CRASH_SHIELD_BPS, SLIPPAGE_NORMAL_BPS, USDC, } from "./config.js";
|
|
12
|
+
import { BASKET_CACHE_TTL_MS, BPS_DENOMINATOR, COOLDOWN_SECONDS_FALLBACK, ETH_USD_FEED, GBLIN_LENS, GBLIN_VAULT, NAV_CACHE_TTL_MS, ORACLE_STALENESS_SECONDS, STABLE_PRICE_MAX_AGE_SECONDS, SLIPPAGE_CRASH_SHIELD_BPS, SLIPPAGE_NORMAL_BPS, USDC, } from "./config.js";
|
|
13
13
|
// ───────────────────────────────────────────────────────────────────────────
|
|
14
14
|
// ETH/USD PRICE (Chainlink) — with staleness guard
|
|
15
15
|
// ───────────────────────────────────────────────────────────────────────────
|
|
16
16
|
let ethPriceCache = null;
|
|
17
|
+
let oracleAgeCache = null;
|
|
18
|
+
/**
|
|
19
|
+
* The oldest oracle answer the vault itself accepts when it prices its NAV: a fixed 26 hours for
|
|
20
|
+
* the feed of a stable asset, and `oracleAge` (read from the contract) for every other feed. The
|
|
21
|
+
* server refuses the same prices the contract refuses.
|
|
22
|
+
*/
|
|
23
|
+
export async function getMaxOracleAgeSeconds(stableFeed = false) {
|
|
24
|
+
if (stableFeed)
|
|
25
|
+
return STABLE_PRICE_MAX_AGE_SECONDS;
|
|
26
|
+
const now = Date.now();
|
|
27
|
+
if (oracleAgeCache && now - oracleAgeCache.fetchedAt < 10 * 60_000)
|
|
28
|
+
return oracleAgeCache.value;
|
|
29
|
+
try {
|
|
30
|
+
const cfg = await client.readContract({
|
|
31
|
+
address: GBLIN_LENS,
|
|
32
|
+
abi: LENS_ABI,
|
|
33
|
+
functionName: "configFees",
|
|
34
|
+
args: [GBLIN_VAULT],
|
|
35
|
+
});
|
|
36
|
+
const value = Number(cfg[3]);
|
|
37
|
+
if (value > 0) {
|
|
38
|
+
oracleAgeCache = { value, fetchedAt: now };
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
// Fall through to the fallback below.
|
|
44
|
+
}
|
|
45
|
+
return ORACLE_STALENESS_SECONDS;
|
|
46
|
+
}
|
|
17
47
|
export async function getEthPriceUsd() {
|
|
18
48
|
const now = Date.now();
|
|
19
49
|
if (ethPriceCache && now - ethPriceCache.fetchedAt < NAV_CACHE_TTL_MS) {
|
|
@@ -30,8 +60,9 @@ export async function getEthPriceUsd() {
|
|
|
30
60
|
throw new Error("OracleDead: Chainlink ETH/USD feed returned non-positive value.");
|
|
31
61
|
}
|
|
32
62
|
const nowSec = Math.floor(now / 1_000);
|
|
33
|
-
|
|
34
|
-
|
|
63
|
+
const maxAge = await getMaxOracleAgeSeconds();
|
|
64
|
+
if (nowSec - updatedAt > maxAge) {
|
|
65
|
+
throw new Error(`OracleStale: Chainlink ETH/USD feed is ${nowSec - updatedAt}s old (the vault accepts at most ${maxAge}s). Aborting rather than quoting on a price the contract would refuse.`);
|
|
35
66
|
}
|
|
36
67
|
// Chainlink ETH/USD on Base has 8 decimals
|
|
37
68
|
const price = Number(answer) / 1e8;
|
|
@@ -192,17 +223,10 @@ export async function quoteGblinForUsdc(usdcTargetStr) {
|
|
|
192
223
|
// swap, which spends only that minimum and must still return the full target. Gross up for both.
|
|
193
224
|
const keep = BPS_DENOMINATOR - slippage.bps;
|
|
194
225
|
const grossUsdcTarget = (usdcTargetUnits * BPS_DENOMINATOR * BPS_DENOMINATOR) / (keep * keep);
|
|
195
|
-
// Convert USDC
|
|
196
|
-
//
|
|
197
|
-
//
|
|
198
|
-
// We scale navUsd by 1e6 for precision.
|
|
226
|
+
// Convert USDC to shares at NAV. Both grossUsdcTarget and navUsdScaled are USD scaled by 1e6, so
|
|
227
|
+
// shares (18 decimals) = grossUsdcTarget * 1e18 / navUsdScaled. Scaling the NAV to a millionth of a
|
|
228
|
+
// dollar bounds the relative error near 1e-8, far inside the slippage buffer.
|
|
199
229
|
const navUsdScaled = BigInt(Math.round(navUsd * 1_000_000));
|
|
200
|
-
// gblinToSell = grossUsdcTarget(6 dec) * 1e18 / (navUsdScaled / 1e6) → simplifies to:
|
|
201
|
-
// gblinToSell = grossUsdcTarget * 1e18 * 1e6 / (navUsdScaled * 1e6) = grossUsdcTarget * 1e18 / navUsdScaled
|
|
202
|
-
// Wait — need to align decimals carefully:
|
|
203
|
-
// grossUsdcTarget has 6 decimals → represents USD * 1e6
|
|
204
|
-
// navUsdScaled represents USD * 1e6
|
|
205
|
-
// So gblinUnits (18 decimals) = (grossUsdcTarget / navUsdScaled) * 1e18
|
|
206
230
|
const gblinToSell = (grossUsdcTarget * parseUnits("1", 18)) / navUsdScaled;
|
|
207
231
|
// minUsdcOut = exact target (we asked for this much; agent fails if it gets less)
|
|
208
232
|
const minUsdcOut = usdcTargetUnits;
|
package/dist/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAG/C,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EACL,wBAAwB,EACxB,SAAS,EACT,SAAS,EACT,QAAQ,GACT,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,yBAAyB,EACzB,YAAY,EACZ,UAAU,EACV,WAAW,EACX,gBAAgB,EAChB,wBAAwB,EACxB,yBAAyB,EACzB,mBAAmB,EACnB,IAAI,GACL,MAAM,aAAa,CAAC;AAErB,8EAA8E;AAC9E,mDAAmD;AACnD,8EAA8E;AAE9E,IAAI,aAAa,GAAgD,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* GBLIN MCP Server — entry point.
|
|
4
4
|
*
|
|
5
|
-
* Speaks the Model Context Protocol over stdio
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* risk attestation verification and the receipts trio).
|
|
5
|
+
* Speaks the Model Context Protocol over stdio and exposes three primitives: tools (TOOL_DEFINITIONS),
|
|
6
|
+
* prompts (PROMPT_DEFINITIONS) and resources (RESOURCE_DEFINITIONS). The server holds no keys and never
|
|
7
|
+
* sends a transaction: tools that act return unsigned calldata or typed data for the caller's wallet.
|
|
9
8
|
*
|
|
10
9
|
* IMPORTANT: never write to stdout via console.log — that channel is reserved
|
|
11
10
|
* for MCP JSON-RPC frames. Use console.error (stderr) for diagnostics.
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;GASG"}
|
package/dist/index.js
CHANGED
|
@@ -2,46 +2,79 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* GBLIN MCP Server — entry point.
|
|
4
4
|
*
|
|
5
|
-
* Speaks the Model Context Protocol over stdio
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
* risk attestation verification and the receipts trio).
|
|
5
|
+
* Speaks the Model Context Protocol over stdio and exposes three primitives: tools (TOOL_DEFINITIONS),
|
|
6
|
+
* prompts (PROMPT_DEFINITIONS) and resources (RESOURCE_DEFINITIONS). The server holds no keys and never
|
|
7
|
+
* sends a transaction: tools that act return unsigned calldata or typed data for the caller's wallet.
|
|
9
8
|
*
|
|
10
9
|
* IMPORTANT: never write to stdout via console.log — that channel is reserved
|
|
11
10
|
* for MCP JSON-RPC frames. Use console.error (stderr) for diagnostics.
|
|
12
11
|
*/
|
|
13
12
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
14
13
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
15
|
-
import { CallToolRequestSchema, ListToolsRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
14
|
+
import { CallToolRequestSchema, GetPromptRequestSchema, ListPromptsRequestSchema, ListResourcesRequestSchema, ListToolsRequestSchema, McpError, ErrorCode, ReadResourceRequestSchema, } from "@modelcontextprotocol/sdk/types.js";
|
|
16
15
|
import { SERVER_NAME, SERVER_VERSION } from "./config.js";
|
|
16
|
+
import { PROMPT_DEFINITIONS, getPrompt } from "./prompts.js";
|
|
17
|
+
import { RESOURCE_DEFINITIONS, readResource } from "./resources.js";
|
|
17
18
|
import { TOOL_DEFINITIONS, TOOL_HANDLERS } from "./tools.js";
|
|
18
|
-
// Sent in the initialize result
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"
|
|
22
|
-
"get_treasury_state, get_governance_state,
|
|
23
|
-
"
|
|
24
|
-
"
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
|
|
19
|
+
// Sent in the initialize result: a short, factual map of what this server does.
|
|
20
|
+
const INSTRUCTIONS = "GBLIN stdio MCP (" + SERVER_NAME + " v" + SERVER_VERSION + "). GBLIN is an on-chain index of cbBTC, WETH and USDC on Base, " +
|
|
21
|
+
"minted and redeemed at NAV. This server holds no keys and never sends a transaction: tools that act return unsigned " +
|
|
22
|
+
"calldata or typed data for your own wallet to sign. " +
|
|
23
|
+
"Read: get_treasury_state, get_governance_state, get_auction_state (the vault rebalances by Dutch auction), " +
|
|
24
|
+
"get_market_risk_regime (calm|elevated|crash), analyze_treasury_health, quote_safe_swap, get_nav_history (NAV beside ETH and BTC). " +
|
|
25
|
+
"Act, in this order: prepare_action (any operation: mint with ETH, WETH or USDC, redeem in kind, exit to ETH or USDC, bid), " +
|
|
26
|
+
"preview_steps (simulate the steps before signing; it finds the gas each vault step really needs), send from your wallet, " +
|
|
27
|
+
"then get_transaction_status. Shortcuts: swap_gblin_to_usdc_jit (exit to USDC to pay an invoice), invest_usdc_to_gblin. " +
|
|
28
|
+
"Pay in GBLIN with a signature and no ETH (EIP-3009, x402 'exact'): prepare_gblin_payment, then verify_gblin_authorization; " +
|
|
29
|
+
"when nobody else will carry it, prepare with relay: true and hand both signatures to relay_gblin_payment (fee in GBLIN, one atomic transaction). " +
|
|
30
|
+
"Verify: verify_risk_attestation (pure EIP-712 math). Receipts: seal_action_demo, get_receipt, how_to_seal_paid. " +
|
|
31
|
+
"Prompts: risk_gate, pay_in_gblin, pay_invoice_just_in_time, seal_and_verify. " +
|
|
32
|
+
"Resources: gblin://contracts, gblin://payments, gblin://keys, gblin://limits. " +
|
|
33
|
+
"Every tool is free; paid data lives on x402 HTTP endpoints at https://gblin.digital (docs: https://gblin.digital/llms.txt).";
|
|
34
|
+
const server = new Server({ name: SERVER_NAME, version: SERVER_VERSION }, { capabilities: { tools: {}, prompts: {}, resources: {} }, instructions: INSTRUCTIONS });
|
|
35
|
+
server.setRequestHandler(ListPromptsRequestSchema, async () => ({ prompts: PROMPT_DEFINITIONS }));
|
|
36
|
+
server.setRequestHandler(GetPromptRequestSchema, async (request) => {
|
|
37
|
+
const { name, arguments: args } = request.params;
|
|
38
|
+
const prompt = getPrompt(name, (args ?? {}));
|
|
39
|
+
if (!prompt)
|
|
40
|
+
throw new McpError(ErrorCode.InvalidParams, `Unknown prompt: ${name}`);
|
|
41
|
+
return prompt;
|
|
42
|
+
});
|
|
43
|
+
server.setRequestHandler(ListResourcesRequestSchema, async () => ({ resources: RESOURCE_DEFINITIONS }));
|
|
44
|
+
server.setRequestHandler(ReadResourceRequestSchema, async (request) => {
|
|
45
|
+
const { uri } = request.params;
|
|
46
|
+
const body = await readResource(uri);
|
|
47
|
+
if (!body)
|
|
48
|
+
throw new McpError(ErrorCode.InvalidParams, `Unknown resource: ${uri}`);
|
|
49
|
+
return { contents: [{ uri, mimeType: "application/json", text: JSON.stringify(body, null, 2) }] };
|
|
50
|
+
});
|
|
32
51
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
33
52
|
tools: TOOL_DEFINITIONS,
|
|
34
53
|
}));
|
|
54
|
+
/**
|
|
55
|
+
* Tools that existed in earlier releases and no longer do. A caller that integrated against
|
|
56
|
+
* an older version is told what to call instead, rather than only that the name is unknown.
|
|
57
|
+
*/
|
|
58
|
+
const RETIRED_TOOLS = {
|
|
59
|
+
find_keeper_bounty: {
|
|
60
|
+
use: "get_auction_state",
|
|
61
|
+
why: "The vault in service rebalances through a Dutch auction and pays no keeper bounty; get_auction_state reports whether the auction is open, the premium and the gap per basket row.",
|
|
62
|
+
},
|
|
63
|
+
};
|
|
35
64
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
36
65
|
const { name, arguments: args } = request.params;
|
|
37
66
|
const handler = TOOL_HANDLERS[name];
|
|
38
67
|
if (!handler) {
|
|
68
|
+
// A caller that integrated before a rename gets the replacement, not a dead end.
|
|
69
|
+
const replacement = RETIRED_TOOLS[name];
|
|
39
70
|
return {
|
|
40
71
|
isError: true,
|
|
41
72
|
content: [
|
|
42
73
|
{
|
|
43
74
|
type: "text",
|
|
44
|
-
text: JSON.stringify(
|
|
75
|
+
text: JSON.stringify(replacement
|
|
76
|
+
? { error: `Unknown tool: ${name}`, retired: true, use_instead: replacement.use, reason: replacement.why }
|
|
77
|
+
: { error: `Unknown tool: ${name}`, available: Object.keys(TOOL_HANDLERS) }),
|
|
45
78
|
},
|
|
46
79
|
],
|
|
47
80
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* GBLIN MCP — output schemas.
|
|
3
|
+
*
|
|
4
|
+
* Every tool that returns a JSON object declares its shape here, so a client can validate the
|
|
5
|
+
* `structuredContent` of a successful result and generate types from it. Error results carry
|
|
6
|
+
* `isError: true` and no structured content, so they are outside these schemas.
|
|
7
|
+
*
|
|
8
|
+
* The `required` list of each schema is the contract: fields a successful call always returns.
|
|
9
|
+
* Other fields are described but optional, and `additionalProperties` stays open, so adding a
|
|
10
|
+
* field later is not a breaking change. Removing or retyping a required field is.
|
|
11
|
+
*
|
|
12
|
+
* seal_action_demo has no schema: its result is the hosted log's receipt, whose shape is published
|
|
13
|
+
* by the log itself (see get_receipt for the fields a reader can rely on).
|
|
14
|
+
*/
|
|
15
|
+
type JsonSchema = Record<string, unknown>;
|
|
16
|
+
export declare const OUTPUT_SCHEMAS: Record<string, JsonSchema>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=output-schemas.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-schemas.d.ts","sourceRoot":"","sources":["../src/output-schemas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,KAAK,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAyB1C,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAqOrD,CAAC"}
|