Griphook is an MCP server enabling AI assistants to interact with the STRATO blockchain's DeFi ecosystem through 67 tools for reading data and executing transactions.
Read Operations:
Tokens & Balances: Fetch token catalog, user balances, voucher balances, earning assets, and token history
Swap Pools: Inspect pools, LP positions, supported token pairs, pool details, and price history
Lending: View lending pools, loans, liquidity, collateral positions, liquidation opportunities, and safety module state
CDP Vaults: Monitor vaults, assets, debt metrics, bad debt, interest rates, and statistics
Bridge: Track bridge networks, bridgeable tokens, deposit/withdrawal history, and transaction summaries
Rewards: Check rewards overview, user activities, pending balances, and leaderboard standings
Admin & Governance: View user profiles, administrators, open governance issues, contract details, and protocol configuration
Events: Search and query on-chain events
Protocol Revenue: Fetch aggregated or per-protocol fee/revenue data (CDP, lending, swap, gas)
RPC Proxy: Execute raw JSON-RPC requests through the backend router
Write Operations:
Token Management: Create tokens (admin), transfer, approve spending allowances, transfer on behalf of others, set token status (admin)
Swap Operations: Create pools, add/remove liquidity (single or dual-sided), execute swaps with slippage protection
Lending: Supply/withdraw collateral, borrow/repay USDST (including max amounts), deposit/withdraw liquidity, stake/unstake in safety module, execute liquidations, configure parameters (admin), sweep reserves (admin), set debt ceilings (admin), pause/unpause operations (admin)
CDP Vaults: Deposit/withdraw collateral, mint/repay USDST (including max amounts), liquidate positions, manage junior notes (open/top-up/claim), configure collateral parameters (admin), toggle asset support (admin), pause/unpause operations (admin)
Bridge: Request withdrawals to external chains and auto-save transactions
Rewards: Claim CATA rewards from RewardsChef, claim rewards for specific activities, or claim all rewards
Administration & Governance: Add/remove administrators, cast votes on proposals, dismiss governance issues, set oracle prices (admin)
⚠️ Security: Requires OAuth 2.0 authentication. Can move funds and change on-chain state—use with caution.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GriphookCheck my token balances and active lending positions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Griphook
███████╗████████╗██████╗ █████╗ ████████╗ ██████╗
██╔════╝╚══██╔══╝██╔══██╗██╔══██╗╚══██╔══╝██╔═══██╗
███████╗ ██║ ██████╔╝███████║ ██║ ██║ ██║
╚════██║ ██║ ██╔══██╗██╔══██║ ██║ ██║ ██║
███████║ ██║ ██║ ██║██║ ██║ ██║ ╚██████╔╝
╚══════╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═╝ ╚═════╝
██████╗ ██████╗ ██╗██████╗ ██╗ ██╗ ██████╗ ██████╗ ██╗ ██╗
██╔════╝ ██╔══██╗██║██╔══██╗██║ ██║██╔═══██╗██╔═══██╗██║ ██╔╝
██║ ███╗██████╔╝██║██████╔╝███████║██║ ██║██║ ██║█████╔╝
██║ ██║██╔══██╗██║██╔═══╝ ██╔══██║██║ ██║██║ ██║██╔═██╗
╚██████╔╝██║ ██║██║██║ ██║ ██║╚██████╔╝╚██████╔╝██║ ██╗
╚═════╝ ╚═╝ ╚═╝╚═╝╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═╝Griphook is an MCP (Model Context Protocol) server that connects AI agents to the STRATO blockchain platform.
What is STRATO?
STRATO is a blockchain platform with a comprehensive DeFi ecosystem including token management, decentralized exchange, lending markets, CDP vaults, cross-chain bridging, and governance.
What is Griphook?
Griphook lets AI assistants like Claude interact with STRATO. Through 67 MCP tools, your AI can:
Read token balances, swap pools, lending positions, CDP vaults, and protocol metrics
Execute swaps, lending operations, borrowing, bridging, and reward claims
Manage platform administration and governance voting
Quick Start
Public hosted instances are available for both production and testnet:
Environment | Login URL | MCP Endpoint |
Production |
| |
Testnet |
|
Visit the login URL to sign in and get a token
Add to your MCP config (e.g.,
.mcp.jsonfor Claude Code):
{
"mcpServers": {
"griphook": {
"type": "http",
"url": "https://griphook.strato.nexus/mcp",
"headers": { "Authorization": "Bearer <your-token>" }
}
}
}See AI Coding Tool Compatibility for tool-specific configurations.
Using the CLI Locally
Build and run the local CLI:
npm install
npm run buildCreate .env from .env.sample, then set at least:
STRATO_API_BASE_URLorSTRATO_NODE_URLOPENID_DISCOVERY_URLOAUTH_CLIENT_IDOAUTH_CLIENT_SECRET
CLI auth + basic commands:
node dist/cli.js login
node dist/cli.js status
node dist/cli.js token
node dist/cli.js logoutTool discovery and invocation:
node dist/cli.js tools
node dist/cli.js tools strato.tokens
node dist/cli.js strato.tokens --includeBalances
node dist/cli.js strato.tokens --includeBalances --jsonImportant CLI behavior:
node dist/cli.jswith no command starts the MCP server (servemode).Tool flags are schema-validated: unknown flags fail fast.
Non-boolean flags require a value, for example
--tokenAddress <value>.--no-<flag>is only valid for boolean inputs.Credentials are stored at
~/.griphook/credentials.json.
.env Examples
Mainnet example:
STRATO_API_BASE_URL=https://app.strato.nexus/api
OPENID_DISCOVERY_URL=https://keycloak.blockapps.net/auth/realms/mercata/.well-known/openid-configuration
OAUTH_CLIENT_ID=your-client-id
OAUTH_CLIENT_SECRET=your-client-secretTestnet example:
STRATO_API_BASE_URL=https://buildtest.mercata-testnet.blockapps.net/api
OPENID_DISCOVERY_URL=https://keycloak.blockapps.net/auth/realms/mercata/.well-known/openid-configuration
OAUTH_CLIENT_ID=your-client-id
OAUTH_CLIENT_SECRET=your-client-secretCommon CLI Recipes
Most commands below require an active login (node dist/cli.js login).
Show available tools:
node dist/cli.js toolsShow inputs for a specific tool:
node dist/cli.js tools strato.tokensFetch token + voucher balances (current user):
node dist/cli.js strato.tokens --includeBalances --jsonFetch token catalog (can be large):
node dist/cli.js strato.tokens --includeTokens --status eq.2 --jsonInspect swap pools and your LP positions:
node dist/cli.js strato.swap --includePositions --jsonInspect a specific token pair in swap:
node dist/cli.js strato.swap --tokenA <tokenA-address> --tokenB <tokenB-address> --jsonFetch lending dashboard with interest:
node dist/cli.js strato.lending --includeInterest --jsonFetch CDP overview with stats:
node dist/cli.js strato.cdp --includeStats --jsonFetch rewards and leaderboard:
node dist/cli.js strato.rewards --includeLeaderboard --leaderboardLimit 20 --jsonSearch chain events:
node dist/cli.js strato.events --limit 25 --order block_timestamp.desc --jsonRun against another environment without editing .env:
STRATO_API_BASE_URL=https://app.strato.nexus/api \
node dist/cli.js strato.tokens --includeBalances --jsonRunning Your Own Instance
To run your own Griphook server, add to .mcp.json:
{
"mcpServers": {
"griphook": {
"command": "node",
"args": ["/path/to/griphook/dist/cli.js", "serve"],
"env": {
"OAUTH_CLIENT_ID": "your-client-id",
"OAUTH_CLIENT_SECRET": "your-client-secret",
"OPENID_DISCOVERY_URL": "https://keycloak.blockapps.net/auth/realms/mercata/.well-known/openid-configuration",
"STRATO_API_BASE_URL": "https://buildtest.mercata-testnet.blockapps.net/api"
}
}
}
}Environment Variables
Required for Login
Variable | Description |
| OAuth 2.0 client ID |
| OAuth 2.0 client secret |
| OpenID Connect discovery endpoint |
Required for Server and CLI API Calls
Variable | Default | Description |
|
| STRATO API base URL |
| unset | Alternative node base URL. If set and |
|
| HTTP request timeout (ms) |
STRATO_API_BASE_URL takes precedence over STRATO_NODE_URL.
HTTP Transport
Variable | Default | Description |
|
| Enable HTTP transport |
|
| Bind address |
|
| Port |
Hosted Mode
Variable | Description |
| Public URL (enables multi-user auth) |
Deploying a Hosted Instance
Set GRIPHOOK_PUBLIC_URL to enable multi-user deployment with per-request authentication. You'll also need to add the redirect URI https://<your-domain>/login/callback to your Keycloak client.
GRIPHOOK_PUBLIC_URL=https://griphook.testnet.strato.nexus npm startThe server exposes /.well-known/oauth-protected-resource (RFC 9728). MCP clients with OAuth support authenticate automatically.
Hosted mode accepts either:
a user access token (JWT) from an active OAuth session, or
a refresh token (from
/login) which the server exchanges for an access token.
See deployment guide for full setup including Keycloak, DNS, nginx, and SSL configuration.
Troubleshooting
Error | Solution |
| Set OAuth env vars before |
| Check credentials and discovery URL |
| Token expired - run |
| Check |
AI Coding Tool Compatibility
Griphook works with any MCP-enabled AI coding tool. You can either reuse an active OAuth access token, or sign in at /login to get a token for tool configuration.
Supported Tools
Tool | Config File | Type Field |
Cursor |
|
|
Claude Code |
|
|
Codex |
|
|
Kilo Code |
|
|
Cline |
|
|
OpenCode |
|
|
VS Code Copilot |
|
|
Example Configurations
Cursor (.cursor/mcp.json or ~/.cursor/mcp.json):
{
"mcpServers": {
"griphook": {
"type": "http",
"url": "https://griphook.strato.nexus/mcp",
"headers": {
"Authorization": "Bearer <your-token>"
}
}
}
}Claude Code (.mcp.json or ~/.claude.json):
{
"mcpServers": {
"griphook": {
"type": "http",
"url": "https://griphook.strato.nexus/mcp",
"headers": {
"Authorization": "Bearer <your-token>"
}
}
}
}Codex (~/.codex/config.toml):
[mcp_servers.griphook]
type = "http"
url = "https://griphook.strato.nexus/mcp"
[mcp_servers.griphook.headers]
Authorization = "Bearer <your-token>"Kilo Code (.kilocode/mcp.json):
{
"mcpServers": {
"griphook": {
"type": "streamable-http",
"url": "https://griphook.strato.nexus/mcp",
"headers": {
"Authorization": "Bearer <your-token>"
}
}
}
}Cline (cline_mcp_settings.json):
{
"mcpServers": {
"griphook": {
"type": "streamableHttp",
"url": "https://griphook.strato.nexus/mcp",
"headers": {
"Authorization": "Bearer <your-token>"
}
}
}
}OpenCode (opencode.json):
{
"mcp": {
"griphook": {
"type": "remote",
"url": "https://griphook.strato.nexus/mcp",
"headers": {
"Authorization": "Bearer <your-token>"
}
}
}
}VS Code Copilot (.vscode/mcp.json):
{
"servers": {
"griphook": {
"type": "http",
"url": "https://griphook.strato.nexus/mcp",
"headers": {
"Authorization": "Bearer <your-token>"
}
}
}
}Known Issues
Cursor: Tools may appear in the sidebar but not be callable in chat. Try using global config (
~/.cursor/mcp.json) and restart Cursor.VS Code Copilot: Requires VS Code 1.102+ with Agent Mode enabled (
chat.agent.enabled).
License
Security
This tool can move funds and change on-chain state. Treat it accordingly.
Credentials are stored unencrypted at
~/.griphook/credentials.json(file0600, dir0700). Protect your filesystem.HTTP transport binds to
127.0.0.1without TLS. Keep it local or front with HTTPS + auth if exposed.Report vulnerabilities privately to maintainers rather than opening public issues.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.