Sports Trading Card Agent

Created By
rjexile2 months ago
Real-time sports card pricing, market analysis, arbitrage detection, grading ROI, investment advice, and player stats (NBA/NFL/MLB). 9 tools for AI agents helping collectors and investors.
Overview

Sports Card Agent

An MCP server that gives AI agents expert-level sports trading card data. Covers pricing, market analysis, arbitrage detection, grading ROI, investment advice, player stats (NBA/NFL/MLB), vintage card analysis, and trending player alerts.

9 tools. 3 sports. 40+ vintage sets. Zero manual research.

Tools

Pricing & Market

ToolDescription
card_price_lookupReal-time sold and active prices from eBay. Supports any sport, brand, year, or grading.
card_market_analysisTrend analysis comparing sold vs asking prices. Detects arbitrage opportunities where cards are listed below market value.

Player Stats

ToolDescription
player_stats_lookupMulti-sport player stats (NBA/NFL/MLB) with card market insights based on performance.
nfl_stats_lookupNFL passing, rushing, receiving, and defensive stats with card market insights.
mlb_stats_lookupMLB batting (AVG, HR, RBI, OPS) and pitching (ERA, K, WHIP) stats with card insights.

Analysis & Strategy

ToolDescription
grading_roi_calculatorCalculates whether grading a card is profitable. Compares raw vs graded prices for PSA, BGS, and SGC with fee-adjusted ROI.
card_investment_advisorBuy/sell/hold recommendations combining market trends with player performance data across all 3 sports.
trending_playersIdentifies NBA players with breakout performances whose cards are likely rising in value.
vintage_card_analysisEra-specific analysis for pre-2000 cards. Covers 40+ iconic sets from 1909 T206 to 2000 Playoff Contenders with grade-based pricing.

Quick Start

Install from PyPI

pip install sports-card-agent

Run the server

sports-card-agent

Use with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "sports-card-agent": {
      "command": "sports-card-agent"
    }
  }
}

Use with Claude Code

Add to your .mcp.json:

{
  "mcpServers": {
    "sports-card-agent": {
      "command": "sports-card-agent"
    }
  }
}

Configuration

Create a .env file or set environment variables:

# eBay API (register free at developer.ebay.com)
EBAY_APP_ID=your_app_id
EBAY_CERT_ID=your_cert_id

# Ball Don't Lie API (register free at app.balldontlie.io)
BALLDONTLIE_API_KEY=your_api_key

The server works without API keys using mock data, so you can try it immediately.

Example Queries

Once connected, any AI agent can ask:

  • "What's a 2023 Topps Chrome Wembanyama rookie selling for?"
  • "Should I buy or sell my Patrick Mahomes rookie card?"
  • "Is it worth grading my 1986 Fleer Jordan?"
  • "Who are the trending NBA players whose cards are rising?"
  • "Analyze the market for Ken Griffey Jr 1989 Upper Deck rookie"
  • "What's the investment outlook on vintage 1952 Topps Mickey Mantle?"
  • "How is Shohei Ohtani performing this season and what does that mean for his cards?"

Sports & Sets Covered

Sports: Baseball, Basketball, Football, Hockey, Soccer

Player Stats: NBA (all teams), NFL (all positions), MLB (batting + pitching)

Vintage Sets Include: 1909 T206, 1933 Goudey, 1951 Bowman, 1952 Topps, 1954-55 Topps, 1958 Topps Football, 1961 Fleer Basketball, 1965 Topps Football, 1966 Topps Hockey, 1969 Topps, 1979 O-Pee-Chee, 1981 Topps Football, 1984 Topps Football, 1986 Fleer Basketball, 1986 Donruss, 1989 Upper Deck, 1993 SP, 1996 Topps Chrome, 1997 Metal Universe, 2000 Playoff Contenders, and more.

Grading Companies: PSA, BGS, SGC (all service tiers with current pricing)

Development

git clone https://github.com/rjexile/sports-card-agent.git
cd sports-card-agent
python -m venv venv
source venv/Scripts/activate  # Windows
pip install -e .
python test_all.py  # Run all 29 tests

License

MIT

Server Config

{
  "mcpServers": {
    "sports-trading-card-agent": {
      "command": "uvx",
      "args": [
        "sports-card-agent"
      ]
    }
  }
}
Project Info
Created At
2 months ago
Updated At
2 months ago
Author Name
rjexile
Star
-
Language
-
License
-
Category

Recommend Servers

View All
Meteomatics

a day ago
GovQL
@Alex Stout

# govql-mcp-server An MCP (Model Context Protocol) server for [GovQL](https://govql.us) — gives AI clients like Claude Desktop, Claude Code, and Cursor direct access to the US Congressional GraphQL API at [api.govql.us/graphql](https://api.govql.us/graphql) without bespoke HTTP wiring. For the design rationale (why FastMCP-Python, the passthrough+curated philosophy, roadmap through v0.4), see [design.md](https://github.com/govql/govql/blob/main/mcp-server/docs/design.md). ## What you can do with it Ask an agent questions like: - *"How did Vermont's two senators vote on the most recent nomination?"* - *"Which legislators in the 118th Congress switched parties during their service?"* - *"Compare Senator Sanders' voting record to Senator Murkowski's on cloture votes in the most recent Congress."* The agent picks the right tool, writes the GraphQL query against the live schema, and parses the response — no manual API wrangling. ## Install The server runs as a per-client subprocess over stdio. Pick your client: ### Claude Desktop Edit `claude_desktop_config.json` (Settings → Developer → Edit Config): ```json { "mcpServers": { "govql": { "command": "uvx", "args": ["govql-mcp-server"] } } } ``` Restart Claude Desktop. The `govql` tools appear in the tools panel. ### Claude Code Add to `.mcp.json` in your project (or `~/.mcp.json` for global): ```json { "mcpServers": { "govql": { "command": "uvx", "args": ["govql-mcp-server"] } } } ``` ### Cursor Settings → MCP → Add Server. Use the same `command` / `args` as above. ### Other clients Any MCP-compatible client that supports stdio servers will work. The command is `uvx govql-mcp-server` with no required arguments. ## Tools | Tool | Purpose | |---|---| | `execute_graphql` | Run any GraphQL query against the GovQL endpoint. Returns the result plus an `last_ingest` timestamp so the agent can reason about data freshness. | | `list_types` | Returns the names and kinds of every type in the GovQL schema. Optional `kind` filter (`"OBJECT"`, `"INPUT_OBJECT"`, `"ENUM"`, etc.) to narrow further. Start here when you don't know what's queryable. | | `describe_type` | Returns one type's full details — fields, arg signatures, input fields, enum values. Call after `list_types` to learn the shape of a specific type before writing a query. | ## Configuration All env vars are optional — the package is zero-config for end users. | Env var | Default | Purpose | |---|---|---| | `GOVQL_ENDPOINT` | `https://api.govql.us/graphql` | Endpoint to query. Override to point at a local dev stack. | | `GOVQL_TIMEOUT_MS` | `30000` | Per-request HTTP timeout. | | `LOG_LEVEL` | `INFO` | Logging level. Logs go to stderr only (stdout is reserved for the MCP transport). | ## Limits (enforced by the upstream API) - Max query depth: 10 - Max query complexity: ~10 billion points (`first: N` multiplies child cost by N — keep page sizes reasonable on deeply nested queries) - Rate limit: 100 requests / 60 s per source IP A depth or complexity violation surfaces as a GraphQL `errors` entry in the tool response so the agent can adjust and retry. ## Data freshness Every `execute_graphql` response includes a `last_ingest` ISO timestamp. Vote data refreshes hourly; legislator data refreshes daily. ## Status Version 0.1.0 ships three foundational tools: a GraphQL passthrough (`execute_graphql`) and two narrow schema-discovery tools (`list_types`, `describe_type`). Curated higher-level tools (`find_legislator`, `get_voting_record`, `compare_voters`, etc.) are planned for subsequent releases — see [design.md](https://github.com/govql/govql/blob/main/mcp-server/docs/design.md) for the roadmap. ## Links - [GovQL project site](https://govql.us) - [GraphQL API](https://api.govql.us/graphql) - [Source / issues](https://github.com/govql/govql)

19 hours ago