How to integrate Blackboard MCP with Claude Agent SDK

Connect Claude Agent SDK to Blackboard MCP. List all announcements for your course, create a new announcement in biology 101, and more using natural language, with authentication handled for you.

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 the Claude Agent SDK using the Composio tool router. By the end, you'll have a working Blackboard agent that can manage courses and course content, post announcements, update gradebook grades, run discussion forums, and enroll users through natural language commands.

This guide will help you understand how to give your Claude Agent SDK 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 Claude/Anthropic and Composio API keys
  • Install the necessary dependencies
  • Initialize Composio and create a Tool Router session for Blackboard
  • Configure an AI agent that can use Blackboard as a tool
  • Run a live chat session where you can ask the agent to perform Blackboard operations

What is Claude Agent SDK?

The Claude Agent SDK is Anthropic's official framework for building AI agents powered by Claude. It provides a streamlined interface for creating agents with MCP tool support and conversation management.

Key features include:

  • Native MCP Support: Built-in support for Model Context Protocol servers
  • Permission Modes: Control tool execution permissions
  • Streaming Responses: Real-time response streaming for interactive applications
  • Context Manager: Clean async context management for sessions

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 step09 STEPS
1

Prerequisites

Before starting, make sure you have:
  • Composio API Key and Claude/Anthropic API Key
  • Primary know-how of Claude Agents SDK
  • A Blackboard account
  • Some knowledge of Python
2

Getting API Keys for Claude/Anthropic and Composio

Claude/Anthropic API Key
  • Go to the Anthropic Console and create an API key. You'll need credits to use the models.
  • 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

npm install @anthropic-ai/claude-agent-sdk @composio/core dotenv

Install the Composio SDK and the Claude Agents SDK.

What's happening:

  • @composio/core provides Composio integration for Anthropic
  • @anthropic-ai/claude-agent-sdk is the core agent framework
  • dotenv/config loads environment variables
4

Set up environment variables

bash
COMPOSIO_API_KEY=your_composio_api_key_here
USER_ID=your_user_id_here
ANTHROPIC_API_KEY=your_anthropic_api_key_here

Create a .env file in your project root.

What's happening:

  • COMPOSIO_API_KEY authenticates with Composio
  • USER_ID identifies the user for session management
  • ANTHROPIC_API_KEY authenticates with Anthropic/Claude
5

Import dependencies

import 'dotenv/config';
import readline from 'node:readline';
import { Composio } from '@composio/core';
import { query, type Options } from "@anthropic-ai/claude-agent-sdk";

dotenv.config();
What's happening:
  • We're importing all necessary libraries including the Claude Agent SDK and Composio
  • The dotenv.config() function loads environment variables from your .env file
  • This setup prepares the foundation for connecting Claude with Blackboard functionality
6

Create a Composio instance and Tool Router session

async function chat() {
  const { COMPOSIO_API_KEY, USER_ID } = process.env;
  if (!COMPOSIO_API_KEY || !USER_ID) {
    throw new Error('COMPOSIO_API_KEY and USER_ID required in .env');
  }

  const composio = new Composio({ apiKey: COMPOSIO_API_KEY });

  // Create Tool Router session for Blackboard
  const session = await composio.create(USER_ID, {
    toolkits: ['blackboard'],
  });
  const mcpUrl = session?.mcp.url;
What's happening:
  • The function checks for the required COMPOSIO_API_KEY environment variable
  • We're creating a Composio instance using our API key
  • The create method creates a Tool Router session for Blackboard
  • The returned url is the MCP server URL that your agent will use
7

Configure Claude Agent with MCP

const options: Options = {
  permissionMode: 'bypassPermissions',
  mcpServers: {
    composio: {
      type: 'http',
      url: mcpUrl,
      headers: { 'x-api-key': COMPOSIO_API_KEY }
    }
  },
  systemPrompt: 'You are a helpful assistant with access to Blackboard tools via Composio.',
  maxTurns: 10,
};
What's happening:
  • We're configuring the Claude Agent options with the MCP server URL
  • permissionMode: 'bypassPermissions' allows the agent to execute operations without asking for permission each time
  • The system prompt instructs the agent that it has access to Blackboard
  • maxTurns: 10 limits the conversation length to prevent excessive API usage
8

Create client and start chat loop

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
    prompt: 'You: '
  });

  console.log('\nChat started. Type "exit" to quit.\n');

  let isProcessing = false;

  async function ask(prompt: string) {
    isProcessing = true;
    rl.pause();

    process.stdout.write('Claude is thinking...');
    const stream = query({ prompt, options });

    let firstChunk = true;
    for await (const msg of stream) {
      const content = (msg as any).message?.content || (msg as any).content;
      if (Array.isArray(content)) {
        for (const block of content) {
          if (block.type === 'text' && block.text) {
            if (firstChunk) {
              process.stdout.write('\r\x1b[K');
              process.stdout.write('Claude: ');
              firstChunk = false;
            }
            process.stdout.write(block.text);
          }
        }
      }
    }
    process.stdout.write('\n\n');

    isProcessing = false;
    rl.resume();
    rl.prompt();
  }

  rl.on('line', async (line) => {
    if (isProcessing) return;

    const input = line.trim();
    if (input === 'exit') {
      rl.close();
      process.exit(0);
    }
    if (input) await ask(input);
    else rl.prompt();
  });

  await ask('What can you help me with?');
}
What's happening:
  • The readline interface is created to handle user input and output
  • The query function is used to send the user's input to the agent
  • The chat loop continues until the user types 'exit' or 'quit'
9

Run the application

try {
  await chat();
} catch (error) {
  console.error(error);
  process.exit(1);
}
What's happening:
  • The chat function is the entry point for the application
  • The try-catch block is used to handle any errors that occur

Complete Code

Here's the complete code to get you started with Blackboard and Claude Agent SDK:

import 'dotenv/config';
import readline from 'node:readline';
import { Composio } from '@composio/core';
import { query, type Options } from "@anthropic-ai/claude-agent-sdk";

async function chat() {
  const { COMPOSIO_API_KEY, USER_ID } = process.env;
  if (!COMPOSIO_API_KEY || !USER_ID) {
    throw new Error('COMPOSIO_API_KEY and USER_ID required in .env');
  }

  const composio = new Composio({ apiKey: COMPOSIO_API_KEY });
  const session = await composio.create(USER_ID, {
    toolkits: ['blackboard']
  });
  const mcp_url = session?.mcp.url;

  const options: Options = {
    permissionMode: 'bypassPermissions',
    mcpServers: {
      composio: {
        type: 'http',
        url: mcp_url,
        headers: { 'x-api-key': COMPOSIO_API_KEY }
      }
    },
    systemPrompt: 'You are a helpful assistant with access to Blackboard tools via Composio.',
    maxTurns: 10,
  };

  const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
    prompt: 'You: '
  });

  console.log('\nChat started. Type "exit" to quit.\n');

  let isProcessing = false;

  async function ask(prompt: string) {
    isProcessing = true;
    rl.pause();

    process.stdout.write('Claude is thinking...');
    const stream = query({ prompt, options });

    let firstChunk = true;
    for await (const msg of stream) {
      const content = (msg as any).message?.content || (msg as any).content;
      if (Array.isArray(content)) {
        for (const block of content) {
          if (block.type === 'text' && block.text) {
            if (firstChunk) {
              process.stdout.write('\r\x1b[K');
              process.stdout.write('Claude: ');
              firstChunk = false;
            }
            process.stdout.write(block.text);
          }
        }
      }
    }
    process.stdout.write('\n\n');

    isProcessing = false;
    rl.resume();
    rl.prompt();
  }

  rl.on('line', async (line) => {
    if (isProcessing) return;

    const input = line.trim();
    if (input === 'exit') {
      rl.close();
      process.exit(0);
    }
    if (input) await ask(input);
    else rl.prompt();
  });

  await ask('What can you help me with?');
}

try {
  await chat();
} catch (error) {
  console.error(error);
  process.exit(1);
}

Conclusion

You've successfully built a Claude Agent SDK agent that can interact with Blackboard through Composio's Tool Router.

Key features:

  • Native MCP support through Claude's agent framework
  • Streaming responses for real-time interaction
  • Permission bypass for smooth automated workflows
You can extend this by adding more toolkits, implementing custom business logic, or building a web interface around the agent.
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 a page of gradebook entries for a specific user in a Blackboard course, including scores and other grade-related data.

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

Requests a copy of an existing Blackboard course into a target course, for example to reuse course content in another course.

Create course announcement

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

Retrieve course list

Retrieves a paginated list of Blackboard courses and organizations, with optional search filters and sorting.

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 specified Blackboard Learn course or organization.

Create a class course

Creates a Blackboard Learn course or organization with a course ID and name.

Delete user from course

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

Update user criterion in adaptive rule

Adds or updates a user association for a specific adaptive release criterion on a Blackboard course content item.

Create adaptive release criteria by rule

Requests creation of an adaptive release criterion for an existing rule on a Blackboard course content item.

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 child node under a specified node in the Blackboard Learn institutional hierarchy.

Submit gradebook attempt

Creates an attempt for a gradebook column in a Blackboard course, with optional status, score, notes and feedback.

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

Requests creation of an attachment for a specified Blackboard course content item.

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

Creates a user's membership in a specified Blackboard course group using the course, group and user identifiers.

Modify course content adaptive release group criteria

Associates a group with a criterion in an adaptive release rule for a Blackboard course content item.

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

Creates or updates a course or organization membership in a Blackboard catalog category, identified by category type, category ID, and course ID.

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

Creates an association between a user and a specified node in the Blackboard institutional hierarchy.

Update user observer

Creates an observer relationship between a specified Blackboard user and observer.

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

Deletes a Blackboard calendar item identified by type and ID, with an option to delete its recurring series instead of only the selected item.

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 specified content item from a Blackboard course.

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 specified Blackboard course.

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 entry from Blackboard by pronoun ID.

Delete course assessment question

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

Delete course rubric

Deletes a rubric from a Blackboard Learn course without returning the rubric.

Delete rubric association

Deletes a rubric association in a Blackboard course.

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

Deletes a user's attendance records for a specified Blackboard course.

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 Blackboard course content item and returns it as a downloadable file.

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 category associations for a specified Blackboard course or organization, with optional category expansion and pagination.

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 rubric evaluations for a specific group attempt in a Blackboard course gradebook column, including evaluation identifiers, submission dates and score information.

Retrieve user grades for course column

Retrieves user grades for a specified Blackboard course gradebook column.

Get course meeting download url

Retrieves a download URL for a Blackboard course's attendance data file.

Fetch learning session data

Lists active Blackboard Learn user sessions, with optional expansion of user details.

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

Lists user associations for a specific adaptive release criterion on a Blackboard course content item.

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

Lists Blackboard system announcements, with optional filters for creator, title and dates, and pagination.

Retrieve course attempt file

Retrieves metadata for a specific file attached to a course gradebook attempt, including its name and, when available, viewer or download URLs.

Fetch gradebook attempt files

Lists metadata for files attached to a course gradebook attempt, including names and available viewer or download URLs.

Retrieve attempt receipt by id

Retrieves an attempt receipt by ID, including submission information, related identifiers and receipt status when available.

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 a user's meeting attendance records for a specified course or organization.

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 the last-changed user grade for a specified gradebook column in a Blackboard course.

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

Lists group attempts for a Blackboard course gradebook column, for reviewing group submissions and grades.

Retrieve course content by ids

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

Retrieve course content children

Retrieves child content items under a specified Blackboard course content item.

Retrieve contentcollection resource

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

Get course content group details

Retrieves the association between a specific course content item and group in Blackboard.

Retrieve course content groups

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

Retrieve course contents

Retrieves course content items in Blackboard, including their structure and details.

Retrieve course details

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

List child courses for a given course

Retrieves cross-listed child courses associated with a specified parent course.

Get Course Column Logs

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

Retrieve course alignments by id

Retrieves goal alignments for a specified Blackboard course, linking goals to course content and other alignable resources.

Get course gradebook logs

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

Get course meeting details

Retrieves details of a specific Blackboard course meeting, such as its title, description, schedule and external link.

Get course meetings

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

Retrieve users from course

Retrieves course memberships for a specified Blackboard course, including user IDs, roles and availability.

Get course resource

Retrieves metadata for a specific file or folder resource in a Blackboard course.

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

Lists Blackboard courses and organizations, with optional filters, sorting and pagination.

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 a page of messages for a specific Blackboard course discussion, including posts and replies.

Get course discussion threads

Retrieves a page of discussions for a Blackboard course.

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 metadata for a specific attachment associated with a Blackboard course content item.

Get course content attachment

Lists attachment metadata for a specific Blackboard course content item.

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 a specific Blackboard learning goal, including its text, availability and associated goal set or category information.

Get learning goals

Retrieves a list of educational goals in Blackboard Learn.

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

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 a specific gradebook category in a Blackboard course, including its ID and title.

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 grade notation definitions for a specific Blackboard course's gradebook.

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 a specific grading period in a Blackboard course, including its title, position, date settings, and start and end dates.

Retrieve course gradebook periods

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

Retrieve course group by ids

Retrieves information about a specific group in a Blackboard course, including its name, description, availability and enrollment settings.

Retrieve user from course group

Retrieves a specific user's membership in a course group.

List course group users

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

Fetch course groups by id

Lists groups associated with a Blackboard course for course management and reporting.

Retrieve course group information

Retrieves the properties and configuration of a specific Blackboard course group set, including its name, description and availability.

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

Lists group sets associated with a Blackboard course.

Get system info

Retrieves Blackboard Learn system information, including the site ID, tenant ID and region used with platform services.

Retrieves institution role by id

Retrieves an institutional role by ID in Blackboard, including its role key, name, description, and custom status.

List institution roles

Lists institution roles in Blackboard Learn, with optional filtering, sorting, and pagination.

Retrieve loginas sessions

Lists Blackboard login-as sessions, with optional pagination and sorting.

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 participants for a specific Blackboard course message, including their participation type.

Retrieve discussion message reply

Retrieves replies to a specific message in a Blackboard course discussion.

Fetch messages for course id

Retrieves course messages from a Blackboard course or organization folder.

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 child nodes of a specified Blackboard institutional hierarchy node.

Retrieve courses for institutional node

Retrieves course and organization associations for a specified Blackboard institutional hierarchy node.

Fetch institutional hierarchy nodes

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

Retrieve course nodes

Retrieves institutional hierarchy node associations for a specified Blackboard course or organization.

Get user nodes for user id

Retrieves institutional hierarchy node associations for a specified Blackboard user.

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 LTI placements in Blackboard Learn, with optional filters for properties such as name, type, course, domain, and availability.

Fetch privacy policies

Retrieves Blackboard and institution privacy policy URLs, optionally for a specified locale.

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 a paginated list of system-wide Blackboard pronoun entries, including their names and statuses.

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 paginated list of Blackboard Learn content collection resource metadata, with optional filters for resource type, dates, size, and creator.

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 paginated content review performance for a Blackboard course, optionally filtered by user.

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 a page of rubric evaluations for a specific gradebook attempt in a Blackboard course.

Fetch rubric list for course

Retrieves a page of rubrics for a Blackboard course, including available titles, descriptions and rubric types.

Retrieve course content adaptive release rules

Retrieves a page of adaptive release rules associated with a specific Blackboard course content item, including rule IDs and titles.

Get upload settings

Retrieves the current upload settings for the Blackboard Learn platform.

Retrieve sis dataset log by id

Retrieves SIS integration log messages for a specified dataset UID in Blackboard Learn.

Retrieve system role by id

Retrieves a specific Blackboard system role by ID, including available role identifiers, name, description and whether it is custom.

List system roles

Retrieves a page of Blackboard system roles, with optional role ID and custom-role filters.

Retrieve task by id

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

Fetch course task details

Retrieves a specific course task's status and progress, including its start time, with optional response field selection.

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 a paginated list of tools and their settings for a specified tool type at a Blackboard institutional hierarchy node.

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 a specific Blackboard Learn user's profile, including fields such as name, contact information and system roles.

Retrieve user avatar by userid

Retrieves avatar information for a specified Blackboard Learn user.

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 course memberships for a specific Blackboard Learn user, with filtering, sorting and pagination.

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

Lists users belonging to a specific Blackboard course group using the v1 endpoint.

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

Sends a request to associate a user with a specific group in a Blackboard course using the v1 group membership endpoint.

Fetch goal set categories

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

List Gradebook Columns

Lists gradebook column metadata for a Blackboard course, optionally filtered by content item.

Get group details from course api

Retrieves details of a specific group within a Blackboard course, including its name, description, availability, and enrollment settings.

Retrieve user in course group

Retrieves a specific user's group membership in a Blackboard course, including the user ID and associated user identifiers.

Retrieve course list

Lists courses and organizations in Blackboard Learn using the public v2 API, with optional filters, sorting, and pagination.

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

Updates availability, locking and applicability settings for a tool at an institutional hierarchy node, including guest and observer settings.

Post discussion message in course

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

Delete child course association

Removes a child course association from a parent course in Blackboard Learn, separating the courses.

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

Deletes a specified message in a Blackboard course discussion.

Obtain oauth2 token via post

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

Download course gradebook attempt file

Requests a specific file submitted with a Blackboard gradebook attempt, identified by course, attempt and file IDs.

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

Deletes a specified Blackboard course or organization; this destructive operation should be used with caution.

Patch adaptiverelease criterion

Sends an update request for a specific adaptive release criterion on a Blackboard course content item.

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 a meeting attendance record for a specified user in a course or organization.

Patch calendar item by type and id

Updates a Blackboard calendar item by type and ID, including details, recurrence settings, and LTI links.

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 a group set in a Blackboard course, including its name, description, availability and enrollment settings.

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 Blackboard course message, marking it read or unread.

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

Updates an existing question in a Blackboard course assessment, including its title, text, points, feedback, and position.

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

Creates an upload record in Blackboard and returns its ID.

Get course groups

Retrieves a paginated list of groups associated with a Blackboard course, including group details such as names, descriptions, availability and enrollment settings.

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. Claude Agent SDK 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