MCP App Store
by KeenEthics
Pencil Spaces icon

Pencil Spaces

By Pencil Learning Technologies

Get New App Alerts

Overview

Pencil Spaces is the best place for teaching virtually. Deliver engaging lessons in our virtual classroom, automate operations, and keep everyone safe and compliant.

Tools

authorize_api_user

ChatGPT
Generate a direct login link for an API-managed user. Returns a URL containing a short-lived JWT token (valid for 3600 seconds) that grants authentication as the specified user. Optionally redirect to a specific URL after login.

create_api_user

ChatGPT
Create an API-managed user. API-managed users can be logged in programmatically via the authorize endpoint without a password. Requires an explicit write opt-in.

create_attribute

ChatGPT
Create a new custom attribute with a key name and an initial set of allowed values (at least one). Requires an explicit write opt-in.

create_cohort

ChatGPT
Create a new cohort (student group) within a program. Requires a name and at least one organizer user ID; attendee user IDs are optional. Requires an explicit write opt-in.

create_event

ChatGPT
Create a new scheduled event. Requires a title, start/end times, and at least one organizer. Sends invitations to attendees. Requires an explicit write opt-in.

create_program

ChatGPT
Create a new program (structured learning path) in draft status with a name and optional description, date range, and site association. Requires an explicit write opt-in.

create_program_cancellation

ChatGPT
Create a cancellation for a program (e.g. a holiday break). If the program is published, this immediately cancels every scheduled event in the date range for all attendees, and the events can't be restored through this connector. Confirm the program and dates with the user first. The start date must fall within the program's date range; without an end date the cancellation applies to that single day. The program must not be archived. Requires an explicit write opt-in.

create_site

ChatGPT
Create a new site (organizational unit or location) for the institution with a name and optional description. Requires an explicit write opt-in.

create_space

ChatGPT
Create a new Space (virtual classroom/collaboration room), optionally cloned from an existing space. Hosts and participants are referenced by userId or email. May send notification emails to invitees when notifyInvitees is true. Requires an explicit write opt-in.

download_recording

ChatGPT
Get a time-limited presigned download URL for a specific recording file.

end_ongoing_session

ChatGPT
Force-end the ongoing live session in a Space. Splits the current session into a completed session and starts a new one. This cannot be undone. Requires an explicit write opt-in.

get_alert

ChatGPT
Get a Control Center alert by ID. Returns the alert's type (e.g. TEACHER_DECLINED_EVENT, EVENT_NO_SHOW), status, priority, linked entity, and — always present, null when unset — triggeredBy, assignedTo, and resolution.

get_attendance

ChatGPT
Get attendance records for a past event. Returns each attendee's status (Present, Late, Absent, Cancelled).

get_attendance_report

ChatGPT
Get the institution attendance report for a date range in a single call. Returns one row per user with user (userId, name, email, profilePic) and statuses, the user's attendance status counts (e.g. Present, Late, Absent) across all events in the range. Use this instead of calling get_attendance per event when you need attendance across many events. The range cannot exceed 90 days.

get_attributes

ChatGPT
Get all custom attributes defined for the institution. Each attribute has a key and an array of possible values that can be assigned to users or events.

get_audit_log

ChatGPT
Get the audit log history for a specific document. Returns a list of changes (create, update, delete) with actor information and change details.

get_available_users

ChatGPT
Get users who are available within a specified time range. Returns paginated user availability slots.

get_billing_sessions

ChatGPT
Get billing sessions report. Returns individual session details with duration and cost within a specified date range.

get_cohort

ChatGPT
Get details for a specific cohort within a program. Returns name, description, dates, and enrolled students.

get_event

ChatGPT
Get details for a specific event by its ID. Returns title, time range, organizers, attendees, location, and recurrence info.

get_program

ChatGPT
Get details for a specific program by its ID. Returns name, description, dates, site association, and cohort count.

get_program_cancellation

ChatGPT
Get a specific cancellation for a program by its ID.

get_session

ChatGPT
Get detailed analytics for a specific session including attendees, call stats, whiteboard metrics, and chat metrics.

get_session_reports

ChatGPT
Get the coaching and safeguarding reports for a session, derived from its recordings. Either field is null when no data is available (e.g. no recordings, no insights, or no safeguarding document).

get_site

ChatGPT
Get details for a specific site. Optionally include associated users and events.

get_space

ChatGPT
Get details for a specific Space by its ID. Returns the space's title, visibility, hosts, participants, and settings.

get_space_recordings

ChatGPT
Get recordings for a specific Space with optional time range filtering. Returns all recording metadata for the space.

get_transcription

ChatGPT
Get the transcription for a recording. Returns timestamped transcript entries with speaker information, and an optional AI-generated summary.

get_user

ChatGPT
Get the profile of a specific user by their user ID. Returns name, email, role, custom attributes, and site associations.

get_user_availability

ChatGPT
Get availability slots for a specific user. Returns their weekly recurring availability windows and timezone.

get_webhook_config

ChatGPT
Get the current webhook configuration for the institution. Returns the configured webhook URL and whether a signing secret is configured.

invite_user

ChatGPT
Invite a user to the institution via email. The user receives an invitation email. Requires an explicit write opt-in.

list_cohorts

ChatGPT
List all cohorts (student groups) within a specific program. Returns all cohorts for the program (not paginated).

list_events

ChatGPT
List scheduled events with optional pagination and filters. Returns paginated event objects including title, time, organizers, and attendees.

list_program_cancellations

ChatGPT
Get all cancellations configured for a program, sorted by start date ascending. Available for programs in any status, including archived.

list_programs

ChatGPT
List all programs (structured learning paths) with optional pagination. Returns paginated program objects including name, dates, and status.

list_recordings

ChatGPT
List recordings across all Spaces with optional time range and pagination. Returns recording metadata including duration, size, and associated space.

list_sessions

ChatGPT
List sessions (analytics) with optional pagination and filters. Returns session analytics data including duration, attendee counts, and call stats.

list_sites

ChatGPT
List all sites (organizational units or locations) for the institution. Returns site names, descriptions, and associated user/event counts.

list_spaces

ChatGPT
List all accessible Spaces (virtual classrooms/collaboration rooms) with optional pagination and filters. Returns paginated space objects including title, visibility, and user counts.

list_users

ChatGPT
List all institution users with optional pagination and filters. Returns paginated user profiles including name, email, role, and site associations.

rename_attribute_key

ChatGPT
Rename a custom attribute's key (its display name). The new name applies everywhere the attribute is used. Requires an explicit write opt-in.

rsvp_event

ChatGPT
RSVP to an event on behalf of a user, with an optional note. Overwrites the user's previous RSVP status for the event. Requires an explicit write opt-in.

save_webhook_config

ChatGPT
Save or replace the institution's webhook configuration: the endpoint URL where webhook events are delivered and the signing secret used to verify request authenticity. Overwrites any existing configuration. Requires an explicit write opt-in.

set_user_availability

ChatGPT
Set weekly recurring availability slots for a user. Replaces ALL existing slots with the provided ones. Requires an explicit write opt-in.

update_attendance

ChatGPT
Update attendance status for a user in a past event. Sets the user's status to Present, Late, Absent, Left, or Excuse. Requires institution admin permissions and an explicit write opt-in.

update_attribute_values

ChatGPT
Add new values to a custom attribute and/or rename existing values. Renamed values change everywhere they are used; added values are appended. Requires an explicit write opt-in.

update_cohort

ChatGPT
Update an existing cohort's name, organizers, or attendees within a program. Provided lists replace the existing ones. Requires an explicit write opt-in.

update_event

ChatGPT
Update an existing event. Upcoming events accept title, description, customAttributes, attendees, organizers, type, spaceId, and location; past or cancelled events accept only title, description, and customAttributes. Event times cannot be changed through this tool. May notify newly added attendees. Requires an explicit write opt-in.

update_program

ChatGPT
Update an existing program's name, description, or date range. Requires an explicit write opt-in.

update_program_cancellation

ChatGPT
Update an existing program cancellation's name or dates. Only allowed for draft or ready-to-publish programs (not published). Providing start without end makes it single-day; end cannot be provided without start. Requires an explicit write opt-in.

update_space

ChatGPT
Update Space properties such as title and visibility. Use update_space_users to manage the user list. Requires an explicit write opt-in.

update_space_settings

ChatGPT
Modify space settings, such as enabling or disabling always-on recording. Requires an explicit write opt-in.

update_space_users

ChatGPT
Add, remove, or change the role of users in a Space. Users are referenced by userId or email. Users belonging to a cohort linked to the space cannot be removed or modified here. Requires an explicit write opt-in.

update_user

ChatGPT
Update an existing user's profile properties: display name, external ID, language, site associations, or custom attributes. Only provided fields are changed. Requires an explicit write opt-in.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps