How to integrate Blackboard MCP with Autogen

This guide walks you through connecting Blackboard to AutoGen using the Composio tool router. By the end, you'll have a working Blackboard agent that can list all announcements for your course, create a new announcement in biology 101, get your grade details for chemistry 201 through natural language commands. This guide will help you understand how to give your AutoGen agent real control over a Blackboard account through Composio's Blackboard MCP server. Before we dive in, let's take a quick look at the key ideas and tools involved.

Blackboard logoBlackboard
Oauth2

Blackboard is a digital learning platform for higher education and schools, offering tools to manage courses, track engagement, and deliver interactive content. It helps institutions improve student outcomes through actionable analytics and in-app guidance.

314 Tools

Introduction

This guide walks you through connecting Blackboard to AutoGen using the Composio tool router. By the end, you'll have a working Blackboard agent that can list all announcements for your course, create a new announcement in biology 101, get your grade details for chemistry 201 through natural language commands.

This guide will help you understand how to give your AutoGen agent real control over a Blackboard account through Composio's Blackboard MCP server.

Before we dive in, let's take a quick look at the key ideas and tools involved.

Also integrate Blackboard with

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 Blackboard
  • Wire that MCP URL into Autogen using McpWorkbench and StreamableHttpServerParams
  • Configure an Autogen AssistantAgent that can call Blackboard tools
  • Run a live chat loop where you ask the agent to perform Blackboard 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 Blackboard MCP server, and what's possible with it?

The Blackboard MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Blackboard account. It provides structured and secure access to your institution’s course and gradebook data, enabling your agent to retrieve course info, manage announcements, copy courses, and interact with gradebooks on your behalf.

  • Automated course announcements management: Easily create new course announcements or retrieve existing ones, helping instructors keep students updated with important messages and reminders.
  • Personalized gradebook access and monitoring: Request up-to-date gradebook details for a specific student in any course, supporting grade reviews and academic tracking.
  • Efficient course duplication and setup: Ask your agent to copy courses with granular options or by course ID, streamlining semester rollovers or course template creation.
  • Course list retrieval and catalog integration: Fetch a structured list of all courses available in your Blackboard environment to power custom dashboards or sync with other systems.
  • File management in gradebook attempts: Attach uploaded files to student gradebook attempts, making it easier for instructors to manage and organize student submissions.

What is the Composio tool router, and how does it fit here?

What is Composio SDK?

Composio's Composio SDK helps agents find the right tools for a task at runtime. You can plug in multiple toolkits (like Gmail, HubSpot, and GitHub), and the agent will identify the relevant app and action to complete multi-step workflows. This can reduce token usage and improve the reliability of tool calls. Read more here: Getting started with Composio SDK

The tool router generates a secure MCP URL that your agents can access to perform actions.

How the Composio SDK works

The Composio SDK follows a three-phase workflow:

  1. Discovery: Searches for tools matching your task and returns relevant toolkits with their details.
  2. Authentication: Checks for active connections. If missing, creates an auth config and returns a connection URL via Auth Link.
  3. Execution: Executes the action using the authenticated connection.

Step-by-step Guide

Step by step08 STEPS
1

Prerequisites

You will need:

  • A Composio API key
  • An OpenAI API key (used by Autogen's OpenAIChatCompletionClient)
  • A Blackboard account you can connect to Composio
  • Some basic familiarity with Autogen and Python async
2

Getting API Keys for OpenAI and Composio

OpenAI API Key
  • Go to the OpenAI dashboard 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.
  • Navigate to your API settings and generate a new API key.
  • Store this key securely as you'll need it for authentication.
3

Install dependencies

bash
pip install composio python-dotenv
pip install autogen-agentchat autogen-ext-openai autogen-ext-tools

Install Composio, Autogen extensions, and dotenv.

What's happening:

  • composio connects your agent to Blackboard via MCP
  • autogen-agentchat provides the AssistantAgent class
  • autogen-ext-openai provides the OpenAI model client
  • autogen-ext-tools provides MCP workbench support

4

Set up environment variables

bash
COMPOSIO_API_KEY=your-composio-api-key
OPENAI_API_KEY=your-openai-api-key
USER_ID=your-user-identifier@example.com

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 Blackboard connections to use
5

Import dependencies and create Tool Router session

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 Blackboard session
    composio = Composio(api_key=os.getenv("COMPOSIO_API_KEY"))
    session = composio.create(
        user_id=os.getenv("USER_ID"),
        toolkits=["blackboard"]
    )
    url = session.mcp.url
What's happening:
  • load_dotenv() reads your .env file
  • Composio(api_key=...) initializes the SDK
  • create(...) creates a Tool Router session that exposes Blackboard tools
  • session.mcp.url is the MCP endpoint that Autogen will connect to
6

Configure MCP parameters for Autogen

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")}
)

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
7

Create the model client and agent

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 Blackboard assistant agent with MCP tools
    agent = AssistantAgent(
        name="blackboard_assistant",
        description="An AI assistant that helps with Blackboard operations.",
        model_client=model_client,
        workbench=workbench,
        model_client_stream=True,
        max_tool_iterations=10
    )

What's happening:

  • OpenAIChatCompletionClient wraps the OpenAI model for Autogen
  • McpWorkbench connects the agent to the MCP tools
  • AssistantAgent is configured with the Blackboard tools from the workbench
8

Run the interactive chat loop

python
print("Chat started! Type 'exit' or 'quit' to end the conversation.\n")
print("Ask any Blackboard 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")
What's happening:
  • The script prompts you in a loop with You:
  • Autogen passes your input to the model, which decides which Blackboard 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

Complete Code

Here's the complete code to get you started with Blackboard and AutoGen:

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 Blackboard session
    composio = Composio(api_key=os.getenv("COMPOSIO_API_KEY"))
    session = composio.create(
        user_id=os.getenv("USER_ID"),
        toolkits=["blackboard"]
    )
    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 Blackboard assistant agent with MCP tools
        agent = AssistantAgent(
            name="blackboard_assistant",
            description="An AI assistant that helps with Blackboard 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 Blackboard 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 Blackboard 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 Blackboard, you can reuse the same structure for other MCP-enabled apps with minimal code changes.
TOOLS

Supported Tools

Every Blackboard action and event your agent gets out of the box.

Course Announcements Access

Retrieves a list of announcements for a specific course in the Blackboard learning management system.

Get course announcement by id

Retrieves a specific announcement from a particular course in the Blackboard Learn system.

Update child course in parent

This endpoint updates the relationship between a parent course and its child course in the Blackboard Learning Management System.

Upload file to attempt in gradebook

This endpoint allows for the upload and attachment of files to a specific attempt within a course's gradebook in the Blackboard learning management system.

Get oauth2 authorization code

Initiates the OAuth 2.

Get user gradebook for course

Retrieves the gradebook information for a specific user within a particular course in Blackboard.

Copy course with specific options

The CourseCopyTool allows you to create a copy of a Blackboard course with fine-grained control over which elements are included in the copy.

Copy course by courseid

This endpoint creates a copy of an existing course in the Blackboard learning management system.

Create course announcement

Creates a new announcement within a specified course in the Blackboard learning management system.

Retrieve course list

Retrieves a list of courses from the Blackboard Learn platform.

Course endpoint entitlement access

Retrieves detailed information about a specific course in the Blackboard Learn platform using its unique identifier.

Retrieve course details by id

Retrieves detailed information about a specific course in the Blackboard Learning Management System.

Create course group

Creates a new group within a specified course in the Blackboard Learn system.

Update group details by course and group id

Updates the properties of a specific group within a Blackboard Learn course.

Update course information by courseid

The PatchCourse endpoint allows for updating specific details and settings of an existing course in the Blackboard Learn system.

Update course information

Updates an existing course in the Blackboard Learn system.

Delete course by courseid

Deletes a specific course from the Blackboard Learn platform.

Create a class course

Creates a new course in the Blackboard Learn system with specified settings and configurations.

Delete user from course

Removes a specific user from a particular course in the Blackboard learning management system.

Update user criterion in adaptive rule

This endpoint updates a user-specific criterion within an adaptive release rule for a particular content item in a Blackboard course.

Create adaptive release criteria by rule

This endpoint allows for the creation of new adaptive release criteria for a specific rule within a course's content in Blackboard.

Create system announcement

Creates a new system-wide announcement in the Blackboard Learn environment.

Create assignment in course contents

Creates a new assignment within a specified Blackboard course.

Update user meeting attendance status

Adds a user to a specific meeting within a Blackboard course and sets their attendance status.

Create calendar items

This endpoint creates a new calendar item in the Blackboard platform.

Add catalog category by type

Creates a new category in the Blackboard catalog system.

Create child content in course

Creates a new content item within a specified course and parent content in the Blackboard Learn platform.

Add child node in hierarchy

Creates a new child node within the institutional hierarchy of Blackboard Learn.

Submit gradebook attempt

Creates a new attempt for a specific gradebook column in a Blackboard course.

Post group attempts for gradebook column

The CreateGroupAttempt endpoint allows for the creation or update of a group attempt for a specific gradebook column in a Blackboard Learn course.

Create course content in course

Creates new content within a specified Blackboard course.

Update content group association

This endpoint updates the association between a specific content item and a group within a Blackboard Learn course.

Create a new course

Creates a new course in the Blackboard Learn system with specified attributes and settings.

Create course meeting

Creates a new meeting for a specific course within the Blackboard learning management system.

Create data source with external id

Creates a new data source in the Blackboard Learn system.

Create discussion forum in course

Creates a new discussion forum within a specified course in the Blackboard Learning Management System.

Create lti domain configuration

Creates or updates an LTI (Learning Tools Interoperability) domain configuration in Blackboard Learn.

Add course content attachment

Adds an attachment to a specific content item within a Blackboard Learn course.

Add new gradebook column for course

Creates a new grade column in a course's gradebook within the Blackboard Learn platform.

Post grade notation to course gradebook

Creates a new grade notation in the gradebook for a specific course in Blackboard.

Create course gradebook schema

Creates a new gradebook schema for a specific course in Blackboard Learn.

Create grading period in course gradebook

Creates a new grading period within a specific course's gradebook in the Blackboard Learn system.

Create course group in course

Creates a new group within a specified course in the Blackboard learning management system.

Update user in course group

This endpoint updates a user's information within a specific group in a Blackboard course.

Modify course content adaptive release group criteria

This endpoint updates the criteria for a specific group within an adaptive release rule for a particular content item in a Blackboard course.

Create group set

Creates a new group set within a specified course in the Blackboard Learn platform.

Create group in course

Creates a new group within a specified course group set in the Blackboard Learn platform.

Update course category details

This endpoint updates an existing course within a specific category in the Blackboard catalog.

Post course message with bbml support

Creates a new message within a specific Blackboard course.

Post discussion message reply

Creates a reply to a specific message within a Blackboard course discussion.

Create institutional hierarchy node

Creates a new node in the institutional hierarchy of Blackboard.

Update course primary node association

This endpoint updates the association between a specific course and a node in the Blackboard institutional hierarchy.

Update institutional hierarchy user node

Updates a user's information or association within a specific node of the institutional hierarchy in Blackboard.

Update user observer

Updates the observer relationship between a user and an observer in the Blackboard Learn platform.

Create new lti placement

Creates a new LTI (Learning Tools Interoperability) placement in the Blackboard Learn system.

Post pronouns details

Creates a new pronoun entry in the Blackboard Learning Management System.

Post course assessment question

This endpoint creates a new question within an existing Blackboard assessment.

Create course rubric with details

Creates a new rubric for a specific course in Blackboard Learn.

Create rubric association in course

Creates a new association between a rubric and a specific course content item in the Blackboard learning management system.

Create rubric evaluation for course

Creates or updates a rubric evaluation for a specific course, rubric, and rubric association in the Blackboard Learn platform.

Add adaptive release rule to course content

Creates a new adaptive release rule for a specific content item within a Blackboard course.

Create term with availability and description

Creates a new term in the Blackboard Learn system with the specified attributes.

Create new user profile

Creates a new user account in the Blackboard Learn system with detailed profile information.

Delete user criterion from course content rule

Removes a specific user from an adaptive release rule criterion for a particular content item within a course.

Delete adaptive release rule criterion

Deletes a specific criterion from an adaptive release rule for a content item within a Blackboard course.

Delete user course meetings

Deletes all meeting attendance records for a specific user within a particular course in the Blackboard system.

Delete course meeting

Deletes all meetings associated with a specific course in the Blackboard Learn platform.

Delete all records in meeting

Deletes all attendance records in the course meeting for a given meeting Id.

Delete announcement by id

Deletes a specific announcement from the Blackboard Learning Management System (LMS) using its unique identifier.

Delete gradebook attempt file

Deletes a specific file associated with an attempt in a course's gradebook within the Blackboard Learn environment.

Delete attendance record

Delete attendance record for meeting.

Delete calendar item by type and id

This endpoint deletes a specific calendar item from the Blackboard Learn system.

Delete category by type and id

This endpoint deletes a specific category from the Blackboard catalog based on the provided category type and ID.

Delete course content by id

Deletes a specific content item from a course in the Blackboard learning management system.

Delete course content group by id

This endpoint deletes a specific group associated with a content item within a Blackboard course.

Delete course by id

Deletes a specific course from the Blackboard learning management system.

Delete course meeting

This endpoint deletes a specific meeting within a course in the Blackboard learning management system.

Delete data source by id

Deletes a specific data source from the Blackboard Learn platform.

Delete lti domain by id

Deletes a specific LTI (Learning Tools Interoperability) domain from the Blackboard learning management system.

Delete course content attachment

Deletes a specific attachment from a content item within a course in Blackboard Learn.

Delete gradebook column by id

Deletes a specific gradebook column from a course in the Blackboard Learn system.

Delete course grade notation by id

Deletes a specific grade notation from a course's gradebook in Blackboard Learn.

Delete gradebook period by course id

Deletes a specific gradebook period from a course in the Blackboard Learning Management System.

Delete course group by ids

This endpoint deletes a specific group from a course in the Blackboard learning management system.

Delete user from course group

Removes a specific user from a particular group within a course in the Blackboard learning management system.

Delete course content adaptive release rule

Removes a specific group from a criterion within an adaptive release rule for a particular content item in a Blackboard course.

Delete group set in course

This endpoint deletes a specific group set within a course in the Blackboard learning management system.

Delete course from category list

Removes a specific course from a designated category within the Blackboard Learning Management System (LMS) catalog.

Delete course message by id

This endpoint deletes a specific message within a course in the Blackboard learning management system.

Delete institutional hierarchy node by nodeid

Deletes a specific node from the institutional hierarchy in Blackboard Learn.

Delete institution node admin

Removes an administrator's access from a specific node in the institutional hierarchy of Blackboard Learn.

Delete specific course node

Removes a specific course from a designated node in the institutional hierarchy of Blackboard Learn.

Delete user from institutional node

This endpoint removes a specified user from a particular node within the Institutional Hierarchy of Blackboard Learn.

Delete user observer

This endpoint removes a specific observer from a user's list of observers in the Blackboard learning management system.

Delete lt i placement by id

This endpoint deletes a specific Learning Tools Interoperability (LTI) placement from the Blackboard Learn platform.

Delete pronoun by id

Deletes a specific pronoun setting from the Blackboard learning management system.

Delete course assessment question

Deletes a specific question from an assessment within a Blackboard course.

Delete course rubric

Deletes a specific rubric associated with a given course in the Blackboard Learn system.

Delete rubric association

Deletes a specific rubric association within a course in the Blackboard Learn platform.

Delete term by termid

The DeleteTerm endpoint removes a specific academic term from the Blackboard learning management system.

Delete user by id

This endpoint permanently deletes a user account from the Blackboard Learn platform.

Delete user from course meetings

This endpoint removes a user from a meeting within a specific course in the Blackboard learning management system.

Delete group in course

This endpoint deletes a specific group within a course in the Blackboard Learning Management System.

Get gradebook column details

Retrieves detailed information about a specific gradebook column for a particular course in the Blackboard learning management system.

Download course content attachment

Downloads a specific attachment from a course's content in the Blackboard learning management system.

Update user grade details by course

Updates a specific user's grade information within a course's gradebook column in the Blackboard learning management system.

Enroll Course With Permissions

Updates a user's enrollment details in a specific Blackboard Learn course.

Fetch course category by id

Retrieves a list of categories for a specific course within the Blackboard learning management system.

Retrieve rubric evaluation by association

Retrieves the evaluations associated with a specific rubric for a particular course and rubric association in the Blackboard learning management system.

Fetch rubric evaluation for group attempt column

Retrieves the rubric evaluations for a specific group attempt within a gradebook column of a Blackboard course.

Retrieve user grades for course column

Retrieves the grades for all users associated with a specific gradebook column in a particular Blackboard course.

Get course meeting download url

Retrieves a download URL for meeting-related resources within a specific Blackboard course.

Fetch learning session data

Retrieves a list of active sessions from the Blackboard Learn platform.

Get course content adaptive release group criteria

Retrieves the groups associated with a specific criterion of an adaptive release rule for a particular content item within a Blackboard course.

Fetch user criteria from course content rule

Retrieves a list of users who meet a specific criterion within an adaptive release rule for a particular content item in a Blackboard Learn course.

Retrieve course content adaptive release rule criterion

Retrieves detailed information about a specific criterion within an adaptive release rule for a particular content item in a Blackboard Learn course.

Get announcement by id

Retrieves a specific announcement from the Blackboard Learn platform using its unique identifier.

List announcements

Retrieves a list of announcements from the Blackboard Learn platform.

Retrieve course attempt file

Retrieves a specific file associated with a student's attempt in a course's gradebook within the Blackboard Learn system.

Fetch gradebook attempt files

Retrieves the files associated with a specific gradebook attempt for a given course in the Blackboard learning management system.

Retrieve attempt receipt by id

Retrieves detailed information about a specific attempt receipt in the Blackboard learning management system.

Get attendance record

Returns a Course Meeting Attendance information for the given meeting and user Id.

Get attendance records by meeting id

Returns a list of Course Meeting Attendance for a given meeting id.

Retrieve user meetings in course

Retrieves detailed information about a specific user's participation or engagement in meetings for a particular course within the Blackboard learning management system.

Fetch calendar item by type and id

Retrieves detailed information about a specific calendar item from the Blackboard learning management system.

Get calendar items

Retrieves calendar items from the Blackboard Learn platform.

Get calendars

Get the list of calendars.

Retrieve category type details

Retrieves a list of categories from the Blackboard catalog based on the specified category type.

Fetch category details by id

Retrieves detailed information about a specific category in the Blackboard catalog system.

Retrieve course child details

Retrieves detailed information about a specific child course within a parent course in the Blackboard Learn platform.

Retrieve catalog category children

Retrieves the child categories of a specified parent category within the Blackboard catalog system.

Retrieve children goals by id

Retrieves the child elements (sub-goals, tasks, or related items) of a specified goal in the Blackboard learning management system.

Retrieve grade attempt by course and column id

Retrieves detailed information about a specific attempt for a gradebook column within a course in the Blackboard Learn system.

Retrieve gradebook attempts

Retrieves attempt data for a specific gradebook column within a course in the Blackboard Learn platform.

Retrieve user gradebook column

Retrieves a specific user's grade for a particular gradebook column in a Blackboard course.

Get last changed grade column for user

Retrieves information about the last changes made to a specific gradebook column for a particular course in Blackboard.

List gradebook columns for users

Retrieves user data associated with a specific gradebook column for a given course in Blackboard.

Get course gradebook group attempts

Retrieves group attempts data for a specific gradebook column within a course in Blackboard Learn.

Retrieve course content by ids

Retrieves specific content within a Blackboard course using the course ID and content ID.

Retrieve course content children

Retrieves a list of child content items for a specific content within a Blackboard Learn course.

Retrieve contentcollection resource

Retrieves a specific resource from a content collection in Blackboard Learn.

Get course content group details

Retrieves detailed information about a specific group within a content item of a course in the Blackboard Learn platform.

Retrieve course content groups

Retrieves the groups associated with a specific content item within a Blackboard course.

Retrieve course contents

Retrieves the contents of a specific course in the Blackboard Learn platform.

Retrieve course details

Retrieves detailed information about a specific course in the Blackboard Learn system.

List child courses for a given course

Retrieves a list of child courses or sub-courses associated with a specified parent course in the Blackboard Learn platform.

Get Course Column Logs

Retrieves the log entries for a specific gradebook column within a Blackboard course.

Retrieve course alignments by id

Retrieves the course goal alignments for a specified course in Blackboard.

Get course gradebook logs

Retrieves the gradebook logs for a specific course in the Blackboard learning management system.

Get course meeting details

Retrieves detailed information about a specific meeting within a course in the Blackboard learning management system.

Get course meetings

Retrieves a list of meetings associated with a specific course in the Blackboard learning management system.

Retrieve users from course

Retrieves a list of users enrolled in a specific course within the Blackboard learning management system.

Get course resource

Retrieves a specific resource from a particular course within the Blackboard learning management system.

Get course resource children

Retrieves a list of child resources associated with a specific resource within a Blackboard course.

Retrieve course role by role id

Retrieves detailed information about a specific course role in Blackboard Learn using its unique identifier.

Fetch course roles information

Retrieves a list of available course roles in the Blackboard Learn system.

List courses

Retrieves a list of courses from the Blackboard learning management system.

Retrieve course content release criteria

Retrieves the criteria associated with a specific adaptive release rule for a particular content item within a Blackboard course.

Get cross list set by course id

Retrieves the cross-listed course set for a specified course in Blackboard Learn.

Retrieve user sessions by user id

Retrieves the active or historical sessions for a specific user in the Blackboard Learn platform.

Get data source by id

Retrieves detailed information about a specific data source within the Blackboard Learn platform.

Fetch data source list

Retrieves a list of data sources available in the Blackboard learning management system.

Retrieve coursediscussion details

Retrieves detailed information about a specific discussion thread within a course on the Blackboard Learn platform.

Get discussion messages for course

Retrieves all messages within a specific discussion for a given course in the Blackboard learning management system.

Get course discussion threads

Retrieves all discussions associated with a specific course in the Blackboard Learning Management System.

Retrieve lti domain details by domainid

Retrieves detailed information about a specific LTI (Learning Tools Interoperability) domain within the Blackboard Learn system.

Retrieve lti domain listings

Retrieves a list of LTI (Learning Tools Interoperability) domains registered with the Blackboard Learn platform.

Get course content attachment

Retrieves detailed information about a specific attachment associated with a particular content item within a Blackboard course.

Get course content attachment

Retrieves the attachments associated with a specific content item within a Blackboard course.

Retrieve course message folders

Retrieves a list of message folders for a specific course in the Blackboard learning management system.

Get goal alignments by goalid

Retrieves the alignments associated with a specific educational goal in the Blackboard learning management system.

Retrieve goal by id

Retrieves detailed information about a specific learning goal within the Blackboard Learn platform.

Get learning goals

The GetGoals endpoint retrieves a list of educational goals within the Blackboard learning management system.

Retrieve goal set by id

Retrieves detailed information about a specific goal set within the Blackboard Learning Management System.

Get goal set category by id

Retrieves detailed information about a specific goal category within a designated goal set in the Blackboard Learn platform.

Retrieve goal sets

Retrieves a list of goal sets from the Blackboard Learn platform.

Fetch goal set category goals

This endpoint retrieves a list of goals associated with a specific category within a goal set in the Blackboard learning management system.

Retrieve course gradebook categories

Retrieves the list of gradebook categories for a specific course in the Blackboard learning management system.

Retrieve gradebook category by id

Retrieves detailed information about a specific gradebook category within a course in the Blackboard learning management system.

Retrieve gradebook column by course and column ids

Retrieves detailed information about a specific gradebook column within a particular course in the Blackboard learning management system.

List course gradebook columns

Retrieves a list of gradebook columns for a specified course in the Blackboard Learn environment.

Retrieve course grade notation

Retrieves detailed information about a specific grade notation within a course's gradebook in the Blackboard Learning Management System.

List grade notations for course

Retrieves the grade notations for a specific course's gradebook in the Blackboard learning management system.

Get gradebook schema for course

Retrieves the gradebook schemas for a specific course in the Blackboard learning management system.

Get gradebook periods by course and period id

Retrieves detailed information about a specific gradebook period within a course in the Blackboard learning management system.

Retrieve course gradebook periods

Retrieves the gradebook periods for a specified course in the Blackboard learning management system.

Retrieve course group by ids

Retrieves detailed information about a specific group within a particular course in the Blackboard learning management system.

Retrieve user from course group

Retrieves detailed information about a specific user's membership or role within a group in a particular course on the Blackboard platform.

List course group users

Retrieves a list of users belonging to a specific group within a Blackboard Learn course.

Fetch course groups by id

Retrieves a list of all groups associated with a specific course in the Blackboard learning management system.

Retrieve course group information

Retrieves detailed information about a specific group set within a course in the Blackboard learning management system.

List course group sets

Retrieves a list of groups within a specific group set for a given course in the Blackboard learning management system.

Retrieve course group sets

Retrieves all group sets associated with a specific course in the Blackboard learning management system.

Get system info

Retrieves system information about the Blackboard Learn platform.

Retrieves institution role by id

Retrieves detailed information about a specific institutional role in the Blackboard learning management system.

List institution roles

Retrieves a list of all institution roles defined within the Blackboard Learn environment.

Retrieve loginas sessions

Retrieves active login sessions for users in the Blackboard learning management system.

Get user course by id

Retrieves detailed information about a specific user within a particular course in the Blackboard learning management system.

Get courses for category

Retrieves a list of courses associated with a specific category in the Blackboard catalog.

Retrieve participants of course message

Retrieves a list of participants for a specific message within a Blackboard course.

Retrieve discussion message reply

Retrieves all replies to a specific message within a discussion thread of a course in the Blackboard learning management system.

Fetch messages for course id

Retrieves all messages associated with a specific course in the Blackboard learning management system.

Get hierarchy node by node id

Retrieves detailed information about a specific node within the institutional hierarchy of Blackboard.

Retrieve admin info by nodeid and userid

Retrieves the administrative status of a specific user for a particular node within the Blackboard institutional hierarchy.

Retrieve node admins

Retrieves the list of administrators associated with a specific node in the Blackboard institutional hierarchy.

List child nodes by node id

Retrieves the immediate child nodes of a specified parent node in the Blackboard Learn Institutional Hierarchy.

Retrieve courses for institutional node

Retrieves a list of courses associated with a specific node in the institutional hierarchy of Blackboard.

Fetch institutional hierarchy nodes

Retrieves information about the nodes within the institutional hierarchy of a Blackboard learning environment.

Retrieve course nodes

Retrieves a list of nodes (modules or units) for a specific course in the Blackboard learning management system.

Get user nodes for user id

Retrieves a list of nodes associated with a specific user in the Blackboard Learn platform.

Retrieve users in institutional node

Retrieves a list of users associated with a specific node in the Blackboard Learn institutional hierarchy.

Retrieve observees of user profile

Retrieves a list of observees associated with a specific user in the Blackboard learning management system.

Get user observers by id

Retrieves the list of observers associated with a specific user in the Blackboard learning management system.

Retrieve lti placement by id

Retrieves detailed information about a specific LTI (Learning Tools Interoperability) placement within the Blackboard Learn platform.

Fetch lti placements

Retrieves a list of all available LTI (Learning Tools Interoperability) placements within the Blackboard Learn environment.

Fetch privacy policies

Retrieves the current privacy policy for the Blackboard system.

Retrieve proctoring service by id

Retrieves detailed information about a specific proctoring service integrated with Blackboard Learn.

Retrieve proctoring services

Retrieves a list of available proctoring services integrated with the Blackboard Learn platform.

Retrieve pronouns information

Retrieves the list of available pronouns in the Blackboard learning management system.

Retrieve assessment question

Retrieves detailed information about a specific question within an assessment for a particular course in the Blackboard learning management system.

Get assessment questions by course and assessment id

Retrieves a list of questions for a specific assessment within a Blackboard course.

Get content collection resources children

Retrieves a list of child resources for a specified parent resource within the Blackboard content collection.

Fetch content collection resources

Retrieves a list of resources from a specified content collection within a Blackboard Learn course.

Get review status of user in course content

Retrieves the review status of a specific content item for a particular user within a Blackboard Learn course.

Get course performance content review status

Retrieves the content review status for a specific course in the Blackboard learning management system.

Retrieve rubric association for course

Retrieves detailed information about a specific rubric association within a Blackboard Learn course.

Retrieve course rubric associations

Retrieves the associations of a specific rubric within a given course in Blackboard Learn.

Get rubric associations for gradebook columns

Retrieves the rubric associations for a specific gradebook column within a Blackboard course.

Get course rubric by course id

Retrieves a specific rubric for a given course in the Blackboard learning management system.

Retrieve rubric evaluation details

Retrieves detailed information about a specific rubric evaluation within a Blackboard course.

Retrieve rubric evaluation for attempt

Retrieves the rubric evaluations for a specific attempt on a gradebook item within a Blackboard course.

Fetch rubric list for course

Retrieves all rubrics associated with a specific course in the Blackboard Learn platform.

Retrieve course content adaptive release rules

Retrieves the adaptive release rules associated with a specific content item within a Blackboard course.

Get upload settings

Retrieves the current upload settings for the Blackboard Learn platform.

Retrieve sis dataset log by id

Retrieves a specific Student Information System (SIS) dataset from the Blackboard Learn platform using its unique identifier.

Retrieve system role by id

Retrieves detailed information about a specific system role in the Blackboard learning management system.

List system roles

Retrieves a list of all system roles defined in the Blackboard Learn platform.

Retrieve task by id

Retrieves detailed information about a specific system task in the Blackboard Learn platform.

Fetch course task details

Retrieves detailed information about a specific task within a course in the Blackboard Learn platform.

Retrieve term by id

Retrieves detailed information about a specific academic term in the Blackboard Learn system.

Fetch terms list

Retrieves a list of academic terms or information about specific terms in the Blackboard learning management system.

Retrieve toc items by course id

Retrieves the Table of Contents (TOC) items for a specified course in the Blackboard learning management system.

Fetch oauth2 tokeninfo

Retrieves detailed information about a specified OAuth2 token used for authentication in the Blackboard Learn API.

Get institutional node tool information

Retrieves detailed information about a specific tool associated with a particular node in the Blackboard institutional hierarchy.

Retrieve course resources by id

Retrieves a list of resources associated with a specific course in the Blackboard Learning Management System (LMS).

Fetch types of goal sets

Retrieves a list of available goal set types in the Blackboard Learn system.

Retrieve user by id

Retrieves detailed information about a specific user in the Blackboard Learn system.

Retrieve user avatar by userid

Retrieves the avatar (profile picture) for a specified user in the Blackboard Learn platform.

Retrieve gradebook entry for user in course

Retrieves detailed gradebook information for a specific user within a particular course in the Blackboard learning management system.

Retrieve user courses by id

Retrieves a list of courses associated with a specific user in the Blackboard Learn platform.

Get user pronunciation audio

Retrieves the pronunciation audio associated with a specific user's profile in Blackboard Learn.

Retrieve users list

The GetUsersEndpoint retrieves user information from the Blackboard Learn system.

Retrieve system version information

Retrieves the current version information of the Blackboard Learn system.

Retrieve user gradebook column

Retrieves a specific user's grade for a particular gradebook column in a Blackboard Learn course.

List users in course group

Retrieves a list of users belonging to a specific group within a course in the Blackboard learning management system.

Create new course with json input

Creates a new course in the Blackboard Learn system with specified attributes and settings.

Update user in course group

Updates a user's information within a specific group of a course in Blackboard Learn.

Fetch goal set categories

Retrieves the categories associated with a specific goal set in the Blackboard learning management system.

List Gradebook Columns

Retrieves all gradebook columns for a specified course in the Blackboard learning management system.

Get group details from course api

Retrieves detailed information about a specific group within a Blackboard course.

Retrieve user in course group

Retrieves detailed information about a specific user within a group in a Blackboard Learn course.

Retrieve course list

Retrieves a list of courses from the Blackboard Learn environment.

Add course gradebook column

Creates a new grade column in a Blackboard course's gradebook.

Patch gradebook column

This endpoint allows for updating specific properties of an existing grade column within a course's gradebook in the Blackboard Learn platform.

Modify announcement details

This endpoint allows you to update an existing course announcement in the Blackboard Learn platform.

Patch hierarchy node tool settings

This endpoint allows you to update the settings of a specific tool within a node of Blackboard's institutional hierarchy.

Post discussion message in course

Posts a new message to a specific discussion within a Blackboard Learn course.

Delete child course association

Deletes a specified child course from a parent course in the Blackboard learning management system.

Delete user from course group

This endpoint removes a specific user from a designated group within a course in Blackboard Learn.

Delete course announcement by id

This endpoint deletes a specific announcement within a course in the Blackboard Learn platform.

Delete gradebook column in course

Deletes a specific gradebook column from a course in Blackboard Learn.

Delete discussion message by id

This endpoint allows for the deletion of a specific message within a discussion thread in a Blackboard course.

Obtain oauth2 token via post

Obtains an OAuth2 token for authenticating and authorizing requests to the Blackboard API.

Download course gradebook attempt file

This endpoint allows for downloading a specific file associated with a student's attempt on an assignment within a Blackboard course.

Update discussion message status

Updates a specific message within a course discussion on the Blackboard platform.

Retrieve course gradebook column attempts

Retrieves attempt data for a specific gradebook column within a Blackboard course.

Get course gradebook attempt

Retrieves detailed information about a specific attempt for a gradebook column in a Blackboard course.

Update admin node roles

Updates the roles of an administrative user for a specific node within the institutional hierarchy of Blackboard.

Delete course by courseid

The DeleteCourse endpoint permanently removes a specific course from the Blackboard Learn platform.

Patch adaptiverelease criterion

Updates a specific criterion within an adaptive release rule for a course content item in Blackboard Learn.

Modify system announcement details

This endpoint allows you to update an existing System Announcement in Blackboard.

Update attendance record

Update the Course Meeting Attendance data for the given Course/Organization.

Update attendance records

Creates or updates attendance records for the meeting for all users in the course.

Patch calendar item by type and id

This endpoint allows you to update an existing calendar item in the Blackboard system.

Update category details by type

Updates specific details of a category in the Blackboard catalog system.

Update attempt status in gradebook

This endpoint allows for updating specific attributes of a gradebook attempt for a particular course, column, and attempt ID.

Patch grade information for user

The UpdateGrade endpoint allows instructors to modify various aspects of a student's grade for a specific course and gradebook column in the Blackboard Learning Management System.

Patch course content

This endpoint allows you to update existing content within a specific Blackboard Learn course.

Patch course details by id

Updates an existing course in Blackboard Learn with the provided information.

Patch course meeting details

This endpoint allows you to update the details of a specific meeting within a course in the Blackboard learning management system.

Patch data source by external id

This endpoint allows for updating specific attributes of an existing data source in the Blackboard system.

Update course discussion details

Updates a specific discussion forum within a Blackboard Learn course.

Update lti domain configuration

This endpoint allows updating an existing LTI (Learning Tools Interoperability) domain configuration in the Blackboard Learn platform.

Update gradebook column

This endpoint updates a specific grade column in a course's gradebook.

Patch grade notation for course

This endpoint allows you to update an existing grade notation for a specific course in the Blackboard learning management system.

Update grading period info

Updates a specific grading period within a course's gradebook in the Blackboard Learn system.

Update course group information

Updates an existing group within a specified course in the Blackboard Learn system.

Update course group details

Updates the properties of an existing group within a specific course in the Blackboard Learn platform.

Modify user enrollment in course

Updates a user's membership details within a specific Blackboard course.

Update course message read status

Updates the read status of a specific message within a Blackboard course.

Update institution node by id

This endpoint allows for updating specific properties of a node within the institutional hierarchy of Blackboard.

Update course primary node status

Updates the association between a course and a node in the Blackboard Learn institutional hierarchy.

Update lti placement details

This endpoint allows you to update an existing LTI (Learning Tools Interoperability) placement in the Blackboard learning management system.

Update pronoun status by id

Updates the information for a specific pronoun in the Blackboard system.

Modify assessment question

This endpoint allows you to update an existing question within a specific assessment in a Blackboard course.

Patch course content review status

Updates the review status of a specific content item for a particular user within a Blackboard Learn course.

Patch course rubric details

Updates a specific rubric within a Blackboard Learn course.

Update rubric association settings

Updates the properties of a rubric association within a specific Blackboard course.

Update rubric evaluation

Updates a specific rubric evaluation for a course in the Blackboard Learning Management System.

Patch term details by termid

Updates an existing term in the Blackboard Learn platform.

Update course toc item

Updates the visibility settings for a specific Table of Contents (TOC) item within a Blackboard course.

Update user information

Updates a user's profile in the Blackboard learning management system.

Create new uploads

Uploads a file to the Blackboard Learn platform.

Get course groups

Retrieves a list of all groups associated with a specific course in the Blackboard learning management system.

FAQ

Frequently asked questions

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

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 Blackboard tools.

Yes, absolutely. You can configure which Blackboard 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.

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 Blackboard data and credentials are handled as safely as possible.

Start with Blackboard.It takes 30 seconds.

Managed auth, hosted MCP servers, and every Blackboard tool your agent needs.Free to start.

Start building