Skip to main content
Glama
einreke

NFL Transactions MCP

by einreke
README.md
# NFL Transactions MCP

A Modular Command-line Program (MCP) for scraping NFL transaction data from ProSportsTransactions.com.

## Features

- Fetch NFL transactions with flexible filtering options:
  - Player/Coach/Executive movement (trades, free agent signings, draft picks, etc.)
  - Movements to/from injured reserve
  - Movements to and from minor leagues (NFL Europe)
  - Missed games due to injuries
  - Missed games due to personal reasons
  - Disciplinary actions (suspensions, fines, etc.)
  - Legal/Criminal incidents
- Filter by team, player, date range, and transaction type
- Output data in CSV, JSON, or DataFrame format
- List all NFL teams and transaction types

## Installation

```bash
# Clone the repository
git clone <repository-url>
cd nfl_transactions_mcp

# Install requirements
pip install -r requirements.txt
```

## Usage with Cursor

To use this MCP with Cursor, add the following configuration to your `.cursor/mcp.json` file:

```json
{
  "mcpServers": {
    "nfl-transactions": {
      "command": "python server.py",
      "env": {}
    }
  }
}
```

### Running the MCP Directly

```bash
# Run the MCP server via Cursor
cursor run-mcp nfl-transactions
```

## Available Tools

### 1. fetch_transactions

Fetches NFL transactions based on specified filters.

**Parameters:**
- `start_date` (required): Start date in YYYY-MM-DD format
- `end_date` (required): End date in YYYY-MM-DD format
- `transaction_type` (optional, default: "All"): Type of transaction to filter
- `team` (optional): Team name
- `player` (optional): Player name
- `output_format` (optional, default: "json"): Output format (csv, json, or dataframe)

**Example:**
```json
{
  "jsonrpc": "2.0",
  "method": "fetch_transactions",
  "params": {
    "start_date": "2023-01-01",
    "end_date": "2023-12-31",
    "transaction_type": "Injury",
    "team": "Patriots"
  },
  "id": 1
}
```

### 2. list_teams

Lists all NFL teams available for filtering.

**Example:**
```json
{
  "jsonrpc": "2.0",
  "method": "list_teams",
  "id": 2
}
```

### 3. list_transaction_types

Lists all transaction types available for filtering.

**Example:**
```json
{
  "jsonrpc": "2.0",
  "method": "list_transaction_types",
  "id": 3
}
```

## Integration with Super Agents

This MCP is designed to be easily integrated with AI agents or super agents. An agent can make JSON-RPC requests to interact with this MCP and retrieve NFL transaction data based on user queries.

Example agent integration:

```python
# Example of an agent calling the MCP
import json
import subprocess

def call_mcp(method, params=None):
    request = {
        "jsonrpc": "2.0",
        "method": method,
        "params": params or {},
        "id": 1
    }
    
    # Call the MCP via cursor
    cmd = ["cursor", "run-mcp", "nfl-transactions"]
    proc = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, text=True)
    
    # Send the request and get the response
    response, _ = proc.communicate(json.dumps(request))
    return json.loads(response)

# Example: Get Patriots injury transactions from 2023
result = call_mcp("fetch_transactions", {
    "start_date": "2023-01-01",
    "end_date": "2023-12-31",
    "transaction_type": "Injury",
    "team": "Patriots"
})

print(f"Found {len(result['data'])} transactions")
```

## License

[MIT License](LICENSE)