Thinchain

io.github.SnipMCPPublished by GitHub account SnipMCPv0.1.1Updated Oct 24, 2026

MCP server that sanitizes bad broker data and compresses options chains 95% for AI trading agents.

VerifiedSTDIODesktop onlyFinanceData & Analytics

Overview

AI-generated overview

Local MCP server that cleans and compresses broker options-chain data before it reaches an AI trading agent.

What you can do
  • Fetch a compressed options chain for a symbol and expiration, sliced to a strategy such as iron condor or straddle
  • Get a sanitized quote for a symbol, with ghost quotes, inverted spreads and bad values removed
  • Check circuit-breaker status and data-quality tier for a symbol and expiration
  • Sanitize, compress and gate raw broker output through hygiene rules, strategy slicing and anomaly thresholds
When to use it
Useful when an assistant works with options data from Tradier or Polygon and raw chains are too large or too noisy for the model's context. It suits strategy lookups such as iron condors or straddles and pre-trade checks on whether a chain is trustworthy.
Requirements
Runs locally as a Python package (pip install, or Docker via docker-compose). Needs broker API keys and base URLs configured in a .env file, including TRADIER_API_KEY and POLYGON_API_KEY, plus settings such as DEFAULT_BROKER and CACHE_TTL_SECONDS. Network access to the broker APIs is required.
Before you install
Requires live broker API credentials (TRADIER_API_KEY, POLYGON_API_KEY) stored in a local .env file. It only reads and reshapes market data, but its output feeds trading decisions, so sanitized or cached data can still be stale or incomplete. The README also advertises a paid managed cloud service.

Installation

In SourceWeft

  1. Open Thinchain in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

ThinChain

The catalytic converter between raw broker data and your AI trading agent.

Battle-tested. Sanitization logic extracted from a production options trading app. Handles every bad tick Tradier has thrown at us in production.

[ThinChain Demo]

☁️ Moving to production?

The open-source server runs locally with your own API keys. For hosted infrastructure with multi-broker failover, SLA guarantees, and webhook alerts — join the managed cloud waitlist.

The Problem

Tradier's MCP dumps 500-row JSON chains. One bad print can corrupt an agent's reasoning. ThinChain sanitizes, compresses, and circuit-breaks that data before it reaches your model.

Installation

bash
git clone https://github.com/snipmcp/thinchain.gitcd thinchainpip install -e ".[dev]"cp .env.example .env

Or with Docker:

bash
docker-compose up --build

Configuration

env
TRADIER_API_KEY=your_key_hereTRADIER_BASE_URL=https://api.tradier.com/v1POLYGON_API_KEY=your_key_herePOLYGON_BASE_URL=https://api.polygon.ioDEFAULT_BROKER=tradierCACHE_TTL_SECONDS=30LOG_LEVEL=INFO

Usage

Three example prompts to send to Claude (or any MCP-compatible agent):

  1. Use get_compressed_chain to get an iron condor setup on SPY expiring 2026-06-19
  2. Check if SPY options data is trustworthy before I place my trade
  3. Get me the ATM straddle strikes for AAPL expiring 2026-06-19

Run it in two terminals

bash
# Tab 1 — start the MCP serverpython -m thinchain.server
bash
# Tab 2 — call a tool from a Python shell or your MCP client# Tool signatures:#   get_compressed_chain(symbol, expiration, strategy="raw",#                        delta_range=None, broker="tradier")#   get_sanitized_quote(symbol, broker="tradier")#   get_circuit_status(symbol, expiration, broker="tradier")

How it works

Three layers between raw broker output and your model:

Broker API → [Sanitize] → [Compress] → [Circuit Break] → MCP Tool → AI Agent              hygiene     strategy      anomaly gate              rules       slicing       + cache
  • Sanitize: Drops ghost quotes (0.0/0.0), inverted spreads, NaN/empty/dash values, clamps deltas to [-1, 1], normalizes positive theta on long options, flags illiquid strikes.
  • Compress: Slices the chain to only the strikes relevant to your strategy (iron condor, straddle, etc.) — typically 95%+ token reduction.
  • Circuit Break: Four-tier data quality (clean / noisy / degraded / circuit_breaker_active). When >65% of rows are anomalous, refuses to serve stale data and falls back to last known-good cache.

Real numbers from a live SPY iron condor (2026-06-19 expiration)

RAW TRADIER PAYLOAD          THINCHAIN OUTPUT─────────────────────────────────────────────Rows:        482             Rows:        25Est tokens:  38,560          Est tokens:  2,000Token savings:               95%Anomalous rows removed:      217Data quality:                noisy → still safely served

ThinChain compresses 482 rows / 38,560 tokens down to 25 rows / 2,000 tokens — and flags 217 anomalous strikes (illiquid, ghost quotes, wide spreads) that would have polluted the agent's context.

Roadmap

  • Managed cloud tier (hosted, multi-tenant, webhook alerts)
  • Polygon connector hardening (live SIP feed)
  • Webhook alerts for circuit breaker trips

Contributing

PRs welcome. Run pytest before submitting.

Source: README.md at commit 9373301

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.1.1LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts