Skip to main content
Glama

Save edits to the Scratch project

push_to_scratch

Save local Scratch project changes back to scratch.mit.edu, overwriting the online version. Requires ownership and confirmation.

Instructions

Save the open project back to scratch.mit.edu, overwriting the online project's contents (uploads its costumes/sounds, then writes project.json). Requires login and ownership of the project. This edits the live project, so it always asks the user to confirm first (set confirm: true only after the user has agreed).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
confirmNoSet true only after the user confirmed (used if the client cannot prompt).
projectIdNoTarget project id. Defaults to the opened Scratch project.
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden, and it discloses the key behaviors: it overwrites the online project, uploads costumes/sounds before writing project.json, requires authentication and ownership, edits the live project (so it is destructive), and always asks for user confirmation before proceeding. This is a thorough and honest account of side effects and prerequisites.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, with the core action and outcome front-loaded, followed by prerequisites and the critical confirmation behavior. No wasted words; every sentence carries necessary information for the agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with two parameters, no output schema, and no annotations, the description covers all essential aspects: the operation, side effects, prerequisites, and the confirmation flow. An agent can correctly call this tool without further clarification, and the description is complete for the given complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes both parameters, but the description adds vital context: it explains that 'confirm' should only be set true after the user agrees, and that 'projectId' defaults to the opened project. It also clarifies the confirmation mechanism ('used if the client cannot prompt'). This goes beyond the schema by explaining behavior and defaults, significantly aiding correct invocation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Save'), a resource ('the open project'), and a destination ('back to scratch.mit.edu'), while also clarifying the effect ('overwriting the online project's contents'). It distinguishes from siblings like save_project by specifying the remote target, so an agent can immediately understand what it does and how it differs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool: to push edits to the live online project, and it lists necessary preconditions ('Requires login and ownership'). However, it does not explicitly name alternatives or state when not to use it, such as pointing to save_project for local saves. This is clear context but lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AstroBlocksMod/ScratchMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server