Best used with an AI agent

40+ live apps, open data APIs, MCP servers, and 200+ guides - more than anyone wants to click through. Point your AI here and it reads the whole map and does the work: finds the tool, pulls the data, runs the analysis, and hands you the links.

Here for the open-source code? Your agent finds the right repo for you - and can even clone and deploy it.

Prefer to explore on your own? Go right ahead.

Paste this to Claude Code, Codex, or any AI agent:
Go to tigzig.com and read tigzig.com/llms.txt. It is a practitioner toolkit - 40+ analytics apps, open no-auth data APIs, MCP servers, open-source repos (github.com/amararun), and 200+ build guides. Help me [your task]. Surface the exact links; where there is an API or MCP, call it directly; and if I want to self-host, find the repo and help me deploy it.
Two versions available: You are viewing the newer QREP MCP server, powered by the original QuantStats library by Ran Aroussi. The older version is built on the QuantStats-Lumi fork (Lumiwealth) and is also fully functional, available at QRep Portfolio Profiling.

MCP Server: QREP - Compare Securities

FastAPI backend with MCP endpoint for comparing up to 6 securities against a benchmark. Returns 81 QuantStats metrics per symbol.

Powered by QuantStats (the portfolio analytics library created by Ran Aroussi, also the creator of yfinance).
QREP App GitHub Repo

What This Server Does

#

MCP Endpoint: Compare Securities

  • Compare up to 6 symbols against a benchmark (default: SPY)
  • Returns 81 QuantStats metrics per symbol including CAGR, Sharpe, Sortino, Max Drawdown
  • Lightweight JSON response designed for LLM/MCP consumption
  • No API key required on the MCP endpoint

API Endpoints (Key Protected)

  • Single symbol analysis with full HTML report generation
  • Multi-symbol comparison with charts and CSV exports
  • Portfolio analysis with weighted allocations

Data Source

  • Yahoo Finance via yfinance - stocks, ETFs, metals, crypto
  • Flexible date ranges with configurable risk-free rate

MCP Configuration

#

Server URLs

https://qrep-api.tigzig.com/v1/mcp/http

Recommended - Streamable HTTP (newer MCP spec, 2025-03-26). Try this first with Claude.ai, Cursor, n8n.

https://qrep-api.tigzig.com/v1/mcp/sse

SSE transport (2024-11-05). Use if your client does not yet speak Streamable HTTP.

https://qrep-api.tigzig.com/mcp

Legacy SSE - original endpoint, kept for backward compatibility.

Available Tool

mcp_compare_securities

Compare securities against a benchmark with 81 QuantStats metrics each.

Parameters

symbols:         "AAPL,MSFT,GOOG"   (comma-separated, max 6)
benchmark:       "SPY"               (default)
start_date:      "2020-01-01"        (YYYY-MM-DD)
end_date:        "2025-12-31"        (YYYY-MM-DD)
risk_free_rate:  0.045               (decimal, optional)

Example Prompt

"Compare AAPL, MSFT and GOOG against SPY from 2020-01-01 to 2025-12-31"

How It Works

#
  • Built with FastAPI + fastapi-mcp package which exposes FastAPI endpoints as MCP tools
  • MCP endpoint is a GET at /mcp/compare - no API key needed
  • Uses the original ranaroussi/quantstats library for metric computation
  • Pulls price data from Yahoo Finance via yfinance
  • Rate limited (20/min per IP, 100/min global) with per-IP concurrency controls
  • Deployed on Coolify (Hetzner) with Cloudflare WAF and JS Challenge

How to Replicate

#

Clone the repo and deploy:

  1. Clone github.com/amararun/qrep-backend-fastapi
  2. Install dependencies: pip install -r requirements.txt
  3. Set environment variables (see .env.example in repo)
  4. Run: uvicorn main:app --host 0.0.0.0 --port 8000
  5. MCP endpoint available at http://localhost:8000/mcp

Key Environment Variables

QPULSE_API_KEY=your-key      # for /qpulse/* endpoints
BASE_URL=https://your-domain.com
RATE_LIMIT=20/minute

Resources

Bugs,issues,questions? Drop a note: [email protected]