Skip to main content
Glama
jdguggs10
by jdguggs10
README.md
# Flaim Fantasy

[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
[![MCP Tools](https://img.shields.io/badge/MCP_Tools-11-green.svg)](https://api.flaim.app/mcp)
[![Chrome Web Store](https://img.shields.io/badge/Chrome_Extension-v1.5.2-yellow.svg)](https://chromewebstore.google.com/detail/flaim-espn-fantasy-connec/mbnokejgglkfgkeeenolgdpcnfakpbkn)

Connect your ESPN, Yahoo, and Sleeper leagues, then use Flaim Fantasy in ChatGPT or Claude for read-only analysis grounded in your real league. Advanced users can also add Flaim manually as a custom connector in compatible AI platforms.

Analysis tools are read-only by design. No trades, no drops, no roster changes — just advice. League refresh can update Flaim's connected-league records so newly available seasons show up.

## How It Works

The **Flaim skill** teaches your AI assistant how to behave like a fantasy analyst — which data to pull, how to interpret it, and how to turn it into useful advice. The **MCP tools** feed it your actual league data. Together, they give a general-purpose AI enough structure to answer like it knows your specific league.

## Get Started

1. **Create your Flaim account** at [flaim.app](https://flaim.app).
2. **Connect your fantasy leagues** — ESPN via [Chrome extension](https://chromewebstore.google.com/detail/flaim-espn-fantasy-connec/mbnokejgglkfgkeeenolgdpcnfakpbkn), Yahoo via Yahoo sign-in, or Sleeper by username. Flaim discovers supported leagues and shows them in [Your Leagues](https://flaim.app/leagues).
3. **Connect your AI app:** Open Flaim Fantasy in [ChatGPT](https://chatgpt.com/plugins/plugin_asdk_app_69a8f78087e081919e52cacacf00ff36) or [Claude](https://claude.ai/directory/connectors/f1a5b6a4-1f5b-470c-af23-71fc7ab13754), or follow the optional Perplexity custom-connector path in the [connection docs](docs/CONNECTOR-DOCS.md). Public setup docs live at [flaim.app/docs](https://flaim.app/docs).

You are done. Ask questions such as "Who should I start this week?" or "What's on the waiver wire?" Defaults and additional league management are optional after setup.

## The Skill

The Flaim skill teaches your AI assistant how to behave like a fantasy analyst — when to use which tools, how to interpret league data, and how to turn that context into useful advice.

**Install for Claude Code (or any Agent Skills-compatible tool):**

Place the skill in your project's `.agents/skills/` directory (cross-platform convention) or in `~/.agents/skills/` for global use:

```bash
# Clone or copy the skill directory
cp -r flaim/.agents/skills/flaim-fantasy ~/.agents/skills/flaim-fantasy
```

The AI will detect and activate the skill automatically when you ask fantasy questions.

## MCP Tools

| Tool | What it does |
|------|-------------|
| `get_user_session` | Your leagues across all platforms |
| `refresh_leagues` | Re-discover connected leagues and update Flaim's league records |
| `get_ancient_history` | Past seasons and historical leagues outside the current season |
| `get_league_info` | Baseline league context: settings, scoring, roster config, teams/owners |
| `get_draft` | Confirmed draft results and provider-grounded draft-pick ownership |
| `get_roster` | Team roster with player stats |
| `get_matchups` | Weekly matchups and scores |
| `get_standings` | League standings and rankings |
| `get_free_agents` | Available players with a normalized envelope; ESPN/Yahoo include platform-wide ownership percentages, Sleeper returns identities only |
| `get_players` | Player lookup; ESPN and Yahoo can add league ownership, Sleeper ownership is unavailable |
| `get_transactions` | Recent adds, drops, waivers, and trades |

All tools connect through a single MCP endpoint: `https://api.flaim.app/mcp`

## Supported Platforms

| Platform | Sports | Auth |
|----------|--------|------|
| **ESPN** | Football, Baseball, Basketball, Hockey | Chrome extension |
| **Yahoo** | Football, Baseball, Basketball, Hockey | OAuth 2.0 |
| **Sleeper** | Football, Basketball | Username (public API) |

## Architecture

```
Chrome Extension → flaim.app → Auth Worker → Supabase
                      ↓
ChatGPT / Claude / manual MCP clients → Fantasy MCP Gateway → ESPN/Yahoo/Sleeper Clients → Platform APIs
```

- **Web App (Next.js on Vercel)** — landing/site pages, public live demo, OAuth, league management
- **MCP Gateway (Cloudflare Workers)** — unified endpoint for all platforms and sports
- **Platform Clients (Cloudflare Workers)** — ESPN, Yahoo, Sleeper API normalization
- **Auth Worker (Cloudflare)** — token validation, rate limiting, credential storage
- **Supabase** — user data, OAuth tokens, credentials

## About

Solo indie project — built with care, maintained for the long term. No VC funding, no growth pressure, just a useful tool for fantasy sports fans who use AI.

## Development

```bash
git clone https://github.com/jdguggs10/flaim.git
cd flaim
corepack pnpm install
cp web/.env.example web/.env.local  # add keys
corepack pnpm run dev
```

Root, web, and workers use `pnpm` via Corepack. The Chrome extension is intentionally npm-isolated under `extension/` with its own lockfile and release flow.

| Document | Description |
|----------|-------------|
| [Architecture](docs/ARCHITECTURE.md) | System design, deployment, troubleshooting |
| [Changelog](docs/CHANGELOG.md) | Release history |
| [Connection Docs](docs/CONNECTOR-DOCS.md) | ChatGPT and Claude links plus optional custom-connector guidance (public version: [flaim.app/docs](https://flaim.app/docs)) |
| [Web App](web/README.md) | Next.js routes, components, environment |
| [Workers](workers/README.md) | Cloudflare Workers, MCP tools, ESPN API |
| [Extension](extension/README.md) | Chrome extension build, Sync Host, CWS |

## Getting Help

Best-effort support — I'll respond when I can.

- [GitHub Issues](https://github.com/jdguggs10/flaim/issues)
- [GitHub Discussions](https://github.com/jdguggs10/flaim/discussions)

## License

MIT License — see [LICENSE](LICENSE).