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
projects.list
GET /projects
projects:read
Arguments
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
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
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
projects.create
POST /projects
projects:write
Arguments
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
Result
id(string): Project idname(string): See the complete response schema below.org(object): The organization that owns itvisibility("private" / "org"): private: admins, its creator and the people added; org: everyone in the organizationaccess(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:readcreatedAt(string): ISO 8601 timestamp (UTC)
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
projects.update
PATCH /projects/{projectId}
projects:write
Arguments
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
Result
id(string): Project idname(string): See the complete response schema below.org(object): The organization that owns itvisibility("private" / "org"): private: admins, its creator and the people added; org: everyone in the organizationaccess(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:readcreatedAt(string): ISO 8601 timestamp (UTC)
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
projects.delete
DELETE /projects/{projectId}
projects:admin
Arguments
projectId
string
Yes
Project id
confirm
true
Yes
Must be true: this action cannot be undone
Result
id(string): Id of the deleted projectdeleted(true): See the complete response schema below.
Operation-specific errors: 409 project_has_running_apps.
Was this helpful?
