Skip to main content
Glama

update_project

Modify project details like name, description, visibility, or status in OpenProject. Use this tool to edit existing projects by providing the project ID and lock version.

Instructions

Update an existing project.

Args: project_id: Project identifier or ID lock_version: Current lock version (get from project first) name: New project name description: New project description in markdown public: Whether project is public active: Whether project is active

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
project_idYes
lock_versionYes
nameNo
descriptionNo
publicNo
activeNo

Implementation Reference

  • Core handler function that executes the update_project tool logic by constructing a payload and patching the project via OpenProjectClient.
    async def update_project( project_id: str, lock_version: int, name: str | None = None, description: str | None = None, public: bool | None = None, active: bool | None = None, ) -> dict[str, Any]: """Update an existing project. Args: project_id: Project identifier or ID lock_version: Current lock version (get from project first) name: New project name description: New project description in markdown public: Whether project is public active: Whether project is active Returns: Updated project object """ client = OpenProjectClient() try: payload: dict[str, Any] = { "lockVersion": lock_version, } if name is not None: payload["name"] = name if description is not None: payload["description"] = build_formattable(description) if public is not None: payload["public"] = public if active is not None: payload["active"] = active result = await client.patch(f"projects/{project_id}", data=payload) return result finally: await client.close()
  • Registration of the update_project tool via @mcp.tool() decorator in the main server, which delegates to the core implementation in projects module.
    @mcp.tool() async def update_project( project_id: str, lock_version: int, name: str | None = None, description: str | None = None, public: bool | None = None, active: bool | None = None, ): """Update an existing project. Args: project_id: Project identifier or ID lock_version: Current lock version (get from project first) name: New project name description: New project description in markdown public: Whether project is public active: Whether project is active """ return await projects.update_project( project_id=project_id, lock_version=lock_version, name=name, description=description, public=public, active=active, )

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/dev-in-black/openproject-mcp'

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