Ekubo Protocol
REMOTE · MCP.EKUBO.ORG
Token and pool data, swap quotes, and unsigned transaction plans for Ekubo and other DeFi protocols.
Available components
Last scanned (7 hours ago)
Scores higher than 52% of remote servers
Reachable. Last reached 5 Nov 2026.
Category Crypto and Web3
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security66
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 14 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC is configured correctly; the domain's records validate against the full chain to the root. View diagnostics → Pass
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability74
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 17546 tokens (~151/item across 116 items; 99 tools + 17 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management3
- Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage95
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 82% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 14 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "get_value_transfer_status" implies "transfer" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Fail
- An AI judge read all 101 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 0
- Stability: unverified → 0.03 ▲ functional
- 4 Nov 26 66
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://mcp.ekubo.org/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=ekubo.org | CN=WE1,O=Google Trust Services,C=US | 28 Sept 2026 | 27 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | 136683b61c23a8e3132c8d9c4dfee255 |
| SANs: ekubo.org, mcp.ekubo.org, *.mcp.ekubo.org | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC secure
Validation of mcp.ekubo.org. — Secure
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| org. | present | 725, 26974 | 8, 8 | Verified |
| ekubo.org. | present | 2371 | 13 | Verified |
| mcp.ekubo.org. | Verified address RRset verified with the apex keys |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=15552000; includeSubDomains; preload |
| x-content-type-options | nosniff |
| x-frame-options | DENY |
| referrer-policy | no-referrer |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.ekubo.org/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.ekubo.org/mcp | HTTPS enforced | 301 | https://mcp.ekubo.org/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
prepare_ve33_split Prepare a ve-token split ~158
Split a source ve-token with an explicit salt and return the deterministic child token ID; the source vote is preserved with reduced weight and the child starts unvoted with the same lock end. Non-destructive: no stake leaves the wallet, no NFT is burned, no vote is cleared, and no fees are discarded.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | yes | Base units (positive decimal integer) |
| chain_id | integer|string | yes | With ve_token, from get_ve33_allocations (STONX: 4663), not the wallet's chain |
| salt | string | yes | bytes32 hex |
| sender | string | yes | address |
| ve_id | string | yes | decimal integer |
| ve_token | string | yes | address |
| Name | Type | Req | Description |
|---|---|---|---|
| execution_plan_reference | object | – | artifact_reference; pass unchanged |
No examples provided.
prepare_ve33_stake Prepare a new ve-token stake ~186
Create a new VeToken stake with an exact stake-token approval. Max duration is the safe default for new stakes; an explicit shorter duration is optional and no existing NFT, vote, fee balance, or ownership is changed.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | yes | Base units (positive decimal integer) |
| chain_id | integer|string | yes | With ve_token, from get_ve33_allocations (STONX: 4663), not the wallet's chain |
| duration_seconds | integer | – | – |
| max_duration | boolean | – | Defaults to true when duration_seconds is omitted; set false only with an explicit duration_seconds |
| salt | string | yes | User-selected salt for a deterministic, replay-detectable VeToken ID (bytes32 hex) |
| sender | string | yes | address |
| stake_token | string | yes | address |
| ve_token | string | yes | address |
| Name | Type | Req | Description |
|---|---|---|---|
| execution_plan_reference | object | – | artifact_reference; pass unchanged |
No examples provided.
prepare_ve33_vote Prepare one ve(3,3) NFT vote change ~232
Compile one actively voted ve-token into multiple allocations. Unconditionally claims its current pool first, then splits and changes votes in one atomic batch of decodable VeToken steps. Nothing is burned, withdrawn, or transferred: the source keeps a stake and every additional allocation is a newly minted NFT with the same lock end. Prefer the portfolio reallocation workflow for complete state validation.
| Name | Type | Req | Description |
|---|---|---|---|
| allocations | array | yes | – |
| chain_id | integer|string | yes | With ve_token, from get_ve33_allocations (STONX: 4663), not the wallet's chain |
| current_vote | object | yes | Required active indexed vote; its pool is claimed unconditionally before any split, clear, or replacement vote |
| salt_nonce | string | yes | User-selected nonce used to derive deterministic, replay-detectable split salts (bytes32 hex) |
| sender | string | yes | address |
| source_amount | string | yes | Base units (positive decimal integer) |
| source_ve_id | string | yes | decimal integer |
| unallocated_permille | integer | yes | – |
| ve_token | string | yes | address |
| Name | Type | Req | Description |
|---|---|---|---|
| execution_plan_reference | object | – | artifact_reference; pass unchanged |
No examples provided.
prepare_ve33_withdraw Prepare expired ve-token withdrawal ~197
Prepare fee-safe withdrawal of an expired ve-token stake, claiming the active pool first when voted and returning pending owner/stake validation. Ends the position: the stake leaves Ve33 and returns to the owner and the vote is cleared. Only an expired stake can be withdrawn — Ve33 reverts with StakeNotExpired at any earlier time, and there is no early exit or penalty path.
| Name | Type | Req | Description |
|---|---|---|---|
| chain_id | integer|string | yes | With ve_token, from get_ve33_allocations (STONX: 4663), not the wallet's chain |
| current_pool_key | object | – | PoolKey {token0, token1, config} or {token0, token1, fee, tick_spacing, extension, stableswap_params?}, as read from the pool or vote |
| sender | string | yes | address |
| ve_id | string | yes | decimal integer |
| ve_token | string | yes | address |
| Name | Type | Req | Description |
|---|---|---|---|
| execution_plan_reference | object | – | artifact_reference; pass unchanged |
No examples provided.
prepare_wrap_unwrap Prepare a direct wrapped-native wrap or unwrap ~96
Prepare a direct wrapped-native deposit or withdrawal on a chain with a verified wrapped native token. The response names the wrapped token, which is not WETH everywhere (BNB Chain wraps BNB, Polygon POL, Monad MON).
| Name | Type | Req | Description |
|---|---|---|---|
| amount | string | yes | Base units (positive decimal integer) |
| chain_id | integer|string | yes | EVM chain ID |
| direction | string | yes | – |
| sender | string | yes | address |
| Name | Type | Req | Description |
|---|---|---|---|
| execution_plan_reference | object | – | artifact_reference; pass unchanged |
No examples provided.
quote_uniswap_liquidity Calculate Uniswap concentrated liquidity amounts ~134
Calculate V3/V4 range liquidity, rounded mint/burn amounts and explicit token bounds from a current sqrt-price snapshot and raw token budgets, or an exact liquidity amount. Fees are excluded. Obtain current state using prepare_uniswap_reads.
| Name | Type | Req | Description |
|---|---|---|---|
| amount0 | string | yes | decimal integer |
| amount1 | string | yes | decimal integer |
| liquidity | string | – | decimal integer |
| slippage_bps | integer | – | – |
| sqrt_price_x96 | string | yes | decimal integer |
| tick_lower | integer | yes | – |
| tick_spacing | integer | yes | – |
| tick_upper | integer | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| amount0_max | string | – | – |
| amount0_min | string | – | – |
| amount1_max | string | – | – |
| amount1_min | string | – | – |
| input_snapshot | object | – | – |
| instructions | string | – | – |
| liquidity | string | – | – |
| live_state_queried | boolean | – | – |
| mint_amount0 | string | – | – |
| mint_amount1 | string | – | – |
No examples provided.
How do I install the Ekubo Protocol MCP server?
Ekubo Protocol is a hosted endpoint at https://mcp.ekubo.org/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.ekubo.org
claude mcp add --transport http ekuboprotocol-ekubo 'https://mcp.ekubo.org/mcp'
What is the Ekubo Protocol MCP server?
Ekubo Protocol is an MCP server listed in the public MCP registry as io.github.EkuboProtocol/ekubo. Token and pool data, swap quotes, and unsigned transaction plans for Ekubo and other DeFi protocols. This page covers its hosted endpoint (https://mcp.ekubo.org/mcp).
Is the Ekubo Protocol MCP server safe to use?
Ekubo Protocol scores 66 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Ekubo Protocol MCP server expose?
Ekubo Protocol exposes 99 tools: list_tokens, export_tokens, get_token, get_tokens, get_quotes_with_plans, and 94 more. Their descriptions and schemas cost roughly 15,423 tokens of context every time the server is loaded.
Does the Ekubo Protocol MCP server require authentication?
No. We connected to Ekubo Protocol without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Ekubo Protocol MCP server still maintained?
Ekubo Protocol is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.