Server data from the Official MCP Registry
Treasury standard for AI agents on Base: hold GBLIN, JIT-swap to USDC for x402 payments.
Treasury standard for AI agents on Base: hold GBLIN, JIT-swap to USDC for x402 payments.
GBLIN MCP is a well-designed read-only server for autonomous agent treasury management on Base mainnet. It has proper authentication via RPC configuration, no credential storage issues, and safe input validation. Minor code quality concerns (broad exception handling, unvalidated cache behavior) and informational findings about network permissions do not materially affect security. The server's permissions align appropriately with its purpose. Supply chain analysis found 2 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.
4 files analyzed · 8 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: GBLIN_RPC_URL
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-gblinproject-gblin-mcp-server": {
"env": {
"GBLIN_RPC_URL": "your-gblin-rpc-url-here"
},
"args": [
"-y",
"@gblin-protocol/mcp-server"
],
"command": "npx"
}
}
}From the project's GitHub README.
Treasury standard for AI agents on Base mainnet. A Model Context Protocol (MCP) server that lets autonomous agents hold capital in GBLIN — a diversified, Crash-Shield-protected on-chain index — and Just-In-Time swap to USDC the millisecond they need to pay an x402 invoice.
📖 Full documentation and Quick Start: gblin.digital/agents
GBLIN_V5 is owned by a 48h Timelock Controller — every admin operation (parameter change, oracle update, ownership transfer) is enforced on-chain to wait 172,800 seconds before execution. Agents and integrators can verify this directly on BaseScan.
| Component | Address | Role |
|---|---|---|
| GBLIN_V5 token | 0x38DcDB3A...6345 | Index contract — owned by timelock |
| Timelock Controller | 0x6aBeC8716...8e5Dd | 48h immutable delay, 14d grace period |
| Ownership transfer tx | 0xb653f54f...edaaf | Transferred at block 46160610 |
Properties enforced at the contract level:
MIN_DELAY is immutable (override of updateDelay reverts permanently)PROPOSER_ROLE and CANCELLER_ROLE are strictly separated (constructor reverts on overlap)EXECUTOR_ROLE is open (address(0)) — anyone can execute a matured operation, anti-censorshipThis is why the get_governance_state tool returns owner_is_timelock: true and a verifiable min_delay_seconds: 172800. AI agents can use these flags to gate trust-sensitive actions.
AI agents today hold their working capital in USDC. USDC sits flat: zero yield, full inflation exposure.
GBLIN is an on-chain index on Base (45% cbBTC + 45% WETH + 10% USDC) with an algorithmic Crash Shield that auto-rebalances toward USDC when a basket asset drops >20%. Agents holding GBLIN earn basket appreciation while keeping the ability to settle x402 invoices instantly via native one-tx atomic swaps.
This server exposes that capability to any LLM agent through the standard MCP protocol.
Add to claude_desktop_config.json (on Windows: %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"gblin": {
"command": "npx",
"args": ["-y", "@gblin-protocol/mcp-server"]
}
}
}
Restart Claude Desktop. The 6 GBLIN tools appear in the tool picker.
Add to ~/.codeium/windsurf/mcp_config.json (Windsurf) or the equivalent Cursor MCP config:
{
"mcpServers": {
"gblin": {
"command": "npx",
"args": ["-y", "@gblin-protocol/mcp-server"],
"env": {
"GBLIN_RPC_URL": "https://base-rpc.publicnode.com"
}
}
}
}
Refresh MCP servers from the IDE settings (or restart). The tools become callable inline.
import { MCPClient } from "@modelcontextprotocol/sdk/client/index.js";
import { StdioClientTransport } from "@modelcontextprotocol/sdk/client/stdio.js";
const transport = new StdioClientTransport({
command: "npx",
args: ["-y", "@gblin-protocol/mcp-server"],
});
const client = new MCPClient({ name: "my-agent", version: "1.0.0" });
await client.connect(transport);
// List tools
const { tools } = await client.listTools();
// Quote a JIT payment of $0.50
const jit = await client.callTool({
name: "swap_gblin_to_usdc_jit",
arguments: { usdc_needed: "0.50", wallet_address: "0xYourAgent..." },
});
Any framework that speaks MCP over stdio works:
npx @gblin-protocol/mcp-server
Also supports Cline, Continue.dev, and any agent that implements the MCP client spec.
| Tool | Purpose |
|---|---|
get_treasury_state | NAV in USD + basket composition + Crash Shield status |
quote_safe_swap | Preview buy or sell with dynamic slippage buffer |
swap_gblin_to_usdc_jit | The x402 magic: generate atomic GBLIN→USDC calldata |
invest_usdc_to_gblin | Convert USDC earnings into GBLIN treasury (MEV-safe) |
analyze_treasury_health | Balances + gas + runway + rebalance advice |
get_governance_state | Verify owner == 48h Timelock + pending asset proposals + min delay |
All tools return structured JSON. All values are quoted on-chain (NAV via quoteSellGBLIN × Chainlink ETH/USD, with 24h staleness guard). No mock data.
Live verification: the test suite (npm test) runs all six tools against Base mainnet and confirms calldata generation, oracle freshness, slippage math, and governance state. See the latest CI run.
The GBLIN contract exposes sellGBLINForToken(amount, targetToken, fee, minOut). This burns GBLIN, swaps the basket → WETH → target token in a single transaction. No batched UserOp, no ERC-4337 dependency, no risk of half-finished JIT.
The MCP returns calldata that works identically on:
Slippage tolerance scales with on-chain risk regime:
| Condition | Buffer |
|---|---|
| Normal market | 2.5% |
| Crash Shield active (≥1 basket asset slashed) | 4.0% |
The buffer is applied on top of the contract's internal maxInternalSlippage (200 bps), absorbing oracle drift and Uniswap pool variance.
invest_usdc_to_gblin never passes minOut = 0. Both minWethOut and minGblinOut are computed from on-chain quotes plus the dynamic slippage buffer. This eliminates the sandwich-attack surface that plagues naïve buy-with-token tools.
The contract enforces a 120-second sell lock after each buy. The JIT tool reads lastDepositTime and the on-chain block.timestamp (never Date.now()) and returns a clear CooldownActive error with the exact seconds remaining if the swap would revert.
The server reads GBLIN_RPC_URL from the environment. With no env var it falls back to https://base-rpc.publicnode.com (free, no key, generous limits).
For production load (>100 concurrent agents) use a dedicated provider:
export GBLIN_RPC_URL="https://base-mainnet.g.alchemy.com/v2/YOUR_KEY"
npx @gblin-protocol/mcp-server
See .env.example for the full list.
git clone https://github.com/gblinproject/GBLIN-MCP
cd GBLIN-MCP
npm install
npm run build
npm test # live read-only smoke test against Base mainnet
npm start # run the compiled server
Project layout:
src/
config.ts # network constants, addresses, slippage params
abi.ts # GBLIN_V5 + Chainlink + ERC-20 ABIs
client.ts # viem PublicClient + on-chain timestamp helper
helpers.ts # NAV, basket state, slippage, cooldown, reverse quote
tools.ts # the 5 tool implementations + zod schemas
index.ts # MCP stdio server entry
scripts/
test.ts # live smoke test
OracleStale / OracleDead.MIT © 2026 GBLIN Protocol
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.