Quick start
https://ta.tigzig.com/mcphttps://ta.tigzig.com/v1Documentation
The full reference. Every endpoint, every field, and every enforced limit with the message you get when you cross it. Rendered from the running service, so it is never a copy that can fall behind.
The machine contract for this API. The site-wide directory of every TigZig API is the RFC 9727 catalog at api.tigzig.com/.well-known/api-catalog.
What you can call
1 endpoint. Request bodies, every field and every enforced limit are in the full reference.
| POST | /v1/technical-analysis | Create Technical Analysis |
Overview
Connect the MCP server below to generate reports as a tool call.
A technical-analysis report generator over Yahoo Finance price data. Give it a symbol and it fetches daily and weekly history, computes EMAs, MACD, RSI and Bollinger Bands, charts them, has Google Gemini Vision interpret the charts in plain English, and returns a professional PDF and HTML report. Three ways in:
- REST -
POST /v1/technical-analysisfor any HTTP client. - MCP - the same report as an agent tool call (see below).
- Hosted UIs - a chat agent, a web form, and an Excel (xlwings Lite) front-end.
Price data comes from the companion Yahoo Finance API. PDF rendering is handled by the Markdown to PDF service.
MCP Server (for AI agents)
Connect an AI agent and let it generate a technical-analysis report directly. No auth. One endpoint:
https://ta.tigzig.com/mcp- Streamable HTTP, the recommended transport (MCP spec 2025-03-26).
Example prompt: "Analyze MSFT with RSI, MACD and Bollinger Bands for the past 6 months and give me a PDF report."
Add to Claude.ai: Settings -> Connectors -> Add custom connector -> paste the Streamable HTTP URL -> approve. The same URL works for Cursor, n8n, and any MCP client.
How it works
- Data - daily and weekly price history from the Yahoo Finance FastAPI service (
yfin-h.tigzig.com). - Indicators - EMAs, MACD, RSI, Bollinger Bands; custom chart generation per timeframe.
- Interpretation - the charts are read by a vision model, which turns them into plain-English market commentary. You choose the model (see below).
- Output - Markdown converted to PDF and HTML via the ReportLab service.
- FastAPI backend +
fastapi-mcp, Flask web UI, deployed on Coolify (Hetzner) behind Cloudflare.
Choosing a model
The optional model parameter picks which vision model reads the charts. Omit it and you get the default, which is the right call for most callers. Currently accepted, cheapest first:
google/gemini-2.5-flash-liteopenai/gpt-5.6-lunagoogle/gemini-3.1-flash-litegoogle/gemini-3-flash-previewanthropic/claude-haiku-4.5openai/gpt-5.6-terraanthropic/claude-sonnet-5
This list changes as models are added and retired, and a retired value returns a 400. The authoritative list is the model parameter description in the live OpenAPI spec - read it there rather than pinning a name from this page.
Guides
This page is the reference - what the endpoints are and how to call them. The guides below are the long-form versions, with worked examples and the edges you only meet in real use:
- Demystifying the API errors - what each error actually means and what to do about it, instead of guessing from a status code. Covers every TigZig API, not just this one.
- Your agents and scripts have been talking to me - what real callers actually do, read out of the server logs: the common mistakes, what works, and the patterns worth copying.
Each is a plain page with a Markdown twin, so you can hand a URL straight to an agent. Come back to this page when you want parameter-level detail.
Rate limits
Published so a well-behaved client can plan around them. These are per-IP limits:
- Per IP: 25 requests / day.
You get a 429 with Retry-After giving the exact seconds until your window resets - not a flat guess.
Avoiding 429s: This is a daily allowance, not a per-minute one, and it is small by design because every call runs a paid model. Check X-RateLimit-Remaining before starting a batch rather than discovering the ceiling mid-run.
Every successful response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset (Unix epoch seconds), read straight from the running limiter, and Retry-After is set on 429. The current numbers are also published as machine-readable JSON at https://ta.tigzig.com/v1/, derived from live config. Read those at runtime rather than hard-coding the figures above - limits change, and these channels change with them.
Try it
This API publishes no example in its spec, so there is nothing to copy here yet. The interactive console runs a real call against any endpoint, with the request filled in for you, without leaving the page.
Open-source edition
There is an open-source edition of this analysis API - an earlier release you can run as your own service or borrow components from. Treat it as a reference implementation rather than a mirror of what is running here: the hosted service has moved on since.
github.com/amararun/shared-fastapi-mcp-technical-analysis
Built on FastAPI, fastapi-mcp, a vision model for the chart read.
Companion services: the Yahoo Finance API for price data, and the Markdown to PDF server for report rendering.