Focus documentation
Connect your agent to live Solana data, then ask about tokens, holders, trades and risk signals.
Connect your agent
Choose your agent to add Focus as an MCP connector. No Focus install, wallet connection or API key.
https://mcp.focusforagents.app/mcp- Open Customize, then Connectors in Claude. Choose Add, then Add custom connector.
- Name it Focus and paste the connector URL shown above. If asked for authentication, choose No sign in.
- Finish adding it, then enable Focus in the conversation's Connectors menu.
Custom connectors require a supported Claude plan. On Team or Enterprise, an owner may need to add Focus first. Official Claude app setup guide
Make your first read
Once Focus is enabled, send this prompt to your agent. It uses the live screener instead of asking the model to remember market data.
Use Focus to find the 3 newest Solana tokens. Show each token's full mint address, age, market cap and liquidity. Include the source and data age, and mark any missing fields as unavailable.Go deeper on one token
Copy the full mint from the result and ask for a dossier. Mint addresses identify a token exactly; names and tickers can refer to more than one coin.
Use Focus to get a dossier on the mint I paste next. Summarize the market, holder concentration, authorities, recent trades and risk flags. List missing sections separately.For a token's advertised website and repository, ask for a larp_check. For a focused question, use the relevant holder, trade or candle tool.
Start with one complete read. get_dossier collects the main token sections together. Use individual tools when you need more detail, rather than repeating the same reads.
Hosted tool reference
These are the 17 tools available from the public connector. Open a tool to see its inputs. Your agent normally fills these in for you.
17 of 17 tools
screener_queryMarketFind new or trending Solana tokens, with market figures and source timestamps.
Use preset new for recent launches, trending for volume-ranked discovery, or all. Discovery is limited by source coverage.
presetOptional- string:
new | trending | all limitOptional- integer from 1 to 50
get_tokenMarketLook up a token's pair, market statistics and available audit fields.
Provide a mint or symbol. Prefer a mint: a symbol can return several candidates.
mintOptional- string
symbolOptional- string
get_dossierMarketRead market data, holders, security, candles, recent trades and creator information together.
Provide a mint or symbol. Start here for a full token review, and read availability for missing sections.
mintOptional- string
symbolOptional- string
intervalOptional- string:
1m | 5m | 15m | 1h | 4h | 1d
analyze_tokenMarketTurn a token dossier into a deterministic analysis with rule flags and a risk label.
Provide a mint or symbol. The result is computed evidence, not a guarantee about future price or safety.
mintOptional- string
symbolOptional- string
intervalOptional- string:
1m | 5m | 15m | 1h | 4h | 1d
get_holdersMarketRead the largest token accounts and top-holder concentration.
RPC largest-account coverage is limited. A requested top count is an upper limit, not a promise of that many resolved wallet owners.
mintRequired- string
topOptional- integer from 1 to 50
get_tradesMarketRead recent trades and buy/sell aggregates for the token's most liquid pool.
Inspect coverage before treating a small trade sample as the whole market.
mintRequired- string
windowOptional- string:
m5 | h1
get_candlesMarketRead price candles with computed range, drawdown and VWAP summaries.
Available history depends on the pool and source. Empty candles do not mean the token price is zero.
mintRequired- string
intervalOptional- string:
1m | 5m | 15m | 1h | 4h | 1d limitOptional- integer from 1 to 300
rugcheckSafetyRead risk flags, a normalized score and available locked-liquidity information.
Flags and scores are evidence to investigate. A clean response does not establish that a token is safe.
mintRequired- string
kb_lookupResearchRead one knowledge-base entry by its ID.
Get a valid entry ID from kb_search. Check the entry's sources, date and confidence.
idRequired- string
kb_searchResearchSearch the bundled knowledge base for mechanics, terms and patterns.
Results include entry IDs. Use kb_lookup to read an entry in full; knowledge entries are not live token facts.
queryRequired- string
limitOptional- integer from 1 to 10
case_lookupResearchList historical case files or read a specific case.
Omit id to list the cases. Use them for comparisons, not as current evidence about a different token.
idOptional- string
get_linksSafetyCollect a token's advertised website and social links from available metadata.
Provide a mint or symbol. Advertised links are claims; verify them with the website, domain and repository tools.
mintOptional- string
symbolOptional- string
fetch_pageSafetyRead a public web page and check its content and links against a token.
This fetch does not run JavaScript or use login cookies. Include the token context when checking whether a page belongs to it.
urlRequired- string
symbolOptional- string
nameOptional- string
mintOptional- string
check_domainSafetyRead domain registration age, registrar and available registration details.
Registry data may be missing or private. A new or private domain alone does not prove misconduct.
urlRequired- string
check_githubSafetyInspect a public repository's activity, history and relevance to a token.
Add a mint, symbol, name or site to test relevance. A popular but unrelated repository is not evidence for the token.
urlRequired- string
mintOptional- string
symbolOptional- string
nameOptional- string
siteOptional- string
larp_checkSafetyCheck advertised links, the website, domain and repository in one request.
Provide a mint, symbol or website URL. This bundles evidence checks; it does not replace market or on-chain analysis.
mintOptional- string
symbolOptional- string
urlOptional- string
app_helpResearchSearch Focus help or read a help entry by ID.
Provide query or id. Some help describes the separate terminal app; only the tools listed here are on the hosted connector.
queryOptional- string
idOptional- string
limitOptional- integer from 1 to 10
Tool names and input ranges checked against the live connector on 10 November 2026. All hosted tools declare read-only access.
Read the data correctly
Freshness belongs to each source
Focus requests data when your agent calls a tool. Providers may cache responses or update at different intervals, so a fresh request does not mean every field was observed at the same instant.
Look for source, fetchedAt and ageSec in the response where available. Keep those alongside the figures you quote. The connector is a request-and-response service, not a continuous market stream in your chat.
Missing is different from zero
A dossier includes an availability summary with present, missing and known-unavailable sections. A new token may have no indexed candles, incomplete holder information or no discoverable website.
Keep missing values as unavailable. Do not turn a failed holder lookup into zero holders, or a missing price into a zero-dollar price. Some creator-history and cluster data requires upstream access that the public connector does not provide.
Understand the boundaries
The hosted connector cannot sign or submit transactions, open your wallet, inspect your local terminal or read your portfolio. It reads public data from sources including DexScreener, Jupiter, GeckoTerminal, RugCheck, GoPlus and Solana RPC.
Risk labels and website checks are signals to inspect, not guarantees. A working site, a low risk score or disabled authorities does not prove a token is safe.
Token names, descriptions and fetched pages are treated as untrusted data. Instructions found inside those fields are not instructions for your agent to follow.
About the terminal on the homepage. The terminal replay is labelled sample data from the separate Focus app. It is not an interactive terminal delivered by this hosted connector. The live summary tiles and the replay are different surfaces.
Troubleshooting
Focus is connected, but my agent is not using it
Enable Focus for the current conversation and ask the agent to use it by name. Check the client's MCP list: use /mcp in Claude Code or Codex, or the MCP settings in Cursor. Start a new session if you added the server while a session was already open.
The connector URL shows “Method not allowed” in my browser
That is expected for a normal browser visit. The endpoint accepts MCP requests using POST, not a web page request using GET. Paste the full URL into your agent's connector settings. Use the HTTP example below for a direct check.
I cannot add a custom connector in Claude
Custom-connector availability depends on your Claude plan and workspace settings. On Team or Enterprise, ask the workspace owner to add Focus. Follow the current Claude connector instructions.
A token is missing, ambiguous or has incomplete data
Use the full Solana mint address instead of a name or ticker. If a symbol lookup returns candidates, choose the correct mint first. New pools and launches can take time to appear in upstream indexes. Read the response's errors and availability fields before trying a narrower tool.
I received a 429 or the connector could not be reached
For a 429, wait for the time in the Retry-After response header and reduce parallel requests. For a connection failure or 502, retry later and check whether your client can reach the public endpoint. Avoid tight retry loops.
A tool is unknown or requires the local app
Use the hosted tool list above. The terminal app has additional local features, including app navigation and simulated trading, that are not exposed by this public endpoint. Refresh the client's MCP tool list if it is out of date.
HTTP reference
For developers connecting an MCP client, use Streamable HTTP at https://mcp.focusforagents.app/mcp. The endpoint returns JSON responses to POST requests. There is no API key or persistent SSE stream to configure.
curl 'https://mcp.focusforagents.app/mcp' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
--data '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'To invoke a tool directly, send a tools/call request with the same headers. This is the request body for the first-read example:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "screener_query",
"arguments": {
"preset": "new",
"limit": 3
}
}
}Read the tool's structuredContent and isError fields as well as any JSON-RPC error. An HTTP 200 alone does not mean the requested data was available.
Direct browser calls from arbitrary website origins are restricted. Use your MCP client or make the request from your server.