Skip to main content
Glama
prismeai

Prisme.ai MCP Plugin

Official
by prismeai

push_workspace_version

Destructive

Create a new version of a workspace and push it to a git repository. Supports platform-wide or workspace-level repository selectors.

Instructions

Push a workspace to a git repository by creating a new version.

If the user asks to push to git, you MUST pass gitPlatform (or repositoryId) — do not call this tool without one of these selectors. Omitting both is only valid when the caller explicitly wants a non-git local snapshot.

Selector choice:

  • gitPlatform — the default for pushing to git on Prisme.ai. Pass the platform repository id (key under the workspace's platformRepositories). If you don't know the id, pass any plausible value; the tool will reject it and return the list of available platform repos so you can retry. Prefer this selector unless the user specifically names a workspace-level repo.

  • repositoryId — only when the user explicitly references a repo declared on the workspace itself (under repositories: with mode read-write).

Response includes pushedToGit: true|false — if false after a "push to git" request, the call was wrong; retry with gitPlatform.

Common errors:

  • 400 "not up-to-date": the remote has newer commits — pull the workspace and retry.

  • A successful push holds a ~30 min write lock on the workspace; use unlock_workspace to release it early.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoOptional version name (e.g. "v1.2.0"). Auto-generated server-side if omitted.
descriptionYesVersion description — used as the git commit message when pushing to a repository. Provide a plain string (preferred for git pushes, as the localized object form is stringified to "[object Object]" in the commit message) or a localized object like `{ en: "...", fr: "..." }`.
environmentNoOptional environment name (from PRISME_ENVIRONMENTS) to use specific API URL and workspace
gitPlatformNoPlatform-wide git repository id (key under `platformRepositories` on the workspace). **Pass this whenever the user asks to push to git on Prisme.ai** — it is the primary selector for git pushes. If you don't know the exact id, pass your best guess; the tool validates it and returns the list of available platform repos so you can retry. Mutually exclusive with `repositoryId`.
workspaceIdNoAlternative: direct workspace ID (use workspaceName instead when possible)
repositoryIdNoWorkspace-level repository id (key under `repositories:` in the workspace config). Mutually exclusive with `gitPlatform`. Omit if the workspace has a single repository.
workspaceNameYesWorkspace name that resolves to ID via PRISME_WORKSPACES or PRISME_ENVIRONMENTS mapping
Behavior5/5

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

Beyond the 'destructiveHint: true' annotation, the description discloses that a successful push holds a ~30 min write lock and how to release it with unlock_workspace. It also explains the response flag 'pushedToGit: true|false' and retry logic, adding valuable behavioral context not present in annotations.

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 with clear sections (general instruction, selector choice, response, common errors, post-behavior). It is thorough without being overly verbose; a few sentences could be tightened, but overall it efficiently conveys critical information.

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?

Given the tool's complexity (7 parameters, destructive action, no output schema), the description covers all essential aspects: mandatory selectors, error recovery, write lock duration, and response interpretation. It leaves no significant gaps for correct usage.

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?

With 100% schema coverage, baseline is 3. The description adds meaningful context: for gitPlatform it explains preferred use, for description it clarifies it's used as commit message and warns about localized objects causing stringification issues. This goes beyond what the schema alone provides.

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 clearly states the tool pushes a workspace to a git repository by creating a new version. It distinguishes the action as version-creation plus git push, which differentiates it from sibling tools like 'push_workspace' and 'pull_workspace_version'.

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?

Provides explicit guidance on when to use gitPlatform vs repositoryId, including a strong instruction to always pass a selector for git pushes. Also covers common errors (400 'not up-to-date') and post-success behavior (write lock). This enables correct tool selection and invocation.

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/prismeai/prismeai-mcp-debug'

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