Keelage
REMOTE · MCP.KEELAGE.AI · 2 COMPONENTS
Token intelligence for Robinhood Chain: onchain and social data on any token, timestamped.
Available components
Last scanned (9 hours ago)
Scores higher than 46% of remote servers
Reachable. Last reached 17 Oct 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 Security57
- 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 1 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
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability55
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 3403 tokens (~425/item across 8 items; 8 tools + 0 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 Management37
- Stability observed for 11 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "keelage_pay" implies "pay" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 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.
- 16 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.
- 14 Oct 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 12 Oct 26 0
- Tool “keelage_scan” rewrote its description, which is the text the model reads security
- Tool “keelage_record” rewrote its description, which is the text the model reads security
- Tool “keelage_today” rewrote its description, which is the text the model reads security
- Tool “keelage_token” rewrote its description, which is the text the model reads security
- Schema quality: excellent → good functional
- Server version: 0.4.1 → 0.5.0 functional
- “keelage_record” added an optional parameter “cursor” cosmetic
- “keelage_today” added an optional parameter “cursor” cosmetic
- “keelage_token” added an optional parameter “cursor” cosmetic
- “keelage_record” reworded the description of “table” cosmetic
- 10 Oct 26 +1
- Schema quality: 246 → 394 ▼ functional
- Stability: unverified → 0.13 ▲ functional
- Server version: 0.4.0 → 0.4.1 functional
- “keelage_holders” added an optional parameter “requestId” cosmetic
- “keelage_holders” added an optional parameter “signature” cosmetic
- “keelage_scan” added an optional parameter “requestId” cosmetic
- “keelage_scan” added an optional parameter “signature” cosmetic
- “keelage_x” added an optional parameter “signature” cosmetic
- “keelage_x” added an optional parameter “requestId” cosmetic
- “keelage_scan” reworded the description of “ruleset” cosmetic
- 6 Oct 26 61
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 17 Oct 2026 · Probed https://mcp.keelage.ai/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mcp.keelage.ai | CN=WE1,O=Google Trust Services,C=US | 4 Oct 2026 | 2 Jan 2027 | ECDSA 256 | ECDSA-SHA256 | ea7b48f3ed572d4b0efe04f19f9eb678 |
| SANs: mcp.keelage.ai | ||||||
| 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 insecure
Validation of mcp.keelage.ai. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| ai. | present | 3799 | 8 | Verified |
| keelage.ai. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
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 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.keelage.ai/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.keelage.ai/mcp | HTTPS enforced | 301 | https://mcp.keelage.ai/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 →
keelage_holders Holder map ~402
Top wallets for one token with pools, contracts and burn addresses labeled, top-10 share excluding pools and contracts, burn share, and the share held by EIP-7702 smart accounts (how the Robinhood app wallet reads).
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Token contract address on Robinhood Chain (0x + 40 hex characters). |
| requestId | string | – | Hosted server only, optional: your own id for this call (the same as the X-Request-Id header). A retry with the same id, wallet, tool and arguments is answered from the first charge: the saved answer… |
| signature | string | – | Hosted server only: proof that you control the wallet, needed to spend prepaid credit. personal_sign (EIP-191) of the message "Keelage credit <your address, lower case> <YYYY-MM-DD UTC> chain 4663 mc… |
| smartAccounts | boolean | – | Check each listed wallet for EIP-7702 delegation (one RPC call per wallet). Default true. |
| wallet | string | – | Hosted server only: your wallet address (0x + 40 hex), the one that paid. The same as the X-Wallet header; the argument wins when both are sent. Priced calls past the free 20 a day draw on its credit… |
No output schema declared.
No examples provided.
keelage_pay Prepay or check credit ~228
Prepaid credit for priced calls on the hosted server. With tx: the hash of a USDG transfer on Robinhood Chain (chain 4663) to 0xaE313a57B2CE1cbd31bB82C90ced3CFaC0862bA1; the sending wallet is credited once with the amount. Without tx: the credit of the wallet named by the wallet argument or your X-Wallet header. Free, never counted. The local server has no payments.
| Name | Type | Req | Description |
|---|---|---|---|
| tx | string | – | Transaction hash (0x + 64 hex) of your USDG transfer to the merchant address. |
| wallet | string | – | Hosted server only: your wallet address (0x + 40 hex), the one that paid. The same as the X-Wallet header; the argument wins when both are sent. Priced calls past the free 20 a day draw on its credit… |
No output schema declared.
No examples provided.
keelage_record Track record ~961
The track record behind the verdicts, cut every day from Keelage's own ledger: every Robinhood Chain pass with its 24-hour, 7-day and 30-day outcome, and every token-day since each token's first pool, re-cut daily on the hosted server into tables by horizon, band, tier, mcap, pool, age, dayOne, claim, jev, xPosts, xTone, kind, repeat, path, derived, lines, ledger, universe, tokenDays, launcher, projectType, regime, sized, holderGrowth, worst, best, signals, one table at a time (table) or all at once, with the day-by-day series (history). table "signals" is the register of research triggers (conditions that held up in later data, ranked, each with its n, dates and the field it is measured against), with its own history. No dated studies: the rules ship with their origin and are tested on the live tables. Research, not advice.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | With table "signals" and history: continue an earlier page of the register's history from its nextCursor. |
| days | integer | – | With history: how many days back. Default 90. |
| history | boolean | – | The daily series instead: one point per UTC day with that day's alert count and its 24-hour, 7-day and 30-day headline stats. Default false. |
| table | string | – | One live table. horizon: The same alerts read 24 hours, 7 days and 30 days later. band: Distance from the 30-day low at alert, in 4 bands. tier: Sizing tier at alert: how concentrated the 10 largest… |
No output schema declared.
No examples provided.
keelage_scan Scan a token ~796
One Robinhood Chain token at the three moments, read from the chain now. The code pass (clean code, not clean, unread): verified source, launcher template, owner privileges, transfer-tax code, honeypot flags. The activity pass (passes, fails, not judged): the code again plus sells clearing, the pool not drained, the deployer share, the holder concentration tier. The size (sized $X, not sized): a share of the pool by tier when the entry test clears, with the one reason when not. verdict.moments carries the three with their reasons; verdict.key keeps the 0.3 word (ELIGIBLE, NOT_ELIGIBLE, FAIL, UNVERIFIED), mapped in verdict.keys. Computed under a named, dated ruleset (the optional ruleset argument) and marked beta; the facts are measured and timestamped. Jev probabilities as context when TYPESAFE_API_KEY is set. signals: the research triggers this scan crosses right now (hosted server; conditions that held up in later data, each with its n and dates), evaluated on the scan's own facts and never written; the verdict and the size do not change for a trigger. Research only, not financial advice.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Token contract address on Robinhood Chain (0x + 40 hex characters). |
| requestId | string | – | Hosted server only, optional: your own id for this call (the same as the X-Request-Id header). A retry with the same id, wallet, tool and arguments is answered from the first charge: the saved answer… |
| ruleset | – | – | Which ruleset the verdict is computed under. A preset name (keelage-default; "default" is short for keelage-default), or { lines: [{ key, value }] } to replace lines of keelage-default. Keys are the… |
| signature | string | – | Hosted server only: proof that you control the wallet, needed to spend prepaid credit. personal_sign (EIP-191) of the message "Keelage credit <your address, lower case> <YYYY-MM-DD UTC> chain 4663 mc… |
| wallet | string | – | Hosted server only: your wallet address (0x + 40 hex), the one that paid. The same as the X-Wallet header; the argument wins when both are sent. Priced calls past the free 20 a day draw on its credit… |
No output schema declared.
No examples provided.
keelage_template Launcher template ~79
Which launcher template a contract came from (Pons, LaunchToken, Doppler, UERC20, tokenized stock, or unregistered), with the template verdict, the ABI privileges and the transfer-tax identifier count read from verified source.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Token contract address on Robinhood Chain (0x + 40 hex characters). |
No output schema declared.
No examples provided.
keelage_today What we read today ~237
What Keelage read today on Robinhood Chain, as the Today page shows it: this hour's and today's code passes (clean code / not clean / unread, with the reasons), today's activity passes (passes, with the tier and whether each was sized), today's sized passes, and the watch lines that fired on passed tokens (volume, momentum, price, the 10 largest wallets, original holders), plus signals: the research triggers crossed in the last 24 hours, on the rows they belong to. One moment (moment) or all four. Free, never counted. Hosted server only: the local server has no store and says so.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Continue the research-trigger matches (signals) from an earlier answer's signals.nextCursor. |
| moment | string | – | One moment only. code: This hour's and today's code passes: every new pool read within the hour. activity: Today's activity passes: tokens judged once they traded like a project. sized: Today's sized… |
No output schema declared.
No examples provided.
keelage_token Token page ~173
Everything Keelage holds on one Robinhood Chain token, as the token page shows it: the launch (creator, factory, template, block and time), today's price, cap, pool, volume and holders, the structural verdict the scan last recorded, every alert raised on it with its 24-hour, 7-day and 30-day outcome, the hourly price series, what X showed by day, a dated log of what changed, and signals: the research triggers the token crossed, dated. Free, never counted. Hosted server only: the local server has no store and says so.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Token contract address on Robinhood Chain (0x + 40 hex characters). |
| cursor | string | – | Continue the research-trigger matches (signals) from an earlier answer's signals.nextCursor. |
No output schema declared.
No examples provided.
keelage_x What X is saying ~421
What X is saying about one Robinhood Chain token in the last 24 hours: posts and accounts, how much is a repeated template, which large profiles posted and whether they meant this chain's token, views, and a one-line read of the narrative. Context only, never part of the verdict; a scan does not read X. Cached 6 hours per token.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Token contract address on Robinhood Chain (0x + 40 hex characters). |
| fresh | boolean | – | Skip the 6-hour cache and read X again. Default false. |
| requestId | string | – | Hosted server only, optional: your own id for this call (the same as the X-Request-Id header). A retry with the same id, wallet, tool and arguments is answered from the first charge: the saved answer… |
| signature | string | – | Hosted server only: proof that you control the wallet, needed to spend prepaid credit. personal_sign (EIP-191) of the message "Keelage credit <your address, lower case> <YYYY-MM-DD UTC> chain 4663 mc… |
| wallet | string | – | Hosted server only: your wallet address (0x + 40 hex), the one that paid. The same as the X-Wallet header; the argument wins when both are sent. Priced calls past the free 20 a day draw on its credit… |
No output schema declared.
No examples provided.
How do I install the Keelage MCP server?
Keelage is a hosted endpoint at https://mcp.keelage.ai/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.keelage.ai
claude mcp add --transport http keelage-mcp 'https://mcp.keelage.ai/mcp'
What is the Keelage MCP server?
Keelage is an MCP server listed in the public MCP registry as io.github.keelage/mcp. Token intelligence for Robinhood Chain: onchain and social data on any token, timestamped. This page covers its hosted endpoint (https://mcp.keelage.ai/mcp).
Is the Keelage MCP server safe to use?
Keelage scores 64 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 Keelage MCP server expose?
Keelage exposes 8 tools: keelage_scan, keelage_holders, keelage_x, keelage_template, keelage_record, and 3 more. Their descriptions and schemas cost roughly 3,297 tokens of context every time the server is loaded.
Does the Keelage MCP server require authentication?
No. We connected to Keelage without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Keelage MCP server still maintained?
Keelage is still listed as active in the MCP registry. We last reached this channel on 17 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.