Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
TORUS_HOMENoOverrides the default graph location (`~/.torus`). Set it under `env` so every app shares one graph.
TORUS_HARNESSNoSet by `torus setup` to `claude-desktop` or `codex` so the MCP server carries the workflow (instructions, prompts/skills, live capture) itself.
TORUS_TOOLSETNoWhich tools are exposed: `analyst` (33 tools, default on Claude Desktop and Codex) or `full` (all 45 tools).
TORUS_CAPTURE_MODENoWhat Claude records while researching: `live`, `balanced` (default) or `curator`.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}

Tools

Functions exposed to the LLM to take actions

NameDescription
briefA

One-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.

recallA

Prior theses, claims and rejected hypotheses about entities and/or a question.

Call this before starting research so you build on earlier work.

get_entityB

Resolve an entity and list its current relations.

searchB

Keyword search over current claims, evidence and theses.

timelineA

History of one entity, oldest first: claims recorded, corrected or retracted about it, theses on it created or changed, and events (filings, news) that name it. Each change has a time, kind, object id and one-line summary. Use it to see how the view on a company evolved; use what_changed for the whole graph and get_entity for its current links.

what_changedB

Everything recorded or revised across the graph since a point in time.

upsert_entityB

Create an entity (or merge into the one with the same canonical_key).

merge_entitiesB

Fold a duplicate entity into the one to keep; its links move over.

record_evidenceB

Record a source. Re-recording the same URI returns the existing record.

record_claimA

Save one finding about one or more entities, tied to its sources.

    Record the source first with `record_evidence` and pass its id. A fact or
    metric without supporting evidence_ids is rejected, as is an inference with
    neither evidence nor derived_from. Returns the new claim with its id, which
    theses (`record_thesis`) and relations (`record_relation`) can cite. To fix
    an existing claim use `supersede_claim`, not a second record_claim.
supersede_claimB

Correct a claim: the old version stays in history, the new one is current.

retract_claimB

Withdraw a claim that turned out to be wrong (kept in history).

record_relationA

Link two entities, e.g. TSMC SUPPLIES NVIDIA. Re-recording an existing link updates it (confidence, backing claim, dates) instead of duplicating it.

record_thesisA

Save a new investment thesis and the claims it rests on.

    Record the claims first with `record_claim` and pass their ids. Torus uses
    the assumptions, subject and triggers to decide which new filings and news
    threaten the thesis and raise alerts. Returns the thesis with its id and
    status (active). To change an existing thesis use `update_thesis`; to log
    an idea you rejected use `record_rejected_hypothesis`.
update_thesisA

Revise a thesis: status, confidence, the claims it rests on, and its triggers, in one atomic step. Everything is kept in its history.

    Also tunes its alerts: a threshold of its own, and mutes (e.g. no alerts
    for a supplier's routine 10-Qs).
record_rejected_hypothesisB

Record an idea that was checked and ruled out, so it isn't re-explored.

add_eventA

Record an event and raise alerts on theses it may affect (through the companies involved and their suppliers, customers and competitors).

impactB

Dry run: which theses would an event on these entities affect, and why? Records nothing.

list_alertsA

Alerts raised by events on theses, highest score first. Each shows how its score was built: graph score x event materiality x (1 + trigger match).

alert_statsA

How useful alerts have been: verdicts, and the share judged related (precision) by source, form, hops and materiality.

resolve_alertA

Judge an alert after reading the event and the thesis's claims; the thesis is updated accordingly and the change logged with the alert.

neighborsA

The entity's neighbourhood: companies within hops links (suppliers, customers, competitors...), the links among them, and theses about them.

find_pathsA

How two entities are connected, e.g. ASML -SUPPLIES-> TSMC -SUPPLIES-> AMD. Shortest and most confident paths first.

watchA

Watch a company: its new SEC filings become events (on the next torus watch run). Subjects of open theses are watched automatically.

unwatchA

Stop watching a company you added with watch. Removes it from the explicit watchlist only: a company that is the subject or a trigger entity of an open thesis is still followed. Nothing in the graph is deleted. Returns the updated watch list, as list_watches does.

list_watchesB

What the watchers follow: the watchlist, open-thesis entities, feeds.

next_distillationA

Lease the oldest research session waiting to be distilled into the graph.

    Returns its transcript digest, what was already recorded (don't duplicate
    it), the sources the agent looked at, and existing theses on its entities.
    Until `complete_distillation`, new records are attributed to that session.
complete_distillationA

Finish a leased distillation job (or hand it back if it failed).

onboardA

Start 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).

seed_starter_packA

Add a curated starter pack of companies and supplier/competitor links. Never overrides links research recorded.

next_mappingA

Lease the next onboarded company to map from its annual report. Until complete_mapping, links you record are marked as curator links.

complete_mappingA

Finish a leased mapping job (or hand it back if it failed).

recent_recordsA

List what the most recent research sessions recorded (claims, theses, relations, sources, ruled-out ideas), newest session first, with each session's id and whether each record can still be undone. Read-only. Use it when the user asks what Torus saved, then pass the session id and records to undo_records to revert the unwanted ones.

undo_recordsA

Revert 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.

whatifA

What if this happened? Which theses would it reach, through which links, and would it raise alerts. Records nothing.

thesis_memoB

Write 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.

open_explorerB

Write the interactive graph explorer HTML file (under TORUS_HOME/explorer.html) and open it in the user's browser.

thesis_weak_pointsA

Where 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.

track_thesisB

Put a thesis on the scorecard: its return against a benchmark from an entry price and date, in the direction of its stance.

scorecardB

How tracked theses have done against their benchmarks, their outcomes, and calibration: did the user's confidence match how often they were right?

set_thesis_outcomeA

Record whether a thesis turned out right, wrong or unclear (overrides the automatic outcome; used for calibration).

auditA

Health 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.

digestA

What 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_diffA

What changed in a section of a company's latest filing against the previous one of the same form: new, dropped and reworded sentences.

filing_textA

Read a company's SEC filing as text, by section, from EDGAR (cached). Long sections come in pages: pass next_offset back as offset.

Prompts

Interactive templates invoked by user choice

NameDescription
statusShow the state of the Torus research memory - theses at risk, recent changes, and research on a given company. Use when the user asks what Torus knows, what changed recently, or which theses need attention.
review_alertsReview open Torus alerts - new events (filings, news) that may affect existing investment theses - and record whether each supports, weakens or breaks the thesis. Use when the user asks to review alerts or asks which theses are affected by recent news.
onboardStart covering a list of companies with Torus - add them, watch their SEC filings, seed matching starter packs, and map their suppliers, customers and competitors from their annual reports. Use when the user shares a watchlist or portfolio, or asks Torus to start following some companies.
ingestRead a document into the Torus research graph - an SEC filing (by company and form), what changed since the previous filing, a web page, or a transcript or PDF - and record its key facts as sourced claims linked to existing theses. Use when the user shares a filing, transcript, report or link to add to Torus, or asks what changed in a company's latest 10-K or 10-Q.
whatifScenario analysis on the Torus research graph - which theses a hypothetical event (a fab outage, export rule, CEO exit, lost customer) would reach, through which supplier/customer/competitor links, and what it would mean for each. Use when the user asks "what happens to my theses if X".
challengeStress-test a Torus thesis - find its weakest assumptions, unwatched supplier/customer dependencies and opposing evidence, then propose risk claims and triggers for the user to approve. Use when the user asks to challenge, red-team, stress-test or poke holes in a thesis.
auditHealth check of the Torus research memory - find expired or thinly sourced assumptions, theses past their horizon or gone stale, claims that may conflict, and unconfirmed starter links, then fix them with the user. Use when the user asks whether their research is still current or trustworthy, or asks to audit their Torus graph.
scorecardTrack how the user's Torus theses have played out - returns against a benchmark in the direction of each thesis, drawdowns, right/wrong outcomes, and calibration (does their confidence match how often they're right). Use when the user asks how their calls did, or wants to track a thesis against a stock.
memoWrite a Torus thesis up as a shareable memo - the claims it rests on with sources and quotes, triggers, events and how they were judged, ruled-out ideas, scorecard and history - as Markdown and a standalone HTML page. Use when the user wants to share, export or write up a thesis.
undoShow what Torus recorded in recent research sessions and revert what the user doesn't want - wrong claims, a thesis recorded by mistake, a bad link. Use when the user says Torus recorded something wrong, asks to undo, or asks what was saved.
exploreOpen the Torus visual graph explorer - an interactive map of companies, supplier/customer/competitor links, theses, events and alerts - in the user's browser. Use when the user asks to see, visualise or map their research graph.
save_this_chatSave the research from the current conversation into the Torus graph - sources, atomic claims, supplier/customer/competitor links, theses and ruled-out ideas that weren't recorded yet. Use when the user asks to save, capture or distill this chat into Torus.

Resources

Contextual data attached and managed by the client

NameDescription
digest_resourceTheses at risk and what changed in the last 7 days.

TDQS

B3.4/5.0

Scored across 45 tools

Disambiguation4/5

Most tools target a clearly distinct resource+action (record_claim vs supersede_claim vs retract_claim, watch/unwatch/list_watches, next/complete pairs for jobs), and descriptions explicitly disambiguate near-neighbours like timeline vs what_changed vs recent_records. A few pairs still blur: whatif vs impact are both dry-run reaches, and brief vs recall vs digest all surface prior context, though the descriptions do differentiate them on close reading.

Naming Consistency3/5

There is a solid verb_noun family (record_claim, record_thesis, update_thesis, merge_entities, resolve_alert, complete_mapping) and consistent next_/complete_ job pairs, but it sits alongside many bare single-word tools (brief, recall, search, neighbors, timeline, impact, audit, digest) and noun-phrase tools (alert_stats, thesis_weak_points, filing_diff). The mixed style is readable and roughly maps verbs to mutations and nouns to read-only views, but it is not a single predictable convention.

Tool Count2/5

45 tools is far above the ergonomic range and puts heavy pressure on tool selection even with distinct descriptions. The domain is broad (graph research, alerting, job leasing, filings, memos, scorecard), so each tool is plausibly motivated, but the surface would benefit from consolidation or grouping.

Completeness4/5

Coverage is unusually thorough: full entity/claim/thesis/relation/evidence lifecycle, corrections with history, event-driven alerts, watchlist management, job leasing for distillation and mapping, memos, explorer export, scorecard and audit. Minor gaps exist — there is no direct get_thesis or list_theses retrieval tool, with thesis inspection routed through brief, recall, thesis_memo and update_thesis.

Maintenance

ActivityMaintained
ResponsivenessNo issues