RaiderRouter MCP
Use with AI
One URL. Paste it into your client, approve the browser prompt, and your agent can reach every source your keys pay for. There is no token to copy.
Your connection link
https://raiderrouter.com/mcp- Add the URL above to your client as an MCP server.
- Your client opens a browser. Sign in with Google and approve.
- Your client lists the tools your keys activate.
The keys on this account are the ones your agent calls with. Add more on Sources.
Choose your client
Use the path verified for your client. Authentication support differs, even when every client points at the same endpoint. You can run the protocol check yourself on Playground.
Every path below uses the one URL above and Streamable HTTP. There is no client id to enter.
Without a browser sign-in Advanced
Without a browser sign-in
Use this when a script or headless client cannot open the browser sign-in. Every bearer command below is filled in with the token you create here.
Tokens belong to an account, so this is the step that needs one.
A client and a manual token are wound down separately: disconnect a client from Connected MCP clients.
ChatGPT OAuth
Add a connection in developer mode. ChatGPT registers its own OAuth client, so there is no client id to type.
Paste this
https://raiderrouter.com/mcpNo config file. This client is set up in its own settings screen.
Where to go
- Open Settings, then Security and login, and turn on Developer mode.
- Open chatgpt.com/plugins and choose the plus button.
- Give the connection a name and a description.
- Under Connection, paste the endpoint including its /mcp path.
- Create the connection.
- Review the tools and metadata discovered from the server.
Sign in
ChatGPT registers its own OAuth client with the server, so there is no client id or secret to type.
Who can use it
Developer mode must be on. The vendor says its availability can depend on account and workspace policy.
If it fails
A published plugin keeps the reviewed tool metadata it was approved with. A developer mode connection has a Refresh action for when the tools change.
We have not walked the in-product flow ourselves. These are the vendor’s published steps as of the review date, and the client registration comes from its plugin auth page (developers.openai.com/plugins/build/auth).
Streamable HTTP. The URL goes in the Connection field.
Client documentation · Reviewed 2026-09-11. Next review due 2026-12-10.
Claude on the web OAuth
Add a custom connector. This path signs in through the browser and takes no manual header.
Paste this
https://raiderrouter.com/mcpNo config file. This client is set up in its own settings screen.
Where to go
- Open Customize, then Connectors.
- Choose the plus button, then Add custom connector.
- Paste the RaiderRouter endpoint as the remote MCP server URL.
- Skip Advanced settings, then choose Add.
- Enable it for a conversation from the plus button in the chat, under Connectors.
- On Team and Enterprise an Owner adds it under Organization settings, then Connectors.
- That Owner chooses Custom, then Web, and members choose Connect to sign in.
Sign in
Claude runs the sign-in itself and takes no manual header. Team and Enterprise members choose Connect.
Who can use it
Free, Pro, Max, Team and Enterprise, on the web, Claude Desktop, Cowork and the mobile apps. Free accounts get one custom connector. Team and Enterprise need an Owner first.
If it fails
A URL only your own machine can reach will fail, because the request comes from Anthropic servers. A server on a private network, behind a VPN, or blocked by a firewall will not connect.
The connection is made from Anthropic servers rather than from your own machine.
Streamable HTTP. The URL goes in the custom connector URL field.
Client documentation · Reviewed 2026-09-11. Next review due 2026-12-10.
Claude Desktop OAuth
Add the same custom connector the web client uses, from the desktop settings window.
Paste this
https://raiderrouter.com/mcpWhere to go
- Open Settings, then Connectors.
- Add the same custom connector the web client uses, and paste the endpoint.
- Approve the sign-in, then restart the client if tools do not appear.
- To connect from your own machine instead, use the file below.
- On macOS the file is at ~/Library/Application Support/Claude/claude_desktop_config.json.
Or paste this: Local bridge
{
"mcpServers": {
"raiderrouter": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://raiderrouter.com/mcp",
"--transport",
"http-only"
]
}
}
}
Sign in
Choose Connect on the connector, or let mcp-remote open the sign-in.
Who can use it
Custom connectors follow the same account as the web client. The file path is per machine.
If it fails
Edits to the file take effect only after a full restart of Claude Desktop.
Anthropic routes a server with a public URL to the connector. Its pages name the menu both Settings then Connectors and Customize then Connectors; it is one connector list. The file locations and the bridge block come from the mcp-remote README, not from Anthropic.
Streamable HTTP. The URL goes in the custom connector URL field, or the mcp-remote argument in the file.
Client documentation · Reviewed 2026-09-11. Next review due 2026-12-10.
Claude Code OAuth recommended
Add the URL, then approve RaiderRouter when Claude opens your browser.
Where to go
- Run the command below in the project you want the server in.
- Add --scope user to reach it from every project on this machine.
- Add --scope project to share it with the repository.
- Then sign in as described below.
Paste this
claude mcp add --transport http raiderrouter https://raiderrouter.com/mcp
Or paste this: Bearer fallback
claude mcp add --transport http raiderrouter https://raiderrouter.com/mcp --header "Authorization: Bearer YOUR_TOKEN"
Sign in
Run /mcp in a session, or run claude mcp login raiderrouter. Claude opens your browser.
Who can use it
Any Claude Code account. Project scope shares the server with the repository.
If it fails
A .mcp.json entry with a url and no type key is read as a local command and skipped. Set the type key to http.
Confirm with claude mcp list. Registered it as raider before 2026-09-10? Use that name in the login command.
The endpoint
https://raiderrouter.com/mcpStreamable HTTP. The URL goes in the argument after the server name.
Client documentation · Reviewed 2026-09-11. Next review due 2026-12-10.
Codex CLI OAuth recommended
Register RaiderRouter, then sign in through the browser.
Where to go
- Run the first line to register the server.
- Run the second line to open the browser sign-in.
- Confirm the registration with codex mcp list.
Paste this
codex mcp add raiderrouter --url "https://raiderrouter.com/mcp" codex mcp login raiderrouter
Or paste this: Bearer environment-variable fallback
[mcp_servers.raiderrouter] url = "https://raiderrouter.com/mcp" bearer_token_env_var = "RAIDER_MCP_TOKEN"
Sign in
Run codex mcp login raiderrouter, then approve in the browser.
Who can use it
Any Codex CLI account.
If it fails
Two [mcp_servers.raiderrouter] tables in config.toml is a parse error for the whole file. Edit the one codex mcp add wrote, or paste this one instead of running it. If the server is missing from a session, run codex mcp list and check the name you registered.
Registered it as raider before 2026-09-10? Use that name in the login command. The bearer table replaces the [mcp_servers.raiderrouter] table codex mcp add wrote; keep one, not both. Set RAIDER_MCP_TOKEN in the environment Codex runs in. The ChatGPT desktop app, the Codex CLI and the IDE extension share this configuration.
The endpoint
https://raiderrouter.com/mcpStreamable HTTP. The URL goes in the --url argument.
Client documentation · Reviewed 2026-09-11. Next review due 2026-12-10.
Cursor OAuth
Add one entry to the MCP configuration file, then let Cursor open the sign-in.
Where to go
- Create the file named below in your project, or in your home folder for every project.
- Paste the block below.
- Cursor runs the sign-in itself for a server that requires it.
Paste this
{
"mcpServers": {
"raiderrouter": {
"url": "https://raiderrouter.com/mcp"
}
}
}
Sign in
Cursor states OAuth support for servers that require it and runs the sign-in itself. No header is needed.
Who can use it
Any Cursor account that can edit its own MCP configuration file. An enterprise team with an MCP allowlist must list this server URL, or it is blocked.
If it fails
Adding a type key, or pointing at the /sse path, fails. This server answers 404 there.
The global file is ~/.cursor/mcp.json and covers every project.
The endpoint
https://raiderrouter.com/mcpStreamable HTTP. The URL goes in the url key.
Client documentation · Reviewed 2026-09-11. Next review due 2026-12-10.
VS Code with Copilot OAuth
Add one entry to the workspace MCP file, then start the server from the palette.
Where to go
- Create the file named below in your workspace.
- Paste the block below.
- Run MCP: List Servers, choose the server, then start it.
- Trust the server when VS Code asks the first time it starts.
Paste this
{
"servers": {
"raiderrouter": {
"type": "http",
"url": "https://raiderrouter.com/mcp"
}
}
}
Sign in
VS Code’s configuration reference documents the browser sign-in for an entry carrying an oauth block with a client id. It shows the bare entry as unauthenticated. Use the bearer header if no browser opens.
Who can use it
Organisations can centrally manage access to MCP servers through GitHub policies.
If it fails
The wrapper key here is servers, not mcpServers. An Agent Host session does not read .vscode/mcp.json, so use a workspace .mcp.json or ~/.copilot/mcp-config.json there.
A user-level file covers every workspace and is edited from the palette. The headers and oauth fields are in the MCP configuration reference (code.visualstudio.com/docs/agents/reference/mcp-configuration).
The endpoint
https://raiderrouter.com/mcpStreamable HTTP. The URL goes in the url key.
Client documentation · Reviewed 2026-09-11. Next review due 2026-12-10.
Cline Bearer token
Add one entry with the streamable HTTP type and your token in the header.
Where to go
- Create a token above.
- Open the MCP Servers icon in the Cline panel, then the Configure tab.
- Choose Configure MCP Servers, which opens the settings file.
- Paste the block below into that file.
- Keep the type key. Without it Cline tries the older transport.
Paste this
{
"mcpServers": {
"raiderrouter": {
"type": "streamableHttp",
"url": "https://raiderrouter.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN"
}
}
}
}
Sign in
There is no browser sign-in. Use the token, or bridge through mcp-remote instead.
Who can use it
Any Cline installation. The token carries the account, so keep the file private.
If it fails
Cline defaults to the older SSE transport, and this server answers 404 there. Keep the type key.
The Remote Servers tab adds the same server without JSON: name, URL, transport Streamable HTTP, then Add Server. The Cline command line keeps its own servers in ~/.cline/mcp.json.
The endpoint
https://raiderrouter.com/mcpStreamable HTTP. The URL goes in the url key.
Client documentation · Reviewed 2026-09-11. Next review due 2026-12-10.
Zed OAuth
Add one context server to your settings file, then let Zed sign you in.
Where to go
- Open your settings file with zed: open settings file. Or add the server from Settings, then AI, then MCP Servers with Add Server, then Add Remote Server.
- Paste the block below inside context_servers.
- Leave the headers block out, so the sign-in can run.
Paste this
{
"context_servers": {
"raiderrouter": {
"url": "https://raiderrouter.com/mcp"
}
}
}
Sign in
Zed prompts for the standard MCP sign-in when the entry has no Authorization header.
Who can use it
Any Zed installation that can edit its own settings file.
If it fails
An Authorization header switches the sign-in off, and that header is sent as the credential.
Zed calls these context servers. The wrapper key is not mcpServers.
The endpoint
https://raiderrouter.com/mcpStreamable HTTP. The URL goes in the url key.
Client documentation · Reviewed 2026-09-11. Next review due 2026-12-10.
Windsurf and Devin Desktop Check with client
Windsurf is now Devin Desktop. This entry is documented for the older Cascade agent.
Less certain We have read this path rather than run it. Confirm it in the client documentation.
Where to go
- Open the configuration file named below.
- Paste the block below. The remote key is serverUrl, and url also works.
- Restart the client, then check the server is listed in Cascade.
- Confirm the current path in the client documentation before you rely on it.
Paste this
{
"mcpServers": {
"raiderrouter": {
"serverUrl": "https://raiderrouter.com/mcp"
}
}
}
Sign in
Devin Desktop states OAuth support for each transport but documents no sign-in path. Use a token in a headers block if no browser opens.
Who can use it
The documented file covers the Cascade agent. A newer agent in the same client reads a different file. Once a team allowlists one MCP server, every server not on the list is blocked.
If it fails
A new tab may open the newer agent, which does not read this file. Check which agent is running.
Treat this entry as less certain than the other clients on this page.
The endpoint
https://raiderrouter.com/mcpStreamable HTTP. The URL goes in the serverUrl key.
Client documentation · Reviewed 2026-09-11. Next review due 2026-12-10.
Grok OAuth
Add RaiderRouter as a custom MCP connector in Grok.
Paste this
https://raiderrouter.com/mcpNo config file. This client is set up in its own settings screen.
Where to go
- Open grok.com/connectors.
- Choose New Connector, then Custom.
- Paste the RaiderRouter endpoint as the MCP server URL.
- Complete the authentication Grok asks for.
- Grok discovers the tools and makes them available in conversations.
Sign in
Grok asks for whatever authentication the server requires when the connector is added.
Who can use it
Connectors are available to all Grok users. Business and Enterprise need an admin to provision the connector in the cloud console first.
If it fails
The server must be reachable over the public internet. A server on your own machine needs a tunnel.
Grok makes the tools available in conversations itself. There is no per-conversation switch to turn on.
Streamable HTTP. The URL goes in the server URL field.
Client documentation · Reviewed 2026-09-11. Next review due 2026-12-10.
Any other client Bearer token
Bridge the endpoint into any client that runs a local command.
Where to go
- Register the command below as a local MCP server in your client.
- npx fetches mcp-remote on demand, so there is nothing to install first.
- Create a token above for a client that cannot open a browser.
- Send the token as an Authorization: Bearer header on every request.
Paste this
npx -y mcp-remote https://raiderrouter.com/mcp --transport http-only
Or paste this: Handshake check, with a token
curl -sS -X POST https://raiderrouter.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2026-07-28", "capabilities": {}, "clientInfo": {"name": "curl", "version": "1"}}}'Sign in
mcp-remote runs the browser sign-in for clients that cannot. A token works instead.
Who can use it
No account gating. Any client that can run a local command can reach this.
If it fails
Without the Accept header naming both JSON and event streams the server answers 406.
Keep the token in a secret store or environment variable and never commit it. The mcp-remote README warns that Cursor, the Codex CLI and Claude Desktop on Windows mangle spaces inside args. Write the header as Authorization:${AUTH_HEADER} with the space inside the variable, or pass --header-file.
The endpoint
https://raiderrouter.com/mcpStreamable HTTP. The URL goes in the first argument after mcp-remote.
Client documentation · Reviewed 2026-09-11. Next review due 2026-12-10.
Starter prompts (7)
Once connected through a verified path above, paste a prompt into your MCP client. Start with the risk-first prompt to write down your limits.
How this works
Each prompt names its tools and the limits the AI must respect. ChatGPT needs developer mode, and we publish the vendor’s steps rather than a flow we have walked.
Clients that support MCP prompts show the prompts your connected sources can serve in their picker. Other clients work by copy and paste.
You can run these tools in Playground first, without setting up a client.
For standing briefs and state blocks that carry work between sessions, see Getting started.
Research a trade inside my risk limits · Risk-first
Define the loss you can accept before the AI looks for upside.
You are my risk-first research partner. Do not begin the market analysis until we have completed this profile. Ask me only for any blanks: - Candidates: TICKERS - Holding period: DAYS, WEEKS, or MONTHS - Maximum loss on one idea: DOLLARS or PERCENT OF PORTFOLIO - Maximum position size: PERCENT OF PORTFOLIO - Maximum total exposure across open ideas: PERCENT OF PORTFOLIO - Instruments allowed: LONG SHARES ONLY, SHORTING, or OTHER - Hard constraints: NO LEVERAGE, NO EARNINGS HOLDS, or MY OWN RULES Never invent a missing limit. If maximum loss is blank, you may research the idea, but you may not recommend a position size. Once the profile is complete, for each candidate: 1. Pull the latest available price and one year of daily bars. Before using the price, state its as_of timestamp and market session or date so an end-of-day fallback cannot be mistaken for a live quote. Report trend, realized volatility, ATR as a percentage of price, and maximum drawdown. 2. Pull company fundamentals and recent filings. State the strongest bull case, the strongest bear case, and one fact that would invalidate each case. 3. Check the market volatility regime and explain how it changes the risk. 4. Define an entry condition, an invalidation level based on evidence rather than a round number, and the loss per share at that level. 5. If my risk limits are complete, calculate a maximum position size from the smaller of my loss limit and position-size limit. Show the arithmetic. Finish with a comparison table and a clear outcome for each name: research further, wait for the entry condition, or reject. Do not place an order. Do not force a trade when none fits my limits. Before you conclude anything, read the _provenance block on every response. State the as_of date of each figure you rely on. If a field appears in the unavailable list, say so by name and do not substitute a value for it, do not treat it as zero, and do not infer it from something else. If the data you need was not available, say that plainly instead of answering anyway. If upgrades_available is non-empty, you may mention once, at the end, which unconnected vendor, if connected and entitled, would come earlier in RaiderRouter’s current routing order for the requested capability, and why. This is a routing-order hint, not a data-quality judgment and not evidence that the figures you were given are wrong.
Morning brief on my watchlist · Any appetite
A daily read on what moved, what is stale, and what changed underneath.
You are my pre-market analyst. My watchlist is: AAPL, NVDA, MSFT. For each symbol: 1. Get the latest available price and the last 3 months of daily bars. State the price’s as_of timestamp and market session or date before comparing it with the bars. 2. Report the move since the prior close, and where price sits against its 20-day and 50-day averages. 3. Flag any RSI above 70 or below 30, and say what the ATR implies about a normal day’s range, so I can tell a real move from noise. 4. Check for filings in the last 5 trading days and name anything material. Then get the volatility regime once and tell me whether the market is pricing calm or stress, and whether the near-term curve is in contango or backwardation. Finish with a table: symbol, last price, as_of, percent move, one line on what changed. Rank by what most deserves my attention, and say why for the top one. Before you conclude anything, read the _provenance block on every response. State the as_of date of each figure you rely on. If a field appears in the unavailable list, say so by name and do not substitute a value for it, do not treat it as zero, and do not infer it from something else. If the data you need was not available, say that plainly instead of answering anyway. If upgrades_available is non-empty, you may mention once, at the end, which unconnected vendor, if connected and entitled, would come earlier in RaiderRouter’s current routing order for the requested capability, and why. This is a routing-order hint, not a data-quality judgment and not evidence that the figures you were given are wrong.
Screen for quality, not excitement · Conservative
Balance-sheet first. Built to talk you out of things.
You are a conservative equity analyst. I care about not losing money more than I care about upside. Candidates: KO, JNJ, PG, ABBV. For each: 1. Pull fundamentals. Report margins, debt levels, and payout ratio if published. 2. Pull 1 year of daily bars and report drawdown from the 52-week high, plus realized volatility. 3. Tell me the single most likely way this specific business gets impaired over five years. Be concrete about that company, not generic about equities. Then pull the 10-year Treasury yield and tell me honestly whether each name’s yield compensates me for holding equity risk over holding the risk-free rate. Rank them, then argue AGAINST your own top pick for a paragraph. If none of them clear a conservative bar right now, say none of them do. That is a valid answer and I would rather hear it than a forced ranking. Before you conclude anything, read the _provenance block on every response. State the as_of date of each figure you rely on. If a field appears in the unavailable list, say so by name and do not substitute a value for it, do not treat it as zero, and do not infer it from something else. If the data you need was not available, say that plainly instead of answering anyway. If upgrades_available is non-empty, you may mention once, at the end, which unconnected vendor, if connected and entitled, would come earlier in RaiderRouter’s current routing order for the requested capability, and why. This is a routing-order hint, not a data-quality judgment and not evidence that the figures you were given are wrong.
Momentum scan with a stop already defined · Aggressive
Trend and relative strength, with the exit decided before entry.
You are a momentum trader. Candidates: NVDA, AMD, AVGO, SMCI. Before sizing any position, ask me for every missing item below: - Dollar loss budget per position: DOLLARS - Portfolio size: DOLLARS - Maximum position size: DOLLARS or PERCENT OF PORTFOLIO - Maximum total exposure across open positions: DOLLARS or PERCENT OF PORTFOLIO Never invent, infer, or assume any of these numbers. You may research the candidates while a number is missing, but you must not size a position until I have supplied all four limits. For each, pull 6 months of daily bars and report: 1. Price relative to the 20-day and 50-day averages, and whether the shorter is above the longer. 2. MACD state and whether the histogram is expanding or contracting. 3. RSI, and specifically whether it is strong or already overextended. 4. ATR as a percentage of price. Then, for any name in an established uptrend, propose an entry, a stop placed at a multiple of ATR rather than a round number, and the resulting risk per share. Once all four limits are supplied, size every position so the same dollar amount is at risk on each without exceeding the dollar loss budget, maximum position size, or maximum total exposure. Show the arithmetic. Check the volatility regime before you conclude. If the market is in stress, say plainly that momentum setups fail more often in that environment and reduce your conviction accordingly. Do not tell me about a setup without telling me where it is wrong. Before you conclude anything, read the _provenance block on every response. State the as_of date of each figure you rely on. If a field appears in the unavailable list, say so by name and do not substitute a value for it, do not treat it as zero, and do not infer it from something else. If the data you need was not available, say that plainly instead of answering anyway. If upgrades_available is non-empty, you may mention once, at the end, which unconnected vendor, if connected and entitled, would come earlier in RaiderRouter’s current routing order for the requested capability, and why. This is a routing-order hint, not a data-quality judgment and not evidence that the figures you were given are wrong.
Review what I already own · Any appetite
Held positions against the thesis you had when you bought them.
Review my positions. Replace this list with your own, including why you bought each one: - TICKER, bought at PRICE, because REASON - TICKER, bought at PRICE, because REASON For each position: 1. Pull the latest available price and report its as_of timestamp and the market session or date before calculating the move from my entry. Do not describe the price as live or current unless _provenance explicitly proves it. 2. Pull 6 months of bars: is the trend still intact, or has it broken? 3. Pull fundamentals and check whether the reason I gave still holds. 4. Check recent filings for anything that contradicts my thesis. Then answer one question per position, directly: is the reason I bought this still true? Not "is it up", which is a different question and the one that traps people. If the thesis is broken but the position is profitable, say so clearly. If it is intact but the position is down, say that too. End with only the positions where the thesis has actually changed. If nothing has changed, say nothing has changed rather than manufacturing an action. Before you conclude anything, read the _provenance block on every response. State the as_of date of each figure you rely on. If a field appears in the unavailable list, say so by name and do not substitute a value for it, do not treat it as zero, and do not infer it from something else. If the data you need was not available, say that plainly instead of answering anyway. If upgrades_available is non-empty, you may mention once, at the end, which unconnected vendor, if connected and entitled, would come earlier in RaiderRouter’s current routing order for the requested capability, and why. This is a routing-order hint, not a data-quality judgment and not evidence that the figures you were given are wrong.
Is this a real move or just loud? · Speculative
Separates retail attention from anything fundamental. Deliberately sceptical.
I keep seeing TICKER mentioned. Work out whether anything is actually happening. 1. Pull crowd attention for it and report mention counts and rank. Treat this as a measure of how loud a forum is, nothing more. It is not a fundamental, not a flow, and not positioning. 2. Pull 3 months of daily bars. Has price and volume actually moved, or is the attention detached from the tape? 3. Pull fundamentals. Is there a business here, or a ticker? Then tell me which of these it looks like: - attention following a real move that already happened - attention with no move, which is noise - a move with no attention, which is the only one of the three that is occasionally interesting Be blunt. If the honest answer is that this is a crowded ticker with nothing underneath it, say exactly that. Do not soften it into a balanced view, and do not tell me what the crowd thinks the catalyst is as though that made it one. Before you conclude anything, read the _provenance block on every response. State the as_of date of each figure you rely on. If a field appears in the unavailable list, say so by name and do not substitute a value for it, do not treat it as zero, and do not infer it from something else. If the data you need was not available, say that plainly instead of answering anyway. If upgrades_available is non-empty, you may mention once, at the end, which unconnected vendor, if connected and entitled, would come earlier in RaiderRouter’s current routing order for the requested capability, and why. This is a routing-order hint, not a data-quality judgment and not evidence that the figures you were given are wrong.
What is the macro backdrop doing to my book? · Any appetite
Rates, unemployment and inflation, connected to what you hold.
Give me the macro picture and connect it to my holdings, which are concentrated in: SECTOR, SECTOR. 1. Pull the 10-year Treasury yield, unemployment, and CPI. For each, report the latest print, its date, and the direction of the last several observations. Say clearly how stale each series is, since macro data is published with a lag and a monthly series can be weeks old. 2. Pull the volatility regime and interpret the term structure. 3. Explain the specific transmission mechanism from these readings to the sectors I named. Not "rates affect equities", which is true of everything. Name the actual channel. Finish with the one macro reading that would most change your view if it moved, and what number would do it. Before you conclude anything, read the _provenance block on every response. State the as_of date of each figure you rely on. If a field appears in the unavailable list, say so by name and do not substitute a value for it, do not treat it as zero, and do not infer it from something else. If the data you need was not available, say that plainly instead of answering anyway. If upgrades_available is non-empty, you may mention once, at the end, which unconnected vendor, if connected and entitled, would come earlier in RaiderRouter’s current routing order for the requested capability, and why. This is a routing-order hint, not a data-quality judgment and not evidence that the figures you were given are wrong.
Every endpoint (729 across 9 vendors)
Reach documented endpoints beyond the curated tools using your connected keys. The raw lane returns each vendor’s own response, read-only.
How this works
list_vendor_endpoints lists endpoints; describe_vendor_endpoint shows parameters and an example. call_vendor_endpoint runs the read with your stored key.
- Reads only. Requests use GET; trading and money-movement routes are refused by name.
- Your keys only. You see endpoints for your connected vendors, and nobody else’s.
- Your key stays here. It never appears in a response or activity log.
- Vendor responses. Raw answers keep the vendor’s fields and units. Prefer a curated tool where one covers the same ground.
Uncatalogued endpoints remain reachable by path under the same rules. The response identifies them as uncatalogued.
Scroll sideways to reach the rest of this table.
| Vendor | Endpoints | Families |
|---|---|---|
| Financial Modeling Prep | 230 | 24 |
| Alpha Vantage | 129 | 13 |
| Finnhub | 111 | 16 |
| ORTEX | 95 | 17 |
| Massive | 54 | 12 |
| Alpaca | 49 | 9 |
| Tiingo | 33 | 11 |
| SnapTrade | 16 | 2 |
| Tradier | 12 | 5 |
Counted from the catalogue this server is running, not written down here, so these numbers cannot drift away from what you actually get. Vendors we serve without a key of yours are not in this list: there is nothing of yours to send.
Provenance
Read it before you trade on the number underneath it.
_provenance block.
It names which vendor answered, when the figure was true, and lists under
unavailable everything that could not be provided and why. A
field named there was not published. It is not zero. Tell your agent to
read it, because a number with no date is not a fact.
None of this is investment advice, and none of it decides anything for you.