MCP Tools
Projects

create_project

Create a new project to organize content and context into a workstream, optionally with a brief supplied directly or generated by AI. Use the returned project ID to associate new content with the project. `project_brief_instructions` uses Studio Credits; `project_brief_content` does not.

Parameters

NameTypeRequiredDefaultDescription
namestringYes—The project's display name, shown in the project list and used to label it everywhere. Required and must be non-empty (surrounding whitespace is trimmed); there is no length limit. If you also pass project_brief_instructions, this name is inserted into the AI prompt used to write the brief, so a descriptive name produces a better brief.
visibilitystringNoteamWho on the team can see the project. "team" (the default when omitted) makes it visible to team admins and editors as well as anyone added to the project; "private" limits it to people explicitly added as project members — the creator is added automatically. Set "private" only when the work should not be browsable by the wider team; these are the only two accepted values.
project_brief_instructionsstringNo—Prompt describing the brief to AUTO-GENERATE with AI (uses Studio Credits). Mutually exclusive with project_brief_content, which takes precedence.
project_brief_contentstringNo—Finished brief text to save DIRECTLY as the project brief (no AI, no Studio Credits). Takes precedence over project_brief_instructions.

Input Schema

{
  "type": "object",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "The project's display name, shown in the project list and used to label it everywhere. Required and must be non-empty (surrounding whitespace is trimmed); there is no length limit. If you also pass project_brief_instructions, this name is inserted into the AI prompt used to write the brief, so a descriptive name produces a better brief."
    },
    "visibility": {
      "enum": [
        "team",
        "private"
      ],
      "type": "string",
      "description": "Who on the team can see the project. \"team\" (the default when omitted) makes it visible to team admins and editors as well as anyone added to the project; \"private\" limits it to people explicitly added as project members — the creator is added automatically. Set \"private\" only when the work should not be browsable by the wider team; these are the only two accepted values."
    },
    "project_brief_content": {
      "type": "string",
      "description": "Finished brief text to save DIRECTLY as the project brief (no AI, no Studio Credits). Takes precedence over project_brief_instructions."
    },
    "project_brief_instructions": {
      "type": "string",
      "description": "Prompt describing the brief to AUTO-GENERATE with AI (uses Studio Credits). Mutually exclusive with project_brief_content, which takes precedence."
    }
  }
}

Output Schema

{
  "type": "object",
  "required": [
    "project_id",
    "name",
    "link_url"
  ],
  "properties": {
    "name": {
      "type": "string",
      "description": "Project name."
    },
    "link_url": {
      "type": "string",
      "format": "uri",
      "description": "Direct URL to view/open this project in Marcora."
    },
    "project_id": {
      "type": "string",
      "format": "uuid",
      "description": "Project identifier."
    },
    "project_brief": {
      "type": [
        "object",
        "null"
      ],
      "properties": {
        "name": {
          "type": "string",
          "description": "Brief document name."
        },
        "content_id": {
          "type": "string",
          "format": "uuid",
          "description": "Content UUID of the brief."
        }
      },
      "description": "Present (non-null) only when `project_brief_content` or `project_brief_instructions` was supplied. Pass `content_id` to update_content / get_content later."
    }
  }
}

Instructions

Create a new project for organizing content and context into a workstream. Optionally creates a project brief document in the same call: project_brief_content saves finished text as-is (no credits), while project_brief_instructions has Marcora write it and uses Studio Credits (charged at completion, typically 1-2; if the team is out of credits the call returns insufficient_credits 402 and the project is not created).

Example prompts

  • "Create a project for our Q3 product launch"
  • "Start a new project called 'Brand Refresh 2025'"
  • "Create a project for our Acme deal with a brief covering the customer's stack and pain points"

Links: present link_url to the user exactly as returned — copy it character for character. Never retype, shorten, or rebuild a link or the IDs inside it.

Scroll to Top