Search / xyz.keyfo/keyfo
keyfo
R0· no sign-inStock token prices, P&L and trades you sign on Robinhood Chain, plus 300+ AI models on one key.
v1.18.0 · active · website · descriptor JSON · versions
Search / xyz.keyfo/keyfo
R0· no sign-inStock token prices, P&L and trades you sign on Robinhood Chain, plus 300+ AI models on one key.
v1.18.0 · active · website · descriptor JSON · versions
{
"mcpServers": {
"keyfo": {
"type": "http",
"url": "https://keyfo.xyz/mcp",
"headers": {
"Authorization": "Bearer ${KEYFO_TOKEN}"
}
}
}
}claude mcp add --transport http keyfo https://keyfo.xyz/mcp --header "Authorization: Bearer ${KEYFO_TOKEN}"[mcp_servers.keyfo]
url = "https://keyfo.xyz/mcp"
bearer_token_env_var = "KEYFO_TOKEN"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"keyfo": {
"type": "remote",
"url": "https://keyfo.xyz/mcp",
"enabled": true,
"headers": {
"Authorization": "Bearer {env:KEYFO_TOKEN}"
}
}
}
}{
"mcpServers": {
"keyfo": {
"type": "http",
"url": "https://keyfo.xyz/mcp",
"headers": {
"Authorization": "Bearer ${KEYFO_TOKEN}"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=keyfo&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8va2V5Zm8ueHl6L21jcCIsImhlYWRlcnMiOnsiQXV0aG9yaXphdGlvbiI6IkJlYXJlciAke0tFWUZPX1RPS0VOfSJ9fQ%3D%3D"
}{
"servers": {
"keyfo": {
"type": "http",
"url": "https://keyfo.xyz/mcp",
"headers": {
"Authorization": "Bearer ${KEYFO_TOKEN}"
}
}
}
}{
"mcpServers": {
"keyfo": {
"httpUrl": "https://keyfo.xyz/mcp",
"headers": {
"Authorization": "Bearer ${KEYFO_TOKEN}"
}
}
}
}extensions:
"keyfo":
enabled: true
name: "keyfo"
type: streamable_http
uri: "https://keyfo.xyz/mcp"
headers:
"Authorization": "Bearer ${KEYFO_TOKEN}"
timeout: 300
Placeholders to fill from your own secret store: ${KEYFO_TOKEN}. The registry never accepts secret values.
protocol.modernprotocol.statelessprotocol.transportprotocol.list_ttlauth.prm, auth.as_metadata, auth.cimdauth.secret_in_urltools.descriptionstools.description_lengthtools.schemastools.annotationstools.directory_hintstools.token_costtools.api_dumptools.hidden_textstability.changes, stability.rug_pull, stability.new_linksdeps.known_vulns, deps.mcp_sdk_version, deps.resolvablebuild_basketaddedBuild unsigned buys of several stock tokens on Robinhood Chain, paid with the ETH in `wallet` and signed on one keyfo page. Use it when the user asks for more than one stock at once, like “buy $100 of Mag 7” or “split $50 across NVDA, TSLA, SPY”; for one stock, use build_trade. Give exactly one of: `legs` (each stock with its own `usd` or `eth`), or `preset` or `split` (a list of tickers) with `usd` or `eth` for the whole basket, shared equally. Preset mag7 is 7 separate stock tokens in equal shares (AAPL, MSFT, GOOGL, AMZN, NVDA, META, TSLA), not an index or a fund. 2 to 10 stocks, at least $1 each, up to 10 ETH in total, and the ETH plus gas must already be in `wallet`. Buys only. No keyfo fee; the route’s fees are in fees_usd. The calls expire at valid_until. The page asks for one signature only if the user’s wallet signs batches (MetaMask after a one-time account upgrade); otherwise it asks once per buy, and some buys may go through while others do not, so never promise one signature. To buy the rest later, check stock_portfolio and build only the stocks not bought. If the error has needed_slippage_pct, name the stocks and ask the user before you use it. No keyfo tool signs. When you reply, list each stock and its amount. The answer also has sign_url: a keyfo page where the user checks the transaction and signs it in their own wallet. It stays open for 15 minutes and gets a new quote itself when the price is out of date. Show that link to the user, and never ask them to paste the transaction data anywhere.
gift_stockaddedBuild an unsigned buy of a stock token on Robinhood Chain that goes to another wallet as a gift: `wallet` pays with its ETH (`usd` worth, or `eth`), and the token arrives at `recipient` in the same transaction. Use it only when the user asks to send, give or gift a stock to an address; for the user’s own wallet, use build_trade. Copy `recipient` exactly as the user wrote it for this gift: 0x and 40 hex characters, not a .eth name. It must be a wallet, not the paying wallet and not a contract. An exchange’s deposit address looks like any wallet, so if the user may be sending to an exchange, ask them to check that it supports stock tokens on Robinhood Chain. Buys only, with build_trade’s limits: up to 10 ETH, and the ETH plus gas must already be in `wallet`. No keyfo fee; the route’s fees are in fees_usd. The calls expire at valid_until. No keyfo tool signs. When you reply, say what the recipient receives and show their full address. The answer also has sign_url: a keyfo page where the user checks the transaction and signs it in their own wallet. It stays open for 15 minutes and gets a new quote itself when the price is out of date. Show that link to the user, and never ask them to paste the transaction data anywhere.
Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+dns-namespace +website +reachable +uptime-100% +updated-3d-ago -no-repository
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://keyfo.xyz/mcp streamable-http | none | yes | 100% | 796 ms | 2026-07-28 | 2026-11-14 |
ask_model | Ask another AI model (GPT, Gemini, Grok and others) one question through keyfo and get its answer, for a second opinion. This is a paid model call: it needs a key and draws from the key’s daily allowance at the model’s price. A trial key can ask low-cost models only. The other model gets no tools. |
build_basketread-only | Build unsigned buys of several stock tokens on Robinhood Chain, paid with the ETH in `wallet` and signed on one keyfo page. Use it when the user asks for more than one stock at once, like “buy $100 of Mag 7” or “split $50 across NVDA, TSLA, SPY”; for one stock, use build_trade. Give exactly one of: `legs` (each stock with its own `usd` or `eth`), or `preset` or `split` (a list of tickers) with `usd` or `eth` for the whole basket, shared equally. Preset mag7 is 7 separate stock tokens in equal shares (AAPL, MSFT, GOOGL, AMZN, NVDA, META, TSLA), not an index or a fund. 2 to 10 stocks, at least $1 each, up to 10 ETH in total, and the ETH plus gas must already be in `wallet`. Buys only. No keyfo fee; the route’s fees are in fees_usd. The calls expire at valid_until. The page asks for one signature only if the user’s wallet signs batches (MetaMask after a one-time account upgrade); otherwise it asks once per buy, and some buys may go through while others do not, so never promise one signature. To buy the rest later, check stock_portfolio and build only the stocks not bought. If the error has needed_slippage_pct, name the stocks and ask the user before you use it. No keyfo tool signs. When you reply, list each stock and its amount. The answer also has sign_url: a keyfo page where the user checks the transaction and signs it in their own wallet. It stays open for 15 minutes and gets a new quote itself when the price is out of date. Show that link to the user, and never ask them to paste the transaction data anywhere. |
build_morpho_depositread-only | Build unsigned transactions to deposit USDG into a Morpho vault on Robinhood Chain, or to withdraw it. Without a vault, the largest USDG vault is used. Vaults carry smart contract, curator and market risk. Returns calls for the wallet owner to sign and send in order on Robinhood Chain (chain ID 4663). No keyfo tool signs. The answer also has sign_url: a keyfo page where the user checks the transaction and signs it in their own wallet. It stays open for 15 minutes and gets a new quote itself when the price is out of date. Show that link to the user, and never ask them to paste the transaction data anywhere. |
build_revokeread-only | Build an unsigned transaction that sets a token approval back to zero, so that spender can no longer move the token. Needs a key. Returns a call for the wallet owner to sign and send on Robinhood Chain (chain ID 4663). No keyfo tool signs. The answer also has sign_url: a keyfo page where the user checks the transaction and signs it in their own wallet. It stays open for 15 minutes and gets a new quote itself when the price is out of date. Show that link to the user, and never ask them to paste the transaction data anywhere. |
build_traderead-only | Build unsigned transactions to buy a stock token on Robinhood Chain with ETH (`eth`, or `usd` worth of ETH) or sell `pct` percent of the wallet’s holding for ETH. `token` is a ticker (TSLA) or the token address. A buy needs the ETH, plus gas, already in `wallet`; if it is short, fund it with fund_agent first. The calls expire at valid_until: sign and send before then, or build the trade again. Returns calls for the wallet owner to sign and send in order on Robinhood Chain (chain ID 4663). No keyfo tool signs. The answer also has sign_url: a keyfo page where the user checks the transaction and signs it in their own wallet. It stays open for 15 minutes and gets a new quote itself when the price is out of date. Show that link to the user, and never ask them to paste the transaction data anywhere. |
buy_at_price | Plan a buy of a stock token on Robinhood Chain for `wallet` that waits for a price: when the pool price goes `trigger` below or above `price_usd`, keyfo prepares a buy of `usd` or `eth` and a sign link. Nothing is bought or signed now. The plan starts after the wallet’s owner confirms it at https://keyfo.xyz/app. The price is the pool’s 5-minute median from at least 5 samples, and the level must hold for about 3 minutes. Only pools with at least $250000 of depth qualify, and no buy is prepared if the route costs more than 3% above the median. The owner then has 6 hours to sign. It is not a limit order: the buy goes at the market price when it is signed. One time by default; with `repeat`, it waits again after each buy. Limits as for scheduled buys: 5 plans per wallet, $500 per buy, $1000 a week. |
cancel_schedule | Cancel a buy plan by its `id`. Nothing new is prepared for it; buys already signed stay as they are. |
chain_statusread-only | The state of Robinhood Chain: the latest block and its age, the average block time, the gas price, and an estimate of what a transfer and a stock swap cost in dollars. |
explain_txread-only | A Robinhood Chain transaction in parts: whether it succeeded, who sent it to what, the function it called, its fee, and every token transfer and approval it made. |
fund_agentread-only | Quote moving funds from another network (ethereum, base, arbitrum, optimism, bnb, polygon and others, 15 in all, or a chain ID) to an agent wallet on Robinhood Chain, arriving as ETH. `payer` is the wallet that already holds the funds on the origin network: if the user did not name it, ask, do not reuse `wallet`. `amount` is in the smallest unit (wei for ETH), a number or a string of digits. Returns transactions for the payer to sign. The answer also has sign_url: a keyfo page where the user checks the transaction and signs it in their own wallet. It stays open for 15 minutes and gets a new quote itself when the price is out of date. Show that link to the user, and never ask them to paste the transaction data anywhere. |
gift_stockread-only | Build an unsigned buy of a stock token on Robinhood Chain that goes to another wallet as a gift: `wallet` pays with its ETH (`usd` worth, or `eth`), and the token arrives at `recipient` in the same transaction. Use it only when the user asks to send, give or gift a stock to an address; for the user’s own wallet, use build_trade. Copy `recipient` exactly as the user wrote it for this gift: 0x and 40 hex characters, not a .eth name. It must be a wallet, not the paying wallet and not a contract. An exchange’s deposit address looks like any wallet, so if the user may be sending to an exchange, ask them to check that it supports stock tokens on Robinhood Chain. Buys only, with build_trade’s limits: up to 10 ETH, and the ETH plus gas must already be in `wallet`. No keyfo fee; the route’s fees are in fees_usd. The calls expire at valid_until. No keyfo tool signs. When you reply, say what the recipient receives and show their full address. The answer also has sign_url: a keyfo page where the user checks the transaction and signs it in their own wallet. It stays open for 15 minutes and gets a new quote itself when the price is out of date. Show that link to the user, and never ask them to paste the transaction data anywhere. |
list_modelsread-only | The AI models a keyfo key can call: price per million tokens, context length and what each supports (tools, reasoning, vision, json). Filter by what the task needs; a trial key sees its low-cost list. Listing is free. |
list_schedulesread-only | The buy plans of `wallet`: token, amount, day, hour and time zone, status and the next time. Read only. |
model_detailread-only | One model in detail: prices, context, what it supports, and what a call of a given size would cost. |
morpho_loopread-only | Work out the net result over a year of borrowing USDG against a stock token on Morpho and putting it in a USDG vault, and the price at which the loan would be liquidated. A calculation at current rates, not advice: nothing is built or sent. |
morpho_ratesread-only | Morpho on Robinhood Chain: USDG vaults with their net APY, size and curator, and the lending markets that take stock tokens as collateral, with the borrow rate and LLTV. Rates change; the numbers are a snapshot. Pass a ticker for one stock. |
my_keyread-only | What your keyfo key can still use: its allowance, what is left and when it resets. Without a key: how many free read calls are left this hour. |
pending_signsread-only | Scheduled buys of `wallet` that are ready to sign now, each with its sign_url and when its window closes. Read only. Show the user every link. |
portfolio_briefread-only | A short brief for one wallet on Robinhood Chain, read only: each stock token it holds with value and 24h change, the portfolio total, and today’s top three movers you can buy. No key is needed for that. With a key for the same wallet, it adds what is left of today’s model allowance and the scheduled buys ready to sign, with their links; without one, it only counts the buys ready to sign and points to https://keyfo.xyz/app. It reads data on request; nothing is sent on a schedule. |
portfolio_pnlread-only | Profit and loss for the stock tokens a wallet holds on Robinhood Chain, read only, no key needed: average entry price, unrealized P&L per token and in total. Entry prices come from the wallet’s buys in its transfer history on the chain. Tokens that arrived without a payment have no known cost and are left out of the average. Where the ETH price at the buy’s block is not known, the current one is used and the result is marked approximate. Gas is not counted, sales for ETH show their proceeds only when they went through LI.FI or OKX, and a swap from one stock token to another has no entry price. |
schedule_buy | Plan a weekly buy of a stock token on Robinhood Chain for `wallet`: `usd` or `eth` each week on `weekday` at `hour` in `tz`. Nothing is bought or signed now. The plan starts only after the wallet’s owner confirms it at https://keyfo.xyz/app, signed in with that wallet. At each time keyfo prepares a fresh trade and a sign link; the owner signs it in their own wallet within 6 hours, or that buy is marked missed and the plan goes on. Limits: 5 plans per wallet, $500 per buy, $1000 a week per wallet. |
stock_approvalsread-only | Open token approvals of a wallet on Robinhood Chain: the stock tokens keyfo lists, USDG and WETH, checked against the spenders keyfo knows, such as LI.FI and Permit2. It does not scan the wallet’s whole approval history. Unlimited approvals come first. |
stock_moversread-only | Today’s movers among stock tokens on Robinhood Chain, ranked by the pool’s 24h change. tradeable_only keeps the ones you can buy now. |
stock_portfolioread-only | The stock tokens and ETFs a wallet holds on Robinhood Chain, with amounts and value in dollars, plus its ETH. |
stock_quoteread-only | Quote stock tokens and ETFs on Robinhood Chain by ticker (NVDA, TSLA, SPY…) or token address, one or up to 20 at once. Returns the pool price, 24h change and pool depth where a pool exists. |
Schemas: list_tools.
{
"name": "xyz.keyfo/keyfo",
"icons": [
{
"src": "https://keyfo.xyz/img/brand/pwa-512.png",
"sizes": [
"512x512"
],
"mimeType": "image/png"
}
],
"title": "keyfo",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://keyfo.xyz/mcp",
"type": "streamable-http",
"headers": [
{
"name": "Authorization",
"isSecret": true,
"description": "Bearer kf_… key. Free trial key at https://keyfo.xyz/connect. Without a key: preview with read tools."
}
]
}
],
"version": "1.18.0",
"websiteUrl": "https://keyfo.xyz",
"description": "Stock token prices, P&L and trades you sign on Robinhood Chain, plus 300+ AI models on one key."
}