Skip to main content
Glama

Change a project's settings

update_project
DestructiveIdempotent

Change the settings of one project; a field you leave out keeps its value. status paused or archived stops new missions in the project, and active starts them again. autoMerge sets whether SHIP merges a ready pull request by itself. defaultSandboxTemplateId sets the sandbox the agents start in (null for the platform base). repoFullName, linearTeamKey and jiraProjectId connect the project to another repository, Linear team or Jira project through the organization's existing connections. tracker moves the project to another tracker: linear with linearTeamKey, jira with jiraConnectorId and jiraProjectId, github-issues on its repository, or none; it is refused while a mission of the project runs. Change only what a person asked for. Answers the project as it now stands. Requires the projects:admin scope and the config:write capability.

Input Schema

NameRequiredDescriptionDefault
nameNoA new name
statusNoactive, paused or archived
trackerNoMove the project to linear, github-issues, jira or none; only when a person asked for the move
autoMergeNotrue merges a ready pull request without a person
issueCodeNoA GitHub Issues project's issue id prefix, 2-5 characters; only new ids use it
projectIdYesProject id, from list_projects
repoFullNameNoowner/repo of the repository to connect, through the organization's GitHub connection
jiraProjectIdNoA Jira project's numeric id on the project's Jira site, e.g. 10000; Jira-tracked projects only
linearTeamKeyNoThe key of the Linear team to connect, e.g. ENG
jiraConnectorIdNoThe Jira site's connection id, for tracker jira only
defaultSandboxTemplateIdNoA sandbox id (sbt_...) from list_sandbox_templates, or null for the platform base

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / jiraConnectorId
      Added value: +{
      +  "description": "The Jira site's connection id, for tracker jira only",
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / tracker
      Added value: +{
      +  "description": "Move the project to linear, github-issues, jira or none; only when a person asked for the move",
      +  "enum": [
      +    "linear",
      +    "github-issues",
      +    "jira",
      +    "none"
      +  ],
      +  "type": "string"
      +}
  2. Changed1 schema field changed
    • addedInput schema / properties / jiraProjectId
      Added value: +{
      +  "description": "A Jira project's numeric id on the project's Jira site, e.g. 10000; Jira-tracked projects only",
      +  "pattern": "^\\d+$",
      +  "type": "string"
      +}
  3. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Goes well beyond the annotations by explaining what status changes actually do (paused/archived stops new missions, active restarts them), what autoMerge enables, how tracker moves are gated on running missions, that connections go through the org's existing integrations, and the required projects:admin scope plus config:write capability. This is rich side-effect and precondition disclosure for a destructive, open-world mutation.

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?

Front-loads the core contract (settings change, omitted fields preserved) before field details, and nearly every sentence carries distinct information. It is a dense wall of semicolon-chained clauses, though, which costs some scannability versus a short structured list.

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 an 11-parameter destructive mutation with no output schema, the description supplies the return shape ('Answers the project as it now stands'), partial-update semantics, per-field behavior, gating conditions, and auth requirements. An agent has everything needed to call this correctly and safely.

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 genuine cross-parameter semantics the schema cannot express: which companion field each tracker value requires (linear with linearTeamKey, jira with jiraConnectorId and jiraProjectId, github-issues on its repository). It leaves a few parameters (issueCode, name) unaddressed in prose, relying on 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 and resource with explicit scope: 'Change the settings of one project'. The field-by-field enumeration (status, autoMerge, tracker, connections) makes it unmistakable against siblings like update_scheduled_task or set_mission_auto_merge, which touch different resources.

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?

Gives clear operating context: partial-update semantics ('a field you leave out keeps its value'), pairing rules for tracker values, and an explicit exclusion ('refused while a mission of the project runs'). It also states 'Change only what a person asked for'. It stops short of naming a sibling alternative for any of these fields, so not a full 5.

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.