/v1 API and the published score history as a
Model Context Protocol server. Use it hosted at a URL, or
run it locally. It is listed in the
official MCP registry
as club.atlasyield/mcp.
Connect
The hosted server is one URL. It needs no key and no sign-in.
“End to end” means we connected the client to the live server and read its answer. “Vendor docs”
means the steps follow the client’s own documentation as of October 2026, which changes often.
If a menu name differs, follow the client’s current guide and use the same URL.
Claude on the web and desktop
Custom connectors work on Free (one connector), Pro, Max, Team and Enterprise. Claude connects from Anthropic’s cloud, so the server must be reachable from the public internet, which this one is.1
Add the connector
Pro and Max: Customize, then Connectors, then + Add, then Add custom connector.
Name it
AtlasYield and enter https://atlasyield.club/mcp, then Continue.
On Team and Enterprise an Owner adds it under Organization settings, then Connectors,
and members then click Connect.2
Choose No sign-in
Under Authentication pick No sign in. Claude will already show it as detected. Leave the
OAuth client and Request headers empty: there is nothing to enter.
3
Use it in a chat
Open a new chat, click + at the lower left, then Connectors, and switch AtlasYield on.
Then ask, for example: USDC vaults on Ethereum above 10% APY, what got filtered out?
Claude Code
--scope user to make it available in every
project, or --scope project to share it through .mcp.json. Check it with claude mcp list, or run
/mcp inside a session. Remove it with claude mcp remove atlasyield. See
Claude Code: MCP.
ChatGPT
Custom MCP servers in ChatGPT depend on your plan and workspace settings, and OpenAI has renamed the menus more than once, so follow OpenAI’s current guide: Developer mode and MCP apps, or Connect and test your plugin. Enter these values:
Start a new conversation, type
@ in the prompt box and pick AtlasYield, or enable it from the apps
menu your account shows. Every AtlasYield tool only reads data and is marked read-only, so a plan that
allows read-only connectors is enough. If you see no option to add a custom server, your plan or
workspace does not have it.
Gemini CLI
.gemini/settings.json. Add -s user to write ~/.gemini/settings.json
instead. The same entry by hand:
httpUrl for streamable HTTP; url is for the older SSE transport. See
Gemini CLI: MCP servers. We have not tested the Gemini
web app.
Cursor and VS Code
Cursor reads~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
{ "type": "http", "url": "https://atlasyield.club/mcp" }. See
Cursor and
VS Code.
Local: run it yourself
@atlasyield/mcp on npm runs the same tools over stdio. Use it when you want requests to come from
your own address, or when a client only supports local servers.
claude_desktop_config.json. The npm package can trail
the hosted server by a release, so the hosted one has the newest find_vaults output.
Check the server from a terminal
accept header the server answers 406. Opening the
URL in a browser shows a 405 message, which is expected: the endpoint only accepts POST.
Tools
Every result carries the disclaimer: research and information, not investment advice. Every tool
declares itself read-only, so clients that skip confirmation for read-only tools will not prompt.
A good first call is
find_vaults (for example asset: "USDC", chain: "base"). It returns a short
list you can act on, and each row carries what the other tools need. Then call
check_route_survival for the vault you pick, before any deposit.
Reading a find_vaults result
The result shows what was kept and what was left out, so a short list is never mistaken for the whole
market. Example, with values that change daily:
2 of 86 USDC vaults on Ethereum matched (APY of at least 10%, a deposit route, not on fallback data); showing 2. Removed by the filters (counts are per filter and overlap): 84 below the APY floor, 1 with no deposit route.
- The funnel. How many vaults were scored, how many fit the asset and chain, how many passed every filter, and how many each filter removed. One vault can fail two filters, so the counts can add up to more than the candidates.
- Dropped vaults.
notableExcludedlists up to five vaults that did not make the list, with the reason. Two slots are held for vaults dropped because they are unreachable or low confidence (no deposit route, not in the live catalog, fallback data), so those are never crowded out by higher ranked vaults that only missed a threshold. - Near-miss assets. The asset match is exact, so
USDCdoes not includesyrupUSDC.similarAssetsnames the close symbols that were left out. Pass a list to include them. - Truncation.
truncated: truemeans more vaults matched thanlimitreturned. - Cold catalog.
cacheWarningappears when the live catalog looks empty after a restart. Theroutablefilter fails closed, so results can be too short until it warms up. Retry in a minute.
flags. A flag is a prompt to look closer, never a verdict, and no flag is not a
statement of safety.
The model decides what it tells you. The result carries a summary sentence and presentation rules that
ask it to show the funnel, the flags and the dropped vaults, but a client can still word things its
own way. The
viewUrl in the result opens the same search on a page we render, with the funnel, the
flags and the dropped vaults laid out.
Calling the API directly
The same data is onGET /v1/scores. Add fields=compact&explain=true
to get the flags and the funnel, and pass routable=true&excludeFallback=true yourself: the API stays
neutral and does not apply the filters the MCP tool applies by default. The response echoes the
filters it honoured in applied and lists any query key it did not recognise in ignoredParams, so a
misspelt minAPY is visible instead of silently returning unfiltered rows.
About the hosted endpoint
- Stateless. Each request stands alone and replies with plain JSON, not a stream. During
initializethe server returns anMcp-Session-Idheader and compliant clients send it back on later requests. It only carries the client name for our usage counts and is not used for anything else. - Same data as the API. The hosted tools read the same
/v1data and share its disclaimer. Browser-based MCP clients can call it: CORS is open and the session header is exposed. - Shared infrastructure. All hosted callers share one upstream request budget. Under heavy
load a call can come back as a tool error mentioning the rate limit; retry after the
interval it states. For sustained or latency-sensitive use, run the server locally so
requests come from your own address, or call
/v1directly. - What we log. For each hosted call: the time, your IP address, the client name and version your MCP client announces, a random session id our server hands your client when it connects, the method, the tool name, the outcome and how long it took. We do not log tool arguments. These records are kept in our own database for 180 days, then deleted, and we use them to count how many agents use the server.
Troubleshooting
The client cannot connect, or the connector shows an error
The client cannot connect, or the connector shows an error
Check the URL ends in
/mcp and uses https. Run the curl check above: a JSON list of seven
tools means the server is up and the problem is in the client’s settings. In Claude, make sure
authentication is No sign in; choosing a sign-in mode sends Claude looking for an OAuth server
that does not exist.A tool call says it hit the rate limit
A tool call says it hit the rate limit
Hosted callers share one upstream budget. Wait for the interval the message states and retry, or
run the local server.
find_vaults refuses and says the API did not confirm a filter
find_vaults refuses and says the API did not confirm a filter
The tool will not return rows that a filter did not actually remove. This means the API behind the
server did not echo the filter back, for example because it was mid-deploy. Retry in a minute, or
ask without that filter.
The answer shows vaults but not what was filtered out
The answer shows vaults but not what was filtered out
The result always carries the funnel, but the client’s model chooses what to repeat. Ask it
directly: “what did the filters remove, and which vaults were dropped?” Or open the
viewUrl from
the result.ChatGPT asks to confirm every call
ChatGPT asks to confirm every call
ChatGPT uses tool annotations to decide when to ask. All AtlasYield tools declare
readOnlyHint: true. If you still see prompts, check the connector scan shows all seven tools
and refresh the connection after an update.