For agents

DeepStack over MCP

Where informed investors disagree, as tools any agent can call: the endpoint, the transport, what each tool answers, how to connect Claude or ChatGPT, and what is kept.

Updated

DeepStack publishes its analysis as text that programs can read: a static JSON API at deepstack.ltd/api/v1/ and a Model Context Protocol server that reads those files and answers in text, citing the canonical URL of everything it names. Both are free and need no key. The content is the content of the site; nothing is written by a model at request time.

The endpoint

The address is https://mcp.deepstack.ltd/mcp. Transport: Streamable HTTP, JSON-RPC 2.0 by POST, one message or a batch. Protocol 2025-03-26 or 2025-06-18, whichever the client asks for. No key, no account, no sign-in. Server name deepstack-mcp, version 1.0.0.

Sixty calls a minute per session (the one initialize issues), else per address, and thirty session openings a minute per address; the refusal is a 429 with a Retry-After header. The server reads the static files under /api/v1/ with a ten-minute cache, keeps no state between calls and runs no model: every answer is the published analysis as text, with the canonical deepstack.ltd URL of each item it names, and ends with the line "Analysis and opinion, not investment advice."

The tools

ToolArgumentsWhat it does
deepstack_searchquery (required), limit, kindsUse when the user asks where informed investors disagree on a topic of the AI economy, or wants DeepStack’s published analysis on a company, a person or a question; returns the matching stories, sides, tests and entities with their canonical URLs, or answers “DeepStack has no formed side on …” with up to three nearest items, labeled as nearest. Use it first when the slug or name is not known.
deepstack_storyslug, part, detailUse when the user wants one Part of The Buildout read in full, by slug or part number: headline, dek, The DeepStack Call (stance, conviction, three actions, what would change the call, the next dated test), key numbers, the full text as plain paragraphs, the dated tests, any result, the named companies and people, and the sources, each with its URL.
deepstack_sidesslug, partUse when the user asks for the bull and bear case, who disagrees with a thesis, the counter-argument, or what would change a side’s mind. Returns, for one story by slug or part number, The DeepStack Call, every attributed, paraphrased voice on each side with its date and source link, the strongest case against each side from outside it, where voices cross, and the dated tests that settle it.
deepstack_docketwindow_days, include_past, include_signal, status, partUse when the user asks what will decide a dispute, what to watch, or the next dated test. Returns the dated tests that will settle each story, from today forward: date and precision, status, the event, the resolver (which series, release or earnings print decides it) and the story, each with its URL.
deepstack_resultsnoneUse when the user asks what resolved and how the Call fared. Returns the tests that came in: verdict, what happened with the primary source and the number, what it did to the Call, and the rule that no accuracy rate is shown until ten results exist.
deepstack_entityslug, ticker, name, kindUse when the user asks what the voices argued about a company, or what a person argued, in The Buildout; by slug, ticker or name. Returns where it appears, the figures the stories reported, each argument attributed, dated and linked, and for a listed company the delayed market snapshot with its source. Never a score or a ranking.
deepstack_tapenoneUse when the user asks for the macro figures DeepStack tests its notes against, each with its producer and date: Treasury yields, the real yield, the S&P 500, VIX, Brent, US natural gas, copper, the Fed funds target, CPI and payrolls, with the weekly change and the as-of time of each series.

7 tools, all read-only: nothing is written to any account and no money moves. The same list comes back from tools/list.

Connecting a client

Claude (claude.ai and the desktop app): Settings, Connectors, Add custom connector; name DeepStack, remote MCP server URL https://mcp.deepstack.ltd/mcp, no OAuth. Then enable it in a conversation's tools menu.

Claude Code:

claude mcp add --transport http deepstack https://mcp.deepstack.ltd/mcp

ChatGPT: Settings, Connectors, Create (developer mode on); name DeepStack, MCP server URL https://mcp.deepstack.ltd/mcp, authentication No authentication. The same address serves an Apps SDK remote server. The tools then appear in a conversation under the connector's name.

Cursor, Windsurf and other editors (mcp.json):

{ "mcpServers": { "deepstack": { "url": "https://mcp.deepstack.ltd/mcp" } } }

By hand, the handshake and one call:

curl -s https://mcp.deepstack.ltd/mcp -H 'content-type: application/json' -H 'accept: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"0"}}}'
curl -s https://mcp.deepstack.ltd/mcp -H 'content-type: application/json' -H 'accept: application/json' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"deepstack_docket","arguments":{}}}'

When DeepStack has no formed side

The tools say so. A search below the relevance floor, or a story, sides page, company or person that does not exist, answers "DeepStack has no formed side on …. Nothing published argues it yet." and then says what exists nearby: up to three nearest published items, labeled as nearest and not as an answer, or the list of parts, companies and people with their slugs. That sentence is the answer, not a failure, and nothing should be inferred beyond it. The site's own search gives the same sentence.

What is kept

Questions typed into the search box or asked through the MCP tools are kept as text with the date, the tool used, the number of results, a session id and the name the calling program gives itself, and nothing that identifies you: no address, no user agent, no cookie. They are kept to decide what DeepStack covers next.

The record is read in aggregate, to see which disputes are asked about and where DeepStack has no formed side; it is never published per question and never shared. No conversation text beyond the tool's own arguments is kept. The full policy is at deepstack.ltd/privacy/.

Not advice, and the terms

Every answer ends with the line "Analysis and opinion, not investment advice." The tools return a way of reading public evidence, published identically to everyone; they do not know the user's situation and never recommend a trade. Use is under the terms of use: free, read-only, as is, quotations clipped under fair use, the canonical URL to cite. The schema of the files the server reads is the OpenAPI document; programs that read the web without MCP can start from llms.txt.

Analysis and opinion, not investment advice.