Skip to main content
Glama
blessed0x

scratch-unified-mcp

by blessed0x

Social Connect Session

social_connect_session

Authenticates to Scratch with username/password, session token, or browser credentials to enable user-scoped actions. Stores session for reuse when needed.

Instructions

Login to the Scratch site using set login details.

You may either provide a path_to_env, a scratch_username and scratch_password, or a scratch_session_id, or a browser_name (optional).

If none is provided, it will fallback to logging in via the user's installed browser.

Sessions are remembered across restarts by default, so this usually only needs to be called once per account. Check social_list_sessions first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
rememberNoSave the session id to disk so the login survives a server restart. Only the session id is stored, never the password. Pass False for a login that lives only as long as this process.
path_to_envNoPath to a .env file containing SCRATCH_USERNAME and SCRATCH_PASSWORD environment variables, or a SCRATCH_SESSION_ID variable. If not provided, the below values must be instead.
browser_nameNoIf none of the above are provided, it defaults to logging in via browser. Either pass a preferred browser to fetch the cookie from, or leave it empty to default to autodetect any installed browser and uses those credentials.
scratch_passwordNoThe password to authenticate with.
scratch_usernameNoThe username to authenticate with.
scratch_session_idNoA session token from Scratch to use when authenticating. This value can be obtained from any logged-in browser by fetching the value of the cookie `scratchsessionsid`.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations present, the description carries the transparency burden. It discloses the fallback-to-browser behavior and session persistence across restarts, which is helpful. However, it does not mention whether the new session becomes the active session, whether side effects like overwriting an existing session occur, or any potential failures or prerequisites beyond browser availability.

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

Conciseness4/5

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

The description is well organized: purpose first, then authentication options, then persistence and guidance. It is a bit redundant with the parameter names already present in the schema, but the reminder of the either/or selection logic is useful and the length is reasonable for the complexity.

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?

Given the tool's complexity—multiple authentication paths, optional parameters, and persistence behavior—the description covers the key decisions and directs the agent to social_list_sessions. The presence of an output schema covers return-value details. It could be more complete by clarifying the relationship with social_set_active_session and what exactly happens after a successful login.

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

Parameters4/5

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

Input schema coverage is 100%, so the baseline is 3, but the description adds real value by explaining the mutual-exclusion relationships: provide either path_to_env, username/password, scratch_session_id, or browser_name. This helps an agent understand how to choose among the parameters, which the schema alone does not make explicit.

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

Purpose4/5

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

The description opens with a specific verb and resource: 'Login to the Scratch site.' It clearly identifies the tool as the session-connect/login operation among the social_* siblings and even points to social_list_sessions as a prior check. However, it does not explicitly differentiate itself from the similarly named sb3_scratch_login sibling, so it stops short of a 5.

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 practical usage context: sessions persist across restarts, so this should usually be called only once per account, and users should 'Check social_list_sessions first.' It also explains the fallback behavior when no credentials are provided. It does not explicitly list exclusions or alternatives like social_set_active_session, but the provided guidance is actionable.

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

Deploy Server

Other Tools