CATALYST/EDGE
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.5' 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.5.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.5' catalyst-edge-mcp
# Get a dossier directly
uvx --from 'catalyst-edge-mcp==0.1.5' 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.5' 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. 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"},
"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"},
"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"},
"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
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file catalyst_edge_mcp-0.1.5.tar.gz.
File metadata
- Download URL: catalyst_edge_mcp-0.1.5.tar.gz
- Upload date:
- Size: 247.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
60896b6fbccb6a3f97458541e2203ffb514f936925fe14b10aecb3482bfa2885
|
|
| MD5 |
669ef4b73245dfd444b58e91aaa2f2bd
|
|
| BLAKE2b-256 |
298fc9fb59f80e29feb343121c29a0a9807a8d3837b5f6065c4f2e12c259de23
|
Provenance
The following attestation bundles were made for catalyst_edge_mcp-0.1.5.tar.gz:
Publisher:
publish-pypi.yml on rm0nroe/catalyst-edge-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
catalyst_edge_mcp-0.1.5.tar.gz -
Subject digest:
60896b6fbccb6a3f97458541e2203ffb514f936925fe14b10aecb3482bfa2885 - Sigstore transparency entry: 2371796430
- Sigstore integration time:
-
Permalink:
rm0nroe/catalyst-edge-mcp@bbcd578ae82d27bd570eb86642ff1a4a9d9d6259 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/rm0nroe
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@bbcd578ae82d27bd570eb86642ff1a4a9d9d6259 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file catalyst_edge_mcp-0.1.5-py3-none-any.whl.
File metadata
- Download URL: catalyst_edge_mcp-0.1.5-py3-none-any.whl
- Upload date:
- Size: 122.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
470d8c22f0c85b998ab1c95e68d58767055668a811111f881322107a50a08876
|
|
| MD5 |
b68030a0bb682cd06a5ce98dcca3190a
|
|
| BLAKE2b-256 |
bd57fb8e50ca2fa748202023ad8aa74488dc62396f4fc51ecfc9c27400453b1d
|
Provenance
The following attestation bundles were made for catalyst_edge_mcp-0.1.5-py3-none-any.whl:
Publisher:
publish-pypi.yml on rm0nroe/catalyst-edge-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
catalyst_edge_mcp-0.1.5-py3-none-any.whl -
Subject digest:
470d8c22f0c85b998ab1c95e68d58767055668a811111f881322107a50a08876 - Sigstore transparency entry: 2371796707
- Sigstore integration time:
-
Permalink:
rm0nroe/catalyst-edge-mcp@bbcd578ae82d27bd570eb86642ff1a4a9d9d6259 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/rm0nroe
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@bbcd578ae82d27bd570eb86642ff1a4a9d9d6259 -
Trigger Event:
workflow_dispatch
-
Statement type: