For the complete documentation index, see llms.txt. This page is also available as Markdown.

Projects

Organize applications into projects and manage project lifecycle.

Organize applications into projects and manage project lifecycle.

These are action names. In default compact mode, call the indicated group tool with {"action":"<action-name>","params":{...}}; the arguments below go inside params. In ?mode=all, call the action name directly with those arguments. browse_github and read_docs are direct tools in both modes. Expand each schema for nested fields, enum values and validation constraints. Successful results are JSON in both text content and structuredContent; failures use isError and structuredContent.error.

update_project replaces rename_project and can update the name or visibility. Projects belong to an organization. Admins and developers create them; admins or the creator manage access and delete them.

list_projects

List projects accessible to the caller, oldest first, across reachable organizations unless org narrows the list

Group: projects · Behavior: Read

Compact tool: projects · Action: list_projects

MCP annotations: readOnlyHint: true · destructiveHint: false · idempotentHint: true · openWorldHint: false

Permissions and REST equivalents

Operation
REST
Required scopes

projects.list

GET /projects

projects:read

Arguments

Argument
Type
Required
Description

limit

integer

No

Items per page, 1 to 200 (default 50)

cursor

string

No

nextCursor from the previous page; omit for the first page

org

string

No

Slug of an organization (see orgs.list) to list only what is in it or shared into it

Complete input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "description": "Items per page, 1 to 200 (default 50)"
    },
    "cursor": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512,
      "description": "nextCursor from the previous page; omit for the first page"
    },
    "org": {
      "description": "Slug of an organization (see orgs.list) to list only what is in it or shared into it",
      "type": "string",
      "minLength": 3,
      "maxLength": 39
    }
  },
  "additionalProperties": false
}

Result

  • projects (array<object>): See the complete response schema below.

  • nextCursor (string or null): Pass as cursor to fetch the next page; null on the last page

Response schema: projects.list

create_project

Create an empty project. It is private unless visibility is org

Group: projects · Behavior: Write

Compact tool: projects_write · Action: create_project

MCP annotations: readOnlyHint: false · destructiveHint: false · idempotentHint: false · openWorldHint: false

Permissions and REST equivalents

Operation
REST
Required scopes

projects.create

POST /projects

projects:write

Arguments

Argument
Type
Required
Description

name

string

Yes

Project name

visibility

"private" / "org"

No

private: admins, its creator and the people added; org: everyone in the organization

idempotencyKey

string

No

Unique string without whitespace; send the same one with the same arguments when retrying after a timeout, and the original result comes back instead of acting twice

org

string

No

Slug of the organization to act in (see orgs.list); needed when the caller reaches more than one

Complete input schema

Result

  • id (string): Project id

  • name (string): See the complete response schema below.

  • org (object): The organization that owns it

  • visibility ("private" / "org"): private: admins, its creator and the people added; org: everyone in the organization

  • access (object): See the complete response schema below.

  • appCount (integer): See the complete response schema below.

  • createdBy (object or null): Who created it. Null when nobody is on record, for another organization's, and for a credential without members:read

  • createdAt (string): ISO 8601 timestamp (UTC)

Response schema: projects.create

Operation-specific errors: 400 org_required, 403 key_project_restricted.

update_project

Rename a project, or change who in its organization can see it. Visibility is for its creator or an admin: private is admins, its creator and the people added; org is everyone in the organization

Group: projects · Behavior: Write

Compact tool: projects_write · Action: update_project

MCP annotations: readOnlyHint: false · destructiveHint: true · idempotentHint: true · openWorldHint: false

Permissions and REST equivalents

Operation
REST
Required scopes

projects.update

PATCH /projects/{projectId}

projects:write

Arguments

Argument
Type
Required
Description

name

string

No

New project name

visibility

"private" / "org"

No

private: admins, its creator and the people added; org: everyone in the organization

projectId

string

Yes

Project id

Complete input schema

Result

  • id (string): Project id

  • name (string): See the complete response schema below.

  • org (object): The organization that owns it

  • visibility ("private" / "org"): private: admins, its creator and the people added; org: everyone in the organization

  • access (object): See the complete response schema below.

  • appCount (integer): See the complete response schema below.

  • createdBy (object or null): Who created it. Null when nobody is on record, for another organization's, and for a credential without members:read

  • createdAt (string): ISO 8601 timestamp (UTC)

Response schema: projects.update

delete_project

Delete a project and every app in it. Admins may, and so may its creator when they created every app in it. Fails with project_has_running_apps while any app is live. Irreversible.

Group: projects · Behavior: Write

Compact tool: projects_write · Action: delete_project

MCP annotations: readOnlyHint: false · destructiveHint: true · idempotentHint: false · openWorldHint: false

Requires confirm: true for this irreversible action.

Permissions and REST equivalents

Operation
REST
Required scopes

projects.delete

DELETE /projects/{projectId}

projects:admin

Arguments

Argument
Type
Required
Description

projectId

string

Yes

Project id

confirm

true

Yes

Must be true: this action cannot be undone

Complete input schema

Result

  • id (string): Id of the deleted project

  • deleted (true): See the complete response schema below.

Response schema: projects.delete

Operation-specific errors: 409 project_has_running_apps.

Was this helpful?