DeepStack: Independent analysis of the AI economy
Where informed investors disagree, the evidence each side stands on, and the date that settles it.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"deepstack": {
"url": "https://mcp.deepstack.ltd/mcp"
}
}
}Remote endpoints
https://mcp.deepstack.ltd/mcpstreamable-httpWhat it can do
Tool inventory
Tools (8)
🟢deepstack_search(query, limit, kinds)
Use 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.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Words to look for: a company, a person, a theme, a figure."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 20,
"default": 8,
"description": "How many hits to return."
},
"kinds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"story",
"question",
"sides",
"company",
"person",
"test",
"term",
"layer",
"thesis"
]
},
"description": "Restrict the hits to these kinds; all kinds by default."
}
},
"required": [
"query"
],
"additionalProperties": false
}🟢deepstack_story(slug, part, detail)
Use 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 side it takes and the case against it, the next dated test), key numbers, the full text as plain paragraphs, the dated tests, any result, the companies and people named, and the sources, each with its URL.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The story slug, as in https://deepstack.ltd/stories/<slug>/."
},
"part": {
"type": "integer",
"minimum": 1,
"description": "The part number in The Buildout, as an alternative to the slug."
},
"detail": {
"type": "string",
"enum": [
"full",
"summary"
],
"default": "full",
"description": "“summary” leaves out the body paragraphs."
}
},
"required": [],
"additionalProperties": false
}🟢deepstack_sides(slug, part)
Use 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 and its side, every attributed, paraphrased voice on each side with its date and source link, the strongest case against each side, where voices cross, and the dated tests that settle it.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The story slug."
},
"part": {
"type": "integer",
"minimum": 1,
"description": "The part number, as an alternative to the slug."
}
},
"required": [],
"additionalProperties": false
}🟢deepstack_docket(window_days, include_past, include_signal, status, part)
Use 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.
Input Schema
{
"type": "object",
"properties": {
"window_days": {
"type": "integer",
"minimum": 1,
"maximum": 730,
"default": 120,
"description": "How far ahead to look."
},
"include_past": {
"type": "boolean",
"default": false,
"description": "Also list tests dated before today."
},
"include_signal": {
"type": "boolean",
"default": false,
"description": "Also list the tests that have no date and resolve on a signal."
},
"status": {
"type": "string",
"enum": [
"all",
"pending",
"confirmed",
"refuted",
"inconclusive"
],
"default": "all"
},
"part": {
"type": "integer",
"minimum": 1,
"description": "Only the tests of one part."
}
},
"required": [],
"additionalProperties": false
}🟢deepstack_results
Use 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 hit rate is shown until ten results exist.
Input Schema
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}🟢deepstack_entity(slug, ticker, name, kind)
Use 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.
Input Schema
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "The entity slug, as in https://deepstack.ltd/companies/<slug>/ or /people/<slug>/."
},
"ticker": {
"type": "string",
"description": "A listed company’s ticker, for example NVDA."
},
"name": {
"type": "string",
"description": "The name, when the slug is not known."
},
"kind": {
"type": "string",
"enum": [
"company",
"person",
"organization"
],
"description": "Narrow the lookup to companies, to people or to the organizations that contribute argument (listed with the people)."
}
},
"required": [],
"additionalProperties": false
}🟢deepstack_tape
Use 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.
Input Schema
{
"type": "object",
"properties": {},
"required": [],
"additionalProperties": false
}🟢deepstack_counter(claim, limit)
Use when the user states a thesis or a claim about the AI economy and wants the strongest case against it. Returns the side the claim sits on (or the question, when no side label fits), the strongest case against that side from a voice outside it, dated and linked, more opposing voices, and the dated tests that settle it; below the relevance floor, that DeepStack has no formed side on the claim.
Input Schema
{
"type": "object",
"properties": {
"claim": {
"type": "string",
"description": "The thesis as the user states it, for example “AI demand is real”."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"default": 3,
"description": "How many further opposing voices to return after the strongest case."
}
},
"required": [
"claim"
],
"additionalProperties": false
}Community
Evidence