Skip to main content
Glama
Aventra-Repository

ScratchJr Desktop MCP Server

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SCRATCHJR_EXENoPath to the ScratchJr executable. If not set, the server auto-detects it.Auto-detected
SCRATCHJR_DATABASENoPath to the ScratchJr SQLite database file.~/Documents/ScratchJR/scratchjr.sqllite
SCRATCHJR_BACKUP_DIRNoDirectory where database backups are stored.This server's backups/ folder
SCRATCHJR_DEBUG_PORTNoThe local debugging port used to connect to ScratchJr.9223
SCRATCHJR_OUTPUT_DIRNoDirectory where screenshots, JSON exports, and other artifacts are saved.This server's artifacts/ folder

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
scratchjr_statusA

Check the live ScratchJr connection without launching the app.

scratchjr_connectA

Connect to ScratchJr Desktop or launch it with a localhost-only control port. Does not force-close existing sessions.

scratchjr_list_assetsA

List real installed character, background and sound assets. Use exact md5 filenames in projects.

scratchjr_block_referenceB

Get supported blocks, values, units and ScratchJr project-building guidance.

scratchjr_list_projectsA

List saved ScratchJr projects.

scratchjr_get_projectA

Read project data, page/object IDs and revision. Includes unsaved editor state when open. Call before editing.

scratchjr_create_projectA

Create, persist and open a complete native ScratchJr project with up to four pages. Characters, backgrounds, text and block scripts are built automatically. Returns the new ID and data.

scratchjr_edit_projectA

Apply a batch of edits to an existing project and reopen it. Supply the revision from get_project. set_character replaces the whole character; use set_scripts to change only code.

scratchjr_open_projectB

Save the current project and open the requested project in the real editor.

scratchjr_save_projectA

Save the open project, regenerate its thumbnail and flush all data to disk.

scratchjr_run_projectA

Run green-flag scripts in the current project, optionally opening a specified project.

scratchjr_stop_projectA

Stop scripts; optionally reset characters to their starting positions.

scratchjr_click_characterA

Trigger a character click event to test an interactive project. Character must be on the current page.

scratchjr_backupA

Save current work and make a full timestamped database backup.

scratchjr_export_projectA

Export a JSON backup of a project and referenced custom media. This is not the tablet .sjr sharing format.

scratchjr_add_svg_assetA

Add a custom character or background using static SVG geometry. Use SVG with a matching viewBox; backgrounds should be 480×360. Returns an md5 asset name usable in projects.

scratchjr_screenshotA

Capture the real ScratchJr window and return an image for visual verification, plus its saved file path.

Prompts

Interactive templates invoked by user choice

NameDescription
create-scratchjr-projectBuild and verify a ScratchJr story, animation or game.

Resources

Contextual data attached and managed by the client

NameDescription
guideScratchJr workflow and supported block reference

TDQS

A3.9/5.0

Scored across 17 tools

Disambiguation5/5

Each tool targets a distinct operation: connection status, launching, asset listing, block documentation, project listing, screenshot, project CRUD, execution control, event triggering, backup, export, and SVG import. There is no overlap between tools; even get_project, open_project, and save_project serve clearly separate read, open, and persist functions.

Naming Consistency4/5

Most tools follow the verb_noun pattern (list_assets, get_project, create_project, edit_project, run_project, stop_project, click_character, export_project, add_svg_asset). A few deviations exist (status, connect, block_reference, screenshot, backup) that are still intuitive but break the strict convention. Overall the pattern is recognizable and readable.

Tool Count4/5

With 17 tools, the server is slightly above the typical well-scoped range of 3–15, but each tool covers a distinct functional area of the ScratchJr desktop integration. The count feels justified given the breadth of operations (asset management, project lifecycle, execution control, backup/export, custom assets).

Completeness4/5

The tool surface covers the full project lifecycle: create, read, edit, open, save, run, stop, and backup, plus asset listing and import. Minor gaps include no explicit delete-project operation and no direct asset removal, but these are rarely needed for typical automation and agents can work around them. Overall the surface is comprehensive for the intended use case.

Maintenance

ActivityMaintained
ResponsivenessNo issues