Skip to main content

CATALYST/EDGE

Abstract source-linked evidence ledger

Source-linked market intelligence for AI agents.

Catalyst Edge is a local, read-only Model Context Protocol server for public-company research. Ask an agent what changed for a ticker, why it matters, what contradicts it, and which sources support the answer.

It combines direct SEC filings and ownership records with optional, policy-gated sources into a compact evidence dossier. Every result preserves its source links and missing-data warnings.

Local first. Evidence and configuration stay on your machine. Research only. The deterministic scorer is untrained and unbacktested; Catalyst Edge does not provide investment advice, trading signals, or execution.


Install

Catalyst Edge requires Python 3.10+ and uv. The SEC requires an identifiable User-Agent; use your organization and a monitored email address.

Codex

codex mcp add catalyst-edge \
  --env 'CATALYST_EDGE_SEC_USER_AGENT=YOUR_ORGANIZATION YOUR_EMAIL' \
  --env 'CATALYST_EDGE_EVIDENCE_STORE=/absolute/local/path/evidence.sqlite3' \
  -- uvx --from 'catalyst-edge-mcp==0.1.8' catalyst-edge-mcp

Start a fresh task and verify that Codex discovers these two tools:

Tool Use
catalyst_edge_score Return a compact catalyst-evidence dossier for a ticker.
catalyst_edge_claim_sources Page through the immutable source records behind a claim.

Claude Desktop

Download catalyst-edge-mcp-0.1.8.mcpb, then choose Settings → Extensions → Advanced settings → Install Extension…. Enter the same SEC identity when prompted. The extension is an unsigned custom bundle; review the source and published checksum before accepting Claude Desktop's warning.


Use

Ask your agent a focused research question, for example:

What changed for NVDA in the last 14 days? Include sources, missing evidence, and anything that would weaken the conclusion.

The primary tool accepts a ticker, a 1–90 day lookback, source inclusion, and a research context:

{
  "ticker": "NVDA",
  "lookback_days": 14,
  "include_sources": true,
  "include_raw_signals": false,
  "risk_mode": "research"
}

risk_mode also supports alert_triage and thesis_review. Ticker validation runs before any provider is composed; invalid inputs fail clearly rather than producing a partial score.

From a terminal

# Run the local stdio MCP server
uvx --from 'catalyst-edge-mcp==0.1.8' catalyst-edge-mcp

# Get a dossier directly
uvx --from 'catalyst-edge-mcp==0.1.8' catalyst-edge-score NVDA --lookback-days 14

What it uses

Evidence Default Notes
SEC filings and ownership records Enabled with CATALYST_EDGE_SEC_USER_AGENT Primary regulatory evidence.
GDELT Web NGrams discovery Enabled Attributed, cache-only discovery metadata; set CATALYST_EDGE_GDELT=disabled to opt out.
Issuer RSS/Atom feeds Disabled Enable explicitly with CATALYST_EDGE_ISSUER_FEEDS=enabled.
Bluesky public attention Disabled Enable explicitly with CATALYST_EDGE_BLUESKY=enabled; it is incomplete, neutral-only context.
Options, technicals, and sentiment Disabled Not composed without an approved, rights-cleared provider.

The default evidence store is local SQLite at ~/.local/state/catalyst-edge-mcp/evidence.sqlite3. Set CATALYST_EDGE_EVIDENCE_STORE to choose another local path.

Check local readiness

CATALYST_EDGE_SEC_USER_AGENT='YOUR_ORGANIZATION YOUR_EMAIL' \
uvx --from 'catalyst-edge-mcp==0.1.8' catalyst-edge-smoke NVDA --lookback-days 14

The smoke check reports sanitized configuration, provenance, coverage, and readiness status. It never prints credentials or provider payloads.


How to read a result

Each dossier includes a deterministic score, direction, confidence, source-linked evidence, missing or stale families, and next checks. research.disposition tells an agent whether to review the evidence now, monitor it, or report insufficient evidence; it prioritizes research only and is not a trade signal. model_status is always not_trained in this release. A neutral or no-data result is a valid answer: missing evidence is uncertainty, not bearish evidence.

Evidence is compact by design. Use catalyst_edge_claim_sources with a claim ID to retrieve its paginated source records, including canonical URLs, timestamps, hashes, parsers, and policy decisions.

{
  "ticker": "NVDA",
  "edge": {"score": 62, "direction": "bullish", "confidence": 0.69, "scoring_method": "deterministic_v1", "model_status": "not_trained"},
  "research": {"disposition": "review_now", "primary_claim_id": "clm_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", "supporting_claim_ids": [], "contradicting_claim_ids": [], "blocking_gaps": [], "next_action": "Open SEC accession 0001045810-26-000001 and review the filed item text and exhibits."},
  "data_quality": {"coverage": "partial", "missing_families": [], "warnings": ["Deterministic v1 scoring is not backtested."]}
}
{
  "ticker": "NVDA",
  "edge": {"score": 50, "direction": "neutral", "confidence": 0, "scoring_method": "deterministic_v1", "model_status": "not_trained"},
  "research": {"disposition": "monitor", "primary_claim_id": null, "supporting_claim_ids": [], "contradicting_claim_ids": [], "blocking_gaps": ["options_flow"], "next_action": "Check whether a sector-wide event explains the observation."},
  "data_quality": {"coverage": "none", "missing_families": ["options_flow"], "warnings": ["options_flow provider yfinance is private diagnostic only; no production evidence or coverage credit was granted."]}
}
{
  "ticker": "NVDA",
  "edge": {"score": 50, "direction": "neutral", "confidence": 0, "scoring_method": "deterministic_v1", "model_status": "not_trained"},
  "research": {"disposition": "insufficient_evidence", "primary_claim_id": null, "supporting_claim_ids": [], "contradicting_claim_ids": [], "blocking_gaps": ["filings_news", "insider_trading", "options_flow", "social", "technical"], "next_action": "Retry with lookback_days=30 to check a wider filing window."},
  "data_quality": {"coverage": "none", "missing_families": ["filings_news", "insider_trading", "options_flow", "social", "technical"], "warnings": ["No live evidence adapters are configured."]}
}

Privacy

Results and SQLite evidence remain on your machine. Ticker and issuer queries may be sent directly to whichever public-source providers you enable. The SEC identity is sent only to sec.gov as its required request User-Agent.

Read the Catalyst Edge Privacy Policy.


Build from source

uv sync --frozen --extra dev
uv run --frozen pytest
uv run --frozen ruff check .
uv build --no-sources --out-dir dist

Default tests are offline and use sanitized fixtures. The release workflow tests Python 3.10 and 3.14, MCP contracts, a clean build, and the packaged artifact.

License

MIT

Release files for catalyst-edge-mcp 0.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for catalyst-edge-mcp 0.1.8
File Size Uploaded
catalyst_edge_mcp-0.1.8.tar.gz 278.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for catalyst-edge-mcp 0.1.8
File Interpreter ABI Platform
catalyst_edge_mcp-0.1.8-py3-none-any.whl Python 3 none any Details

Total release size:438.2 kB

Release files / catalyst_edge_mcp-0.1.8.tar.gz

Download URL catalyst_edge_mcp-0.1.8.tar.gz
Size 278.0 kB
Tags Source
SHA-256 checksum
How to use checksums
4dedf584eaad5de1daa9da8609aab3cb80cbb881b772b170d3ad423a697ddc13
BLAKE2b-256 checksum
How to use checksums
3c34cfea76d55de8b21d53895e987f1c721edd3cbcc1a24b069fe24f69f7e04d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release files / catalyst_edge_mcp-0.1.8-py3-none-any.whl

Download URL catalyst_edge_mcp-0.1.8-py3-none-any.whl
Size 160.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7793492e5cc6106f1fbc1d3d8f9c723a9ee2891ab7ae153c64a7bdddf7d7abc6
BLAKE2b-256 checksum
How to use checksums
42ab34cb3532021778cb177dce106b5cd5b17d7548961cdf9af5a8aee2d93122
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.8 This release

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page