Torus MCP server
io.github.sekhar14/torus·v0.4.1·1 starsStock research memory for Claude: theses, sourced claims and SEC filing alerts in a local graph
1 stars273 downloads/wk
Reviews
Write oneNobody has reviewed Torus yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Torus tools (45, 6 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
add_eventRecord an event and raise alerts on theses it may affect (through the companies involved and their suppliers, customers and competitors).
alert_statsHow useful alerts have been: verdicts, and the share judged related (precision) by source, form, hops and materiality.
auditHealth check of the research graph: expired or thinly sourced assumptions, theses past their horizon or gone stale, claims that may conflict, unconfirmed starter links, orphans. Each finding suggests a fix.
briefOne-call briefing at the start of a turn: spots known companies in `text`, recalls prior theses, claims, open alerts and ruled-out ideas about them, and returns the graph digest.
complete_distillationFinish a leased distillation job (or hand it back if it failed).
complete_mappingFinish a leased mapping job (or hand it back if it failed).
digestWhat happened in the research over the last days: new alerts by thesis, thesis status and confidence changes, theses coming due, audit counts, scorecard moves and activity. ``markdown`` is ready to show.
filing_diffWhat changed in a section of a company's latest filing against the previous one of the same form: new, dropped and reworded sentences.
filing_textRead a company's SEC filing as text, by section, from EDGAR (cached). Long sections come in pages: pass `next_offset` back as `offset`.
find_pathsHow two entities are connected, e.g. ASML -SUPPLIES-> TSMC -SUPPLIES-> AMD. Shortest and most confident paths first.
get_entityResolve an entity and list its current relations.
impactDry run: which theses would an event on these entities affect, and why? Records nothing.
list_alertsAlerts raised by events on theses, highest score first. Each shows how its score was built: graph score x event materiality x (1 + trigger match).
list_watchesWhat the watchers follow: the watchlist, open-thesis entities, feeds.
merge_entitiesFold a duplicate entity into the one to keep; its links move over.
neighborsThe entity's neighbourhood: companies within `hops` links (suppliers, customers, competitors...), the links among them, and theses about them.
next_distillationLease the oldest research session waiting to be distilled into the graph.
next_mappingLease the next onboarded company to map from its annual report. Until `complete_mapping`, links you record are marked as curator links.
onboardStart covering companies: add them, watch their filings, suggest starter packs, and queue a mapping job for each (run by the company-mapper subagent, which reads their annual reports and records suppliers, customers and competitors).
open_explorerwrite actionWrite the interactive graph explorer HTML file (under TORUS_HOME/explorer.html) and open it in the user's browser.
recallPrior theses, claims and rejected hypotheses about entities and/or a question.
recent_recordsWhat the most recent research sessions recorded, newest first, and which records can still be undone.
record_claimRecord a finding. Facts and metrics need evidence_ids.
record_evidenceRecord a source. Re-recording the same URI returns the existing record.
record_rejected_hypothesisRecord an idea that was checked and ruled out, so it isn't re-explored.
record_relationLink two entities, e.g. TSMC SUPPLIES NVIDIA. Re-recording an existing link updates it (confidence, backing claim, dates) instead of duplicating it.
record_thesisRecord a conclusion and the claims it rests on.
resolve_alertJudge an alert after reading the event and the thesis's claims; the thesis is updated accordingly and the change logged with the alert.
retract_claimWithdraw a claim that turned out to be wrong (kept in history).
scorecardHow tracked theses have done against their benchmarks, their outcomes, and calibration: did the user's confidence match how often they were right?
searchKeyword search over current claims, evidence and theses.
seed_starter_packAdd a curated starter pack of companies and supplier/competitor links. Never overrides links research recorded.
set_thesis_outcomeRecord whether a thesis turned out right, wrong or unclear (overrides the automatic outcome; used for calibration).
supersede_claimCorrect a claim: the old version stays in history, the new one is current.
thesis_memowrite actionWrite a thesis up as a memo (Markdown and a standalone HTML page): what it rests on with sources and quotes, triggers, events and verdicts, ruled-out ideas and history. Saved under TORUS_HOME/memos.
thesis_weak_pointsWhere a thesis is weakest: thin or expiring assumptions, strong supplier or customer dependencies it never mentions, triggers that can't fire on events, and opposing views already in the graph. Input for /torus:challenge.
timelineChronological claims and thesis changes for one entity.
track_thesiswrite actionPut a thesis on the scorecard: its return against a benchmark from an entry price and date, in the direction of its stance.
undo_recordsRevert records the user doesn't want: claims are retracted (corrections go back to the earlier version), theses the session created are archived, links retired, ruled-out ideas withdrawn. History keeps everything.
unwatchwrite actionRemove a company from the explicit watchlist.
update_thesiswrite actionRevise a thesis: status, confidence, the claims it rests on, and its triggers, in one atomic step. Everything is kept in its history.
upsert_entitywrite actionCreate an entity (or merge into the one with the same canonical_key).
watchWatch a company: its new SEC filings become events (on the next `torus watch run`). Subjects of open theses are watched automatically.
what_changedEverything recorded or revised across the graph since a point in time.
whatifWhat if this happened? Which theses would it reach, through which links, and would it raise alerts. Records nothing.
Public scan report
scanner v0.1.10 · 2026-10-24 · same rubric, same numbers if you re-run it
- Code scan78 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 0 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How Torus compares
Against every graded Finance MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 92/100
- higher than 95% of 1,675 Finance servers
- Tools
- 45
- the typical Finance server has 9
- Tools that change things
- 13%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 1
- more than 65% of 906 Finance servers
- Downloads a week
- 273
- more than 86% of 379 Finance servers with a package
What its tools let an agent do: 36 read · 2 create · 7 change
Install Torus in Claude Code, Cursor or VS Code
claude mcp add torus -- uvx torus-kg
What the publisher says
From the Torus repository's README, as published. We do not edit it. Read it on GitHub
Torus
<!-- mcp-name: io.github.sekhar14/torus -->
Stock research memory for Claude Code, Claude Desktop and Codex. Torus gives Claude a memory for your equity research. Before it answers, Claude sees what you already know about a company: your theses, the sourced facts behind them, its suppliers, customers and competitors, and the ideas you ruled out. New research builds on the old, and every new fact is saved with its source. When a new SEC filing or news story threatens a thesis, Torus warns you: on your desktop as it happens, and in a daily or weekly digest by email, Slack, Discord or ntfy.
Ask Claude "Is NVIDIA still supply-bound?" and it starts from what you already concluded, not from scratch. Torus keeps:
- the companies you cover and how they connect: suppliers, customers, competitors
- claims about them, each tied to its source (a 10-K, an earnings call, an article)
- your investment theses: bullish or bearish, the claims they rest on, and what would break them
- ideas you ruled out, so you don't research them again
When a 10-K, 10-Q, 8-K or news item lands, Torus works out which of your theses it touches, through which supplier or customer link, and how much it matters. It also keeps the research honest (what's gone stale, what rests on one source, what a skeptic would say) and tracks how your calls did against the market.
Built for analysts, portfolio managers and serious individual investors.
and cheaper Haiku subagents do the bookkeeping.
- Your model, your subscription. Torus never calls an LLM itself. Claude does the reasoning,
TORUS_HOME).
- Local-first. Your research stays in one SQLite file under ~/.torus (override with
what you thought on any past date. Nothing is deleted: corrections are new versions.
- Time-aware. Every fact records when it was true and when you believed it, so you can ask
Torus is a research memory, not financial advice. See CHANGELOG.md for what's in each release.
Pick your app
Torus works in three apps. All of them share one graph on your machine, so you can research in one and pick up in another.
Claude Desktop
pip install torus-kg
torus setupThe package is called torus-kg on PyPI; the command it installs is torus. torus setup asks for the email the SEC requires, downloads the SEC ticker list, adds Torus to Claude Desktop's settings (it keeps a .bak copy and leaves your other servers alone), and schedules the filing watchers. Restart Claude Desktop, then try the Onboard companies prompt from the "+" menu with a few tickers.
Codex
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Torus: common questions
- Is Torus MCP server safe?
- Yes, by our scan: it is graded A (92/100). Read the Torus safety report
- How do I install Torus?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Torus need an API key?
- No secret keys are declared. It reads 3 settings from the environment.
- Is Torus maintained?
- The last commit was in the last day (2026-10-24). The latest release is v0.4.1.
- What can I use instead of Torus?
- Servers from other publishers that do the same job: Tapetide - Indian Stock Market MCP server, RoboSystems MCP server and HKEx Filings MCP server. Compare all Torus alternatives.
- How does Torus compare with other Finance MCP servers?
- safety score 92/100 (higher than 95% of 1,675 Finance servers); tools 45 (the typical Finance server has 9); tools that change things 13% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.
Alternatives to Torus
Same job from other publishers: the closest match first, then the best rated.
- Tapetide - Indian Stock Market MCP55 tools for Indian stock markets — NSE & BSE quotes, screener, filings, FII/DII, optionsnot reviewedEstablishedA
- RoboSystemsAccounting knowledge graphs: SEC XBRL filings, QuickBooks ledgers, reports and forecasts over MCP.not reviewedGrowingA
HKEx FilingsLive HKEx (Hong Kong Stock Exchange) regulatory filings for AI agents.not reviewedEstablishedA- EdgeDepth ResearchTest crypto-perpetual claims using recorded counts, baselines, and replay.not reviewedGrowingA
- Pseudolife MemoryPersistent memory for MCP-compatible agents: memory bank, fact cortex, dreams, graph.not reviewedGrowingA