# How to integrate College football data MCP with Autogen

```json
{
  "title": "How to integrate College football data MCP with Autogen",
  "toolkit": "College football data",
  "toolkit_slug": "college_football_data",
  "framework": "AutoGen",
  "framework_slug": "autogen",
  "url": "https://composio.dev/toolkits/college_football_data/framework/autogen",
  "markdown_url": "https://composio.dev/toolkits/college_football_data/framework/autogen.md",
  "updated_at": "2026-05-12T10:07:13.308Z"
}
```

## Introduction

This guide walks you through connecting College football data to AutoGen using the Composio tool router. By the end, you'll have a working College football data agent that can show betting lines for this week's games, get tv schedule for sec games this weekend, list advanced box scores for ohio state through natural language commands.
This guide will help you understand how to give your AutoGen agent real control over a College football data account through Composio's College football data MCP server.
Before we dive in, let's take a quick look at the key ideas and tools involved.

## Also integrate College football data with

- [OpenAI Agents SDK](https://composio.dev/toolkits/college_football_data/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/college_football_data/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/college_football_data/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/college_football_data/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/college_football_data/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/college_football_data/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/college_football_data/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/college_football_data/framework/cli)
- [Google ADK](https://composio.dev/toolkits/college_football_data/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/college_football_data/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/college_football_data/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/college_football_data/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/college_football_data/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/college_football_data/framework/crew-ai)

## TL;DR

Here's what you'll learn:
- Get and set up your OpenAI and Composio API keys
- Install the required dependencies for Autogen and Composio
- Initialize Composio and create a Tool Router session for College football data
- Wire that MCP URL into Autogen using McpWorkbench and StreamableHttpServerParams
- Configure an Autogen AssistantAgent that can call College football data tools
- Run a live chat loop where you ask the agent to perform College football data operations

## What is AutoGen?

Autogen is a framework for building multi-agent conversational AI systems from Microsoft. It enables you to create agents that can collaborate, use tools, and maintain complex workflows.
Key features include:
- Multi-Agent Systems: Build collaborative agent workflows
- MCP Workbench: Native support for Model Context Protocol tools
- Streaming HTTP: Connect to external services through streamable HTTP
- AssistantAgent: Pre-built agent class for tool-using assistants

## What is the College football data MCP server, and what's possible with it?

The College football data MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your College Football Data account. It provides structured and secure access to comprehensive college football stats, schedules, advanced analytics, and recruiting data, so your agent can fetch game results, analyze team performance, retrieve broadcast info, and explore historical metrics on your behalf.
- Retrieve game schedules and results: Instantly fetch upcoming games, past scores, and matchup outcomes filtered by season, week, team, or conference.
- Analyze advanced team and player stats: Have your agent pull in-depth box scores, advanced metrics, and season-long analytics to compare team or player performance.
- Access media and broadcast information: Quickly get details on TV, radio, and streaming coverage for selected games, including broadcast schedules and platforms.
- Review team talent and recruiting rankings: Let your agent track composite team talent scores and recruiting class data across seasons for any program.
- Explore historical conference and division data: Effortlessly trace a team's conference membership history, division alignment, and related metadata over time.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `COLLEGE_FOOTBALL_DATA_ADVANCED_BOX_SCORE` | Advanced Box Score | Retrieves advanced analytics for a single college football game including: - Team metrics: PPA (Predicted Points Added), success rates, rushing efficiency, havoc rates, scoring opportunities - Player metrics: Usage rates by quarter and play type, individual PPA breakdowns - Game info: Teams, scores, win probabilities, excitement index Requires a valid gameId from Get Games and Results action. Returns detailed breakdown by quarter. |
| `COLLEGE_FOOTBALL_DATA_ADVANCED_GAME_STATS` | Advanced Game Stats | Tool to retrieve advanced team metrics at the game level. Use when detailed offensive and defensive metrics (success rates, explosiveness, havoc) are needed. |
| `COLLEGE_FOOTBALL_DATA_ADVANCED_SEASON_STATS_TEAM` | Advanced Season Stats by Team | Retrieve advanced season-level team statistics including PPA (Predicted Points Added), success rates, explosiveness, havoc metrics, and rushing/passing efficiency breakdowns. Use this for in-depth team performance analysis beyond basic stats. At least one of 'year' or 'team' must be provided. |
| `COLLEGE_FOOTBALL_DATA_BETTING_LINES` | Betting Lines | Tool to fetch betting lines and totals by game and provider. Use when you need current or historical betting line data filtered by specific criteria. |
| `COLLEGE_FOOTBALL_DATA_COMPOSITE_TEAM_TALENT` | Composite Team Talent | Fetches 247Sports composite team talent rankings for a given season. Returns a list of all FBS teams ranked by their composite talent score, which is based on aggregate recruit ratings. Higher scores indicate rosters with more highly-rated recruits. |
| `COLLEGE_FOOTBALL_DATA_CONFERENCE_MEMBERSHIPS_HISTORY` | Conference Memberships | Tool to retrieve current conference memberships for college football teams. Returns which teams belong to which conference, optionally filtered by conference. Use to find all teams in a specific conference or to see the current conference landscape. |
| `COLLEGE_FOOTBALL_DATA_DIVISIONS_BY_CONFERENCE` | Divisions by Conference | Tool to list FBS/FCS conference divisions with active years and metadata. Use after specifying an optional season year to filter active divisions. |
| `COLLEGE_FOOTBALL_DATA_GET_CONFERENCE_SP` | Get Conference SP+ Ratings | Retrieve aggregated historical conference SP+ (Success Rate + Points Per Play) ratings for college football conferences. Use this to get conference-level offensive, defensive, and special teams metrics aggregated from all teams in each conference. Filter by year to get specific season data, or by conference name to get historical ratings for a specific conference. |
| `COLLEGE_FOOTBALL_DATA_GET_DRIVE_DATA` | Get Drive Data | Retrieves college football drive-level data including offensive/defensive teams, yards gained, drive results (TD, PUNT, INT, etc.), time elapsed, and scoring information. Use to analyze drive efficiency, red zone performance, or game flow. Requires year; optionally filter by week, team, conference, or season type (regular/postseason). |
| `COLLEGE_FOOTBALL_DATA_GET_FIELD_GOAL_EXPECTED_POINTS` | Get Field Goal Expected Points | Retrieves field goal expected points values for various field positions and distances. Returns static model data showing expected points for field goal attempts based on distance. Useful for analyzing field goal decision-making and expected value calculations. |
| `COLLEGE_FOOTBALL_DATA_GET_FPI` | FPI Ratings | Retrieves historical Football Power Index (FPI) ratings for college football teams. FPI is ESPN's measure that predicts team strength and game outcomes. Use this to get team ratings, efficiency metrics, and resume rankings. Specify a year to get all teams' ratings for that season, or a team name to get historical ratings, or both for a specific team-season combination. |
| `COLLEGE_FOOTBALL_DATA_GET_GAME_HAVOC_STATS` | Get Game Havoc Stats | Tool to retrieve havoc statistics aggregated by game. Use when you need game-level havoc metrics including DB havoc rate, front seven havoc rate, and total havoc events for offense and defense. |
| `COLLEGE_FOOTBALL_DATA_GET_GAME_MEDIA` | Get Game Media | Retrieve broadcast information for college football games including TV channels, streaming platforms, and radio outlets. Use this to find where games are being broadcast. Returns information about the broadcaster/outlet, start time, and teams involved. Common use cases: - Find TV channel for a specific game: set year, week, and team - Get all broadcasts for a conference: set year and conference - Find streaming options: set mediaType='web' - Get bowl game broadcasts: set seasonType='postseason' |
| `COLLEGE_FOOTBALL_DATA_GET_GAMES_AND_RESULTS` | Get Games and Results | Tool to retrieve college American football games and results for a given season/week/team. Use when you need game schedules or outcomes filtered by specific criteria. Covers NCAA only; NFL and other sports return no data. Overly narrow filter combinations (e.g., mismatched `team` and `conference`) may yield zero results — relax filters if the response is empty. |
| `COLLEGE_FOOTBALL_DATA_GET_PLAYER_GAME_STATS` | Get Player Game Stats | Fetches detailed player statistics for college football games. Returns individual player stats (passing, rushing, receiving, defensive, kicking, etc.) organized by game and team. Use cases: - Get QB passing stats for a specific team's games - View rushing leaders for a conference in a given week - Analyze defensive stats for postseason games NOTE: Requires 'year' plus at least one of: 'week', 'team', or 'conference'. Use 'category' filter to limit results to specific stat types (recommended for faster responses). |
| `COLLEGE_FOOTBALL_DATA_GET_PLAYER_USAGE` | Get Player Usage | Retrieves player usage data for a given season. Returns usage percentages across different play situations (overall, passing, rushing, by down, etc.). Use this to analyze how frequently players are involved in plays, filtered by team, conference, position, or specific player. |
| `COLLEGE_FOOTBALL_DATA_GET_PLAY_TYPES` | Get Play Types | Tool to fetch all available play types. Use when you need a catalog of play types for filtering or referencing play data. |
| `COLLEGE_FOOTBALL_DATA_GET_PREDICTED_POINTS_ADDED_BY_TEAM` | Get Predicted Points Added By Team | Tool to retrieve historical team Predicted Points Added (PPA) metrics by season. Use when you need season-level PPA performance data for teams to analyze offensive and defensive efficiency across play types and down situations. |
| `COLLEGE_FOOTBALL_DATA_GET_PREGAME_WIN_PROBABILITIES` | Get Pregame Win Probabilities | Tool to retrieve pregame win probabilities for college football games. Use when you need predictive data about game outcomes before they are played, filtered by season, week, or team. |
| `COLLEGE_FOOTBALL_DATA_GET_RECRUITS` | Get Recruits | Retrieves player recruiting rankings from the College Football Data API. Returns detailed information about high school, prep school, and junior college recruits including star ratings, composite ratings, rankings, physical measurements, and commitment status. Use this action to analyze recruiting classes by year or team, compare recruits by position or location, or track where top prospects commit. At least one of year or team parameters must be provided. |
| `COLLEGE_FOOTBALL_DATA_GET_STATS_CATEGORIES` | Get Stats Categories | Tool to fetch all available team statistical categories. Use when you need to discover valid category names for statistical analysis or filtering team stats. |
| `COLLEGE_FOOTBALL_DATA_GET_TEAM_GAME_STATS` | Get Team Game Stats | Fetch team-level box score statistics for college football games. Returns detailed game stats including offense (rushing/passing yards, TDs, turnovers), defense (tackles, sacks, interceptions), and special teams (kick/punt returns) for each team. Use cases: - Get box scores for a specific team's games in a season - Compare team performance across conference games in a given week - Analyze offensive/defensive stats for a specific matchup Note: At least one of week, team, or conference must be provided to filter results. |
| `COLLEGE_FOOTBALL_DATA_GET_TEAM_RECRUITING_RANKINGS` | Get Team Recruiting Rankings | Retrieve team recruiting rankings from the College Football Data API. Returns composite recruiting rankings based on recruit star ratings and commitments. Use to compare recruiting success across teams or track a team's recruiting performance over time. |
| `COLLEGE_FOOTBALL_DATA_GET_TEAMS_ATS` | Get Teams ATS Records | Tool to retrieve against-the-spread (ATS) summary by team. Use when you need historical betting performance data showing how teams performed relative to point spreads. |
| `COLLEGE_FOOTBALL_DATA_GET_USER_INFO` | Get User Info | Retrieves information about the authenticated user from the College Football Data API. Returns the user's Patreon subscription level and remaining API calls for rate limit monitoring. Use this to check your current API quota and subscription status. |
| `COLLEGE_FOOTBALL_DATA_GET_WIN_PROBABILITY` | Get Win Probability | Tool to query play-by-play win probabilities for a specific game. Use when you need detailed probability metrics showing how win likelihood changed throughout the game. |
| `COLLEGE_FOOTBALL_DATA_LIST_COACHES_AND_HISTORY` | List Coaches and History | Tool to get coaching records and history. Use when you need coaches’ season-by-season data with optional filters. |
| `COLLEGE_FOOTBALL_DATA_LIST_CONFERENCES` | List Conferences | Retrieves all college football conferences from the College Football Data API. Returns conferences across all NCAA divisions (FBS, FCS, Division II, Division III). Use this to get conference IDs for filtering other API calls or to display conference information. No parameters required - returns the complete list of conferences. |
| `COLLEGE_FOOTBALL_DATA_LIST_FBS_TEAMS` | List FBS Teams | Tool to list FBS teams for a given season. Use after selecting the season year to retrieve all FBS teams. |
| `COLLEGE_FOOTBALL_DATA_LIST_FCS_TEAMS` | List FCS Teams | Tool to list FCS teams for a given season and conference. Use when you need a list of FCS programs filtered by season year and conference. |
| `COLLEGE_FOOTBALL_DATA_LIST_TEAMS` | List Teams | Retrieve a list of college football teams from the CFBD (College Football Data) API. Use this action to: - Get all college football teams (call with no parameters) - Get teams from a specific season (use year parameter) - Get teams from a specific conference (use conference parameter) - Combine filters to get conference teams for a specific season Returns team details including: name, mascot, abbreviation, conference, classification (FBS/FCS/D2/D3), team colors, logos, Twitter handle, and stadium/venue information. |
| `COLLEGE_FOOTBALL_DATA_LIST_VENUES_STADIUMS` | List Venues and Stadiums | Tool to list college football venues with metadata (name, capacity, location, etc.). Use when you need detailed venue information for a specific season. |
| `COLLEGE_FOOTBALL_DATA_NFL_DRAFT_PICKS` | NFL Draft Picks | Tool to list NFL Draft picks. Use when you need draft pick data by year, round, team, player, etc. |
| `COLLEGE_FOOTBALL_DATA_NFL_DRAFT_POSITIONS` | NFL Draft Positions | Retrieves the standardized list of NFL draft positions. Returns all position names and abbreviations used to classify players in NFL drafts. Useful for filtering draft picks by position or understanding position categories in draft analysis. No parameters required. |
| `COLLEGE_FOOTBALL_DATA_NFL_DRAFT_TEAMS` | NFL Draft Teams | Tool to list NFL teams used in draft endpoints. Use when preparing to retrieve NFL draft data by team. |
| `COLLEGE_FOOTBALL_DATA_PLAY_BY_PLAY_DATA` | Play-by-Play Data | Tool to fetch play-by-play data for college football games. Use when you need detailed play logs filtered by season, week, team, or game. |
| `COLLEGE_FOOTBALL_DATA_PLAY_STATS_PLAYER` | Play Stats Player | Fetch player-level statistics tied to individual plays. Returns detailed stats for each player's contribution to a play (rushes, receptions, completions, etc.). Use this when you need: - Play-by-play player statistics - Granular data on individual player performance per play - Analysis of a specific athlete's game contributions Note: Recommend filtering by year/week/team or gameId to limit result size. |
| `COLLEGE_FOOTBALL_DATA_PLAY_STAT_TYPES` | Play Stat Types | Tool to fetch all play-level stat type definitions. Use when you need a catalog of available play stat types for filtering or referencing. |
| `COLLEGE_FOOTBALL_DATA_PPA_PLAYER_BY_GAME_ACTION` | Player PPA by Game | Retrieve player-level PPA (Predicted Points Added) / EPA (Expected Points Added) stats for individual games. PPA measures how many points a player adds/subtracts compared to average performance on similar plays. Use this tool to analyze individual player contributions per game, filtered by season, week, team, or position. IMPORTANT: Either 'week' OR 'team' must be specified in the request. |
| `COLLEGE_FOOTBALL_DATA_PPA_PLAYER_BY_SEASON` | PPA Player By Season | Tool to fetch player-level PPA/EPA aggregated by season. Use when you need seasonal PPA metrics for specific players or groups after applying filters. |
| `COLLEGE_FOOTBALL_DATA_PPA_PREDICTED_POINTS_EP` | Predict Expected Points (EP) | Get expected points (EP) for all field positions given a specific down and distance scenario. Returns expected points values for yard lines 1-99, useful for analyzing game situations and fourth-down decisions. Common scenarios: 1st and 10, 3rd and short, 4th and goal. |
| `COLLEGE_FOOTBALL_DATA_PPA_TEAM_BY_GAME` | PPA Team By Game | Tool to retrieve team Predicted Points Added (PPA) by game. Use when you need team-level PPA metrics for games after filtering by season, week, team, or date. |
| `COLLEGE_FOOTBALL_DATA_RANKINGS_POLLS` | Rankings Polls | Retrieve college football poll rankings (AP Top 25, Coaches Poll, Playoff Committee, FCS, Division II/III). Returns weekly rankings including team rank, school name, conference, first-place votes, and points. Use this tool to look up historical or current poll standings for any season from 1900 to present. Required: year (e.g., 2023). Optional: season_type (regular/postseason), week number. |
| `COLLEGE_FOOTBALL_DATA_RATINGS_ELO` | Elo Ratings | Tool to retrieve Elo ratings for college football teams. Use when you need historical Elo ratings by season or for a specific team. |
| `COLLEGE_FOOTBALL_DATA_RATINGS_SP_PLUS` | SP+ Ratings | Retrieve SP+ (Success Rate + Points Per Play) team ratings for college football. SP+ is an advanced tempo- and opponent-adjusted measure of college football efficiency. Use this to get overall team ratings, offensive/defensive rankings, and special teams metrics. Specify a year to get all teams' ratings for that season, or a team name to get historical ratings across seasons, or both for a specific team-season combination. |
| `COLLEGE_FOOTBALL_DATA_RATINGS_SRS` | SRS Ratings | Retrieves Simple Rating System (SRS) team ratings. SRS measures team strength based on point differential adjusted for strength of schedule. Either year or team parameter must be provided. Use year to get all teams' ratings for a season, or team to get historical ratings for a specific team. |
| `COLLEGE_FOOTBALL_DATA_RECRUITING_GROUP_DICTIONARY` | Recruiting Group Dictionary | Retrieves aggregated college football recruiting data grouped by position. Use this tool to analyze recruiting performance by position group for specific teams or conferences. Returns composite ratings, star averages, and commit counts by position group (e.g., Quarterback, Receiver, Defensive Back). Useful for comparing recruiting strength across different positions or evaluating team/conference recruiting patterns. |
| `COLLEGE_FOOTBALL_DATA_RECRUITING_TRANSFER_PORTAL` | Recruiting Transfer Portal | Retrieves NCAA college football transfer portal entries for a given season. Returns player transfer information including origin school, destination school (if committed), position, star rating, transfer rating, transfer date, and eligibility status. Useful for tracking player movement between schools, analyzing transfer trends, and identifying key transfers. Data is available from 2021 onwards when the transfer portal became widely used. |
| `COLLEGE_FOOTBALL_DATA_RETURNING_PRODUCTION_TEAM` | Returning Production by Team | Tool to fetch Bill Connelly–style returning production splits by team and season. Use when evaluating returning offense, defense, and overall production for teams in a given season. |
| `COLLEGE_FOOTBALL_DATA_SEARCH_PLAYERS` | Search Players | Search for college football players by name. Returns top 100 results matching the search term. Use this action to find players by name and optionally filter by year, team, or position. |
| `COLLEGE_FOOTBALL_DATA_SEASON_STATS_PLAYER` | Season Stats Player | Fetch aggregated season statistics for college football players. Returns individual player stats by category (passing, rushing, receiving, defensive, kicking, etc.) for a specified year. Useful for comparing player performance across a season or filtering by team/conference. |
| `COLLEGE_FOOTBALL_DATA_SEASON_STATS_TEAM` | Season Team Stats | Tool to get basic season stats aggregated by team and season. Use when you need a summary of team-level statistics for a particular season. |
| `COLLEGE_FOOTBALL_DATA_SEASON_TYPES_DICTIONARY` | Season Types Dictionary | Retrieve the list of available season types for a specific college football year. Returns types like 'regular', 'postseason', and for certain years 'spring_regular', 'spring_postseason'. Use this to discover valid seasonType values to pass to other endpoints. |
| `COLLEGE_FOOTBALL_DATA_TEAM_MATCHUP_HISTORY` | Team Matchup History | Tool to retrieve head-to-head team matchup records over a date range. Use after selecting two FBS teams to compare their matchup history. |
| `COLLEGE_FOOTBALL_DATA_TEAM_RECORDS` | Get team season records | Retrieve college football team win-loss records for a specific season. Returns detailed breakdowns including total, conference, home, away, neutral site, regular season, and postseason records. Requires a year parameter. Optionally filter by team name, conference, division, or season type. |
| `COLLEGE_FOOTBALL_DATA_TEAM_ROSTER` | Get Team Roster | Fetches the roster for a college football team for a specific season. Returns player details including name, position, height, weight, jersey number, academic year, and hometown info. Use this to get player information for any FBS or FCS team from 2009 onwards. |

## Supported Triggers

None listed.

## Creating MCP Server - Stand-alone vs Composio SDK

The College football data MCP server is an implementation of the Model Context Protocol that connects your AI agents and assistants directly to College football data. Instead of manually wiring College football data APIs, OAuth, and scopes yourself, you get a structured, tool-based interface that an LLM can call safely.
With Composio's managed implementation, you don't have to create your own developer app. For production, if you're building an end product, we recommend using your own credentials. The managed server helps you prototype fast and go from 0-1 faster.

## Step-by-step Guide

### 1. Prerequisites

You will need:
- A Composio API key
- An OpenAI API key (used by Autogen's OpenAIChatCompletionClient)
- A College football data account you can connect to Composio
- Some basic familiarity with Autogen and Python async

### 1. Getting API Keys for OpenAI and Composio

OpenAI API Key
- Go to the [OpenAI dashboard](https://platform.openai.com/settings/organization/api-keys) and create an API key. You'll need credits to use the models, or you can connect to another model provider.
- Keep the API key safe.
Composio API Key
- Log in to the [Composio dashboard](https://dashboard.composio.dev?utm_source=toolkits&utm_medium=framework_docs).
- Navigate to your API settings and generate a new API key.
- Store this key securely as you'll need it for authentication.

### 2. Install dependencies

Install Composio, Autogen extensions, and dotenv.
What's happening:
- composio connects your agent to College football data via MCP
- autogen-agentchat provides the AssistantAgent class
- autogen-ext-openai provides the OpenAI model client
- autogen-ext-tools provides MCP workbench support
```bash
pip install composio python-dotenv
pip install autogen-agentchat autogen-ext-openai autogen-ext-tools
```

### 3. Set up environment variables

Create a .env file in your project folder.
What's happening:
- COMPOSIO_API_KEY is required to talk to Composio
- OPENAI_API_KEY is used by Autogen's OpenAI client
- USER_ID is how Composio identifies which user's College football data connections to use
```bash
COMPOSIO_API_KEY=your-composio-api-key
OPENAI_API_KEY=your-openai-api-key
USER_ID=your-user-identifier@example.com
```

### 4. Import dependencies and create Tool Router session

What's happening:
- load_dotenv() reads your .env file
- Composio(api_key=...) initializes the SDK
- create(...) creates a Tool Router session that exposes College football data tools
- session.mcp.url is the MCP endpoint that Autogen will connect to
```python
import asyncio
import os
from dotenv import load_dotenv
from composio import Composio

from autogen_agentchat.agents import AssistantAgent
from autogen_ext.models.openai import OpenAIChatCompletionClient
from autogen_ext.tools.mcp import McpWorkbench, StreamableHttpServerParams

load_dotenv()

async def main():
    # Initialize Composio and create a College football data session
    composio = Composio(api_key=os.getenv("COMPOSIO_API_KEY"))
    session = composio.create(
        user_id=os.getenv("USER_ID"),
        toolkits=["college_football_data"]
    )
    url = session.mcp.url
```

### 5. Configure MCP parameters for Autogen

Autogen expects parameters describing how to talk to the MCP server. That is what StreamableHttpServerParams is for.
What's happening:
- url points to the Tool Router MCP endpoint from Composio
- timeout is the HTTP timeout for requests
- sse_read_timeout controls how long to wait when streaming responses
- terminate_on_close=True cleans up the MCP server process when the workbench is closed
```python
# Configure MCP server parameters for Streamable HTTP
server_params = StreamableHttpServerParams(
    url=url,
    timeout=30.0,
    sse_read_timeout=300.0,
    terminate_on_close=True,
    headers={"x-api-key": os.getenv("COMPOSIO_API_KEY")}
)
```

### 6. Create the model client and agent

What's happening:
- OpenAIChatCompletionClient wraps the OpenAI model for Autogen
- McpWorkbench connects the agent to the MCP tools
- AssistantAgent is configured with the College football data tools from the workbench
```python
# Create model client
model_client = OpenAIChatCompletionClient(
    model="gpt-5",
    api_key=os.getenv("OPENAI_API_KEY")
)

# Use McpWorkbench as context manager
async with McpWorkbench(server_params) as workbench:
    # Create College football data assistant agent with MCP tools
    agent = AssistantAgent(
        name="college_football_data_assistant",
        description="An AI assistant that helps with College football data operations.",
        model_client=model_client,
        workbench=workbench,
        model_client_stream=True,
        max_tool_iterations=10
    )
```

### 7. Run the interactive chat loop

What's happening:
- The script prompts you in a loop with You:
- Autogen passes your input to the model, which decides which College football data tools to call via MCP
- agent.run_stream(...) yields streaming messages as the agent thinks and calls tools
- Typing exit, quit, or bye ends the loop
```python
print("Chat started! Type 'exit' or 'quit' to end the conversation.\n")
print("Ask any College football data related question or task to the agent.\n")

# Conversation loop
while True:
    user_input = input("You: ").strip()

    if user_input.lower() in ["exit", "quit", "bye"]:
        print("\nGoodbye!")
        break

    if not user_input:
        continue

    print("\nAgent is thinking...\n")

    # Run the agent with streaming
    try:
        response_text = ""
        async for message in agent.run_stream(task=user_input):
            if hasattr(message, "content") and message.content:
                response_text = message.content

        # Print the final response
        if response_text:
            print(f"Agent: {response_text}\n")
        else:
            print("Agent: I encountered an issue processing your request.\n")

    except Exception as e:
        print(f"Agent: Sorry, I encountered an error: {str(e)}\n")
```

## Complete Code

```python
import asyncio
import os
from dotenv import load_dotenv
from composio import Composio

from autogen_agentchat.agents import AssistantAgent
from autogen_ext.models.openai import OpenAIChatCompletionClient
from autogen_ext.tools.mcp import McpWorkbench, StreamableHttpServerParams

load_dotenv()

async def main():
    # Initialize Composio and create a College football data session
    composio = Composio(api_key=os.getenv("COMPOSIO_API_KEY"))
    session = composio.create(
        user_id=os.getenv("USER_ID"),
        toolkits=["college_football_data"]
    )
    url = session.mcp.url

    # Configure MCP server parameters for Streamable HTTP
    server_params = StreamableHttpServerParams(
        url=url,
        timeout=30.0,
        sse_read_timeout=300.0,
        terminate_on_close=True,
        headers={"x-api-key": os.getenv("COMPOSIO_API_KEY")}
    )

    # Create model client
    model_client = OpenAIChatCompletionClient(
        model="gpt-5",
        api_key=os.getenv("OPENAI_API_KEY")
    )

    # Use McpWorkbench as context manager
    async with McpWorkbench(server_params) as workbench:
        # Create College football data assistant agent with MCP tools
        agent = AssistantAgent(
            name="college_football_data_assistant",
            description="An AI assistant that helps with College football data operations.",
            model_client=model_client,
            workbench=workbench,
            model_client_stream=True,
            max_tool_iterations=10
        )

        print("Chat started! Type 'exit' or 'quit' to end the conversation.\n")
        print("Ask any College football data related question or task to the agent.\n")

        # Conversation loop
        while True:
            user_input = input("You: ").strip()

            if user_input.lower() in ['exit', 'quit', 'bye']:
                print("\nGoodbye!")
                break

            if not user_input:
                continue

            print("\nAgent is thinking...\n")

            # Run the agent with streaming
            try:
                response_text = ""
                async for message in agent.run_stream(task=user_input):
                    if hasattr(message, 'content') and message.content:
                        response_text = message.content

                # Print the final response
                if response_text:
                    print(f"Agent: {response_text}\n")
                else:
                    print("Agent: I encountered an issue processing your request.\n")

            except Exception as e:
                print(f"Agent: Sorry, I encountered an error: {str(e)}\n")

if __name__ == "__main__":
    asyncio.run(main())
```

## Conclusion

You now have an Autogen assistant wired into College football data through Composio's Tool Router and MCP. From here you can:
- Add more toolkits to the toolkits list, for example notion or hubspot
- Refine the agent description to point it at specific workflows
- Wrap this script behind a UI, Slack bot, or internal tool
Once the pattern is clear for College football data, you can reuse the same structure for other MCP-enabled apps with minimal code changes.

## How to build College football data MCP Agent with another framework

- [OpenAI Agents SDK](https://composio.dev/toolkits/college_football_data/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/college_football_data/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/college_football_data/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/college_football_data/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/college_football_data/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/college_football_data/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/college_football_data/framework/hermes-agent)
- [CLI](https://composio.dev/toolkits/college_football_data/framework/cli)
- [Google ADK](https://composio.dev/toolkits/college_football_data/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/college_football_data/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/college_football_data/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/college_football_data/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/college_football_data/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/college_football_data/framework/crew-ai)

## Related Toolkits

- [Excel](https://composio.dev/toolkits/excel) - Microsoft Excel is a robust spreadsheet application for organizing, analyzing, and visualizing data. It's the go-to tool for calculations, reporting, and flexible data management.
- [21risk](https://composio.dev/toolkits/_21risk) - 21RISK is a web app built for easy checklist, audit, and compliance management. It streamlines risk processes so teams can focus on what matters.
- [Abstract](https://composio.dev/toolkits/abstract) - Abstract provides a suite of APIs for automating data validation and enrichment tasks. It helps developers streamline workflows and ensure data quality with minimal effort.
- [Addressfinder](https://composio.dev/toolkits/addressfinder) - Addressfinder is a data quality platform for verifying addresses, emails, and phone numbers. It helps you ensure accurate customer and contact data every time.
- [Agentql](https://composio.dev/toolkits/agentql) - Agentql is a toolkit that connects AI agents to the web using a specialized query language. It enables structured web interaction and data extraction for smarter automations.
- [Agenty](https://composio.dev/toolkits/agenty) - Agenty is a web scraping and automation platform for extracting data and automating browser tasks—no coding needed. It streamlines data collection, monitoring, and repetitive online actions.
- [Ambee](https://composio.dev/toolkits/ambee) - Ambee is an environmental data platform providing real-time, hyperlocal APIs for air quality, weather, and pollen. Get precise environmental insights to power smarter decisions in your apps and workflows.
- [Ambient weather](https://composio.dev/toolkits/ambient_weather) - Ambient Weather is a platform for personal weather stations with a robust API for accessing local, real-time, and historical weather data. Get detailed environmental insights directly from your own sensors for smarter apps and automations.
- [Anonyflow](https://composio.dev/toolkits/anonyflow) - Anonyflow is a service for encryption-based data anonymization and secure data sharing. It helps organizations meet GDPR, CCPA, and HIPAA data privacy compliance requirements.
- [Api ninjas](https://composio.dev/toolkits/api_ninjas) - Api ninjas offers 120+ public APIs spanning categories like weather, finance, sports, and more. Developers use it to supercharge apps with real-time data and actionable endpoints.
- [Api sports](https://composio.dev/toolkits/api_sports) - Api sports is a comprehensive sports data platform covering 2,000+ competitions with live scores and 15+ years of stats. Instantly access up-to-date sports information for analysis, apps, or chatbots.
- [Apify](https://composio.dev/toolkits/apify) - Apify is a cloud platform for building, deploying, and managing web scraping and automation tools called Actors. It lets you automate data extraction and workflow tasks at scale—no infrastructure headaches.
- [Autom](https://composio.dev/toolkits/autom) - Autom is a lightning-fast search engine results data platform for Google, Bing, and Brave. Developers use it to access fresh, low-latency SERP data on demand.
- [Beaconchain](https://composio.dev/toolkits/beaconchain) - Beaconchain is a real-time analytics platform for Ethereum 2.0's Beacon Chain. It provides detailed insights into validators, blocks, and overall network performance.
- [Big data cloud](https://composio.dev/toolkits/big_data_cloud) - BigDataCloud provides APIs for geolocation, reverse geocoding, and address validation. Instantly access reliable location intelligence to enhance your applications and workflows.
- [Bigpicture io](https://composio.dev/toolkits/bigpicture_io) - BigPicture.io offers APIs for accessing detailed company and profile data. Instantly enrich your applications with up-to-date insights on 20M+ businesses.
- [Bitquery](https://composio.dev/toolkits/bitquery) - Bitquery is a blockchain data platform offering indexed, real-time, and historical data from 40+ blockchains via GraphQL APIs. Get unified, reliable access to complex on-chain data for analytics, trading, and research.
- [Brightdata](https://composio.dev/toolkits/brightdata) - Brightdata is a leading web data platform offering advanced scraping, SERP APIs, and anti-bot tools. It lets you collect public web data at scale, bypassing blocks and friction.
- [Builtwith](https://composio.dev/toolkits/builtwith) - BuiltWith is a web technology profiler that uncovers the technologies powering any website. Gain actionable insights into analytics, hosting, and content management stacks for smarter research and lead generation.
- [Byteforms](https://composio.dev/toolkits/byteforms) - Byteforms is an all-in-one platform for creating forms, managing submissions, and integrating data. It streamlines workflows by centralizing form data collection and automation.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and College football data MCP?

With a standalone College football data MCP server, the agents and LLMs can only access a fixed set of College football data tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from College football data and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with Autogen?

Yes, you can. Autogen fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right College football data tools.

### Can I manage the permissions and scopes for College football data while using Tool Router?

Yes, absolutely. You can configure which College football data scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your College football data data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
