Skip to main content
Glama

Open a Scratch project from the website

open_scratch_project

Downloads a Scratch project by ID into memory for editing, enabling subsequent modifications. Requires login for unshared projects; save changes with push_to_scratch.

Instructions

Download a project from scratch.mit.edu by id and hold it open in memory for editing — the same in-memory project the other editing tools act on. Shared projects open without login; your own unshared projects need scratch_login first. Use push_to_scratch to save edits back.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectIdYesThe scratch.mit.edu project id.
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It discloses the in-memory nature, the login requirement for unshared projects, and the save-back path. It does not mention failure modes or whether opening replaces an already-open project, but the key behaviors are covered.

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?

Two sentences, front-loaded with the main action, then essential prerequisites and follow-up. Every sentence earns its place with no filler.

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

Completeness4/5

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

For a single-parameter tool, the description covers the source, authentication requirements, in-memory behavior, and how to persist changes. It does not describe return values or error handling, but no output schema exists and the omission is minor for this simple tool.

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

Parameters3/5

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

Schema description coverage is 100%, with the schema already stating the projectId is 'The scratch.mit.edu project id.' The description only repeats 'by id' without adding format details such as whether a URL or numeric id is expected, so it provides little beyond the schema.

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 action ('Download a project from scratch.mit.edu by id') and clearly identifies the resource, distinguishing it from local project operations. It also clarifies the in-memory editing context, which differentiates it from save/project-info siblings.

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 gives clear context about when login is needed and directs the user to push_to_scratch for saving edits. It does not explicitly discuss alternatives like open_project, but the usage context is strong enough for most agents.

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