Skip to main content
Glama

Start an update

start_update

Step 1 of publishing an update to the Microsoft Store: makes the update and returns an upload link for its .msix. Pass appId, the package version (four numbers like 1.4.0.0, higher than the live one; ask the person if you can't tell), and the .msix file name and exact size in bytes (ask the person if you don't know them; Windows shows the size in bytes in the file's Properties). Without a shell, as in ChatGPT: reply to the person with upload.page as a clickable markdown link, like "Upload the .msix here: storefast.app upload page", ask them to tell you when the page says Done, then call finish_upload. A file attached to a message never reaches StoreFast, so send the link even when the person attached the .msix. With a shell, as in Codex or Claude Code: run upload.shell (or PUT each part to upload.urlTemplate), then call finish_upload. The link works for an hour. If it expires, or the app already has an update waiting for its package, call start_update with that releaseId for a fresh link. Nothing reaches Partner Center until submit_update. Uploading again into an update replaces what was uploaded to it, so only send the package that update is for.

Input Schema

NameRequiredDescriptionDefault
sizeNoThe exact file size in bytes.
appIdNoThe app id from list_apps.
versionNoPackage version, four numbers like 1.4.0.0.
fileNameNoThe .msix file name.
releaseIdNoOnly for an update still waiting for its package: a fresh upload link for it.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only cover the safety triad (readOnlyHint=false, destructiveHint=false); the description adds rich behavior: the link expires in an hour, nothing reaches Partner Center until submit_update, re-uploading replaces prior content, and attached files never reach the service. These are non-obvious operational facts an agent must know.

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?

Dense and front-loaded with purpose first, then branch-dependent instructions. Every sentence carries operational content, though the single long block is more run-on than it needs to be for a description this size.

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 5-parameter, branch-heavy entry point into a multi-step publish flow with no output schema, the description covers inputs, return values (upload.page, upload.shell, upload.urlTemplate), and the handoff to the next tools. Nothing needed to invoke it correctly is missing.

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?

Schema coverage is 100%, so baseline is 3, but the description adds real meaning: version must be higher than the live version, size must be the exact byte count (with guidance on finding it), and releaseId is conditional on an update awaiting its package. It stops short of explaining appId sourcing beyond 'from list_apps' already in 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?

States a specific verb+resource ('makes the update and returns an upload link for its .msix') and explicitly frames itself as 'Step 1 of publishing an update to the Microsoft Store'. An agent can immediately distinguish it from finish_upload and submit_update, which are named in the workflow.

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

Usage Guidelines5/5

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

Gives explicit differentiated instructions for two environments ('Without a shell, as in ChatGPT... With a shell, as in Codex or Claude Code...') and names the follow-up calls (finish_upload, submit_update). It also states the fallback trigger ('If it expires, or the app already has an update waiting for its package, call start_update with that releaseId').

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources