### Clone Airbyte Repo and Start Docker Source: https://linear.app/docs/airbyte Clone the Airbyte repository and start the Docker service to set up Airbyte locally. Ensure Docker Desktop is installed and running. ```bash git clone https://github.com/airbytehq/airbyte.git cd airbyte docker-compose up ``` -------------------------------- ### Define custom script configuration in JSON Source: https://linear.app/docs/open-issues-with-custom-scripts Example configuration for a custom script, demonstrating the use of path, templated arguments, and environment variable exposure. ```json { "openIssue": { "path": "/absolute/path/to/executable", "args": [ "--issue", "{{issue.identifier}}", "--branch", "{{issue.branchName}}", "{{prompt}}" ], "env": [ "LINEAR_PROMPT", "LINEAR_WORK_DIR", "LINEAR_PROJECT_NAME" ] } } ``` -------------------------------- ### GUS Webhook Payload Example Source: https://linear.app/docs/gus-integration This is an example of a webhook payload received from GUS when an issue is updated. The 'action' field indicates the type of event. ```json { "action": "update", "type": "Issue", "data": { "id": "issue-uuid", "title": "...", "stateId": "state-uuid", "assigneeId": "user-uuid", "priority": 2, "teamId": "team-uuid", "projectId": "project-uuid", "cycleId": "cycle-uuid", "updatedAt": "2026-02-27T10:00:00.000Z" }, "updatedFrom": { "stateId": "old-state-uuid" }, "organizationId": "org-uuid", "webhookId": "webhook-uuid" } ``` -------------------------------- ### Checklist Source: https://linear.app/docs/editor Create a checklist using Markdown. ```Markdown [] ``` -------------------------------- ### Mermaid Diagram Source: https://linear.app/docs/editor Create a Mermaid diagram by pasting a code block starting with `**```**mermaid`. ```Markdown ```mermaid ``` -------------------------------- ### Configure Okta Issuer URI for Enterprise MCP Source: https://linear.app/docs/mcp Example of an Okta Issuer URI used for enterprise-managed authentication. ```json https://your-org.okta.com/oauth2/default ``` -------------------------------- ### Linear MCP Command Line Configuration Source: https://linear.app/docs/mcp Direct command-line execution string for initializing the Linear MCP server. ```bash npx mcp-remote https://mcp.linear.app/mcp ``` -------------------------------- ### Table Source: https://linear.app/docs/editor Create a table using Markdown. ```Markdown |-- ``` ```Markdown /table ``` -------------------------------- ### ProjectCreate Source: https://linear.app/docs/gus-integration Creates a new project in Linear, intended for syncing GUS Epics. Requires project name and team IDs, with optional fields for description, status, lead, dates, labels, and priority. ```APIDOC ## ProjectCreate ### Description Creates a new project in Linear, intended for syncing GUS Epics. Requires project name and team IDs, with optional fields for description, status, lead, dates, labels, and priority. ### Method mutation ### Endpoint https://api.linear.app/graphql ### Parameters #### Request Body - **input** (ProjectCreateInput!) - Required - Input object for creating a project. - **name** (string) - Required - The name of the project. - **teamIds** (string[]) - Required - The IDs of the teams associated with the project. - **description** (string) - Optional - A description for the project. - **statusId** (string) - Optional - The ID of the project's status. - **leadId** (string) - Optional - The ID of the project's lead. - **startDate** (string) - Optional - The start date of the project (ISO 8601 format). - **targetDate** (string) - Optional - The target end date of the project (ISO 8601 format). - **labelIds** (string[]) - Optional - The IDs of labels to associate with the project. - **priority** (integer) - Optional - The priority of the project (0-4). ### Response #### Success Response (200) - **success** (boolean) - Indicates if the project creation was successful. - **project** (object) - The created project object. - **id** (string) - The unique identifier of the project. - **name** (string) - The name of the project. - **status** (object) - The status of the project. - **id** (string) - The status ID. - **name** (string) - The status name. - **type** (string) - The status type. - **startDate** (string) - The start date of the project. - **targetDate** (string) - The target end date of the project. - **lead** (object) - The lead assigned to the project. - **id** (string) - The lead's ID. - **email** (string) - The lead's email address. ``` -------------------------------- ### Query Cycles from GUS Source: https://linear.app/docs/gus-integration Use this GraphQL query to retrieve cycle data, including ID, name, start and end dates, and the associated team. ```graphql query Cycles($filter: CycleFilter) { cycles(filter: $filter) { nodes { id name startsAt endsAt team { id } } } } ``` -------------------------------- ### Heading 1 Source: https://linear.app/docs/editor Create a Heading 1 using Markdown. ```Markdown # ``` -------------------------------- ### CycleCreate Source: https://linear.app/docs/gus-integration Creates a new cycle in Linear, intended for syncing GUS Sprints. Requires team ID, start and end dates, with optional name and description. ```APIDOC ## CycleCreate ### Description Creates a new cycle in Linear, intended for syncing GUS Sprints. Requires team ID, start and end dates, with optional name and description. ### Method mutation ### Endpoint https://api.linear.app/graphql ### Parameters #### Request Body - **input** (CycleCreateInput!) - Required - Input object for creating a cycle. - **teamId** (string) - Required - The ID of the team the cycle belongs to. - **startsAt** (string) - Required - The start date of the cycle (ISO 8601 format). - **endsAt** (string) - Required - The end date of the cycle (ISO 8601 format). - **name** (string) - Optional - The name of the cycle. - **description** (string) - Optional - A description for the cycle. ### Response #### Success Response (200) - **success** (boolean) - Indicates if the cycle creation was successful. - **cycle** (object) - The created cycle object. - **id** (string) - The unique identifier of the cycle. - **name** (string) - The name of the cycle. - **startsAt** (string) - The start date of the cycle. - **endsAt** (string) - The end date of the cycle. ``` -------------------------------- ### InitiativeCreate Source: https://linear.app/docs/gus-integration Creates a new initiative in Linear, used for syncing GUS Programs. Requires an input object containing initiative details. ```APIDOC ## InitiativeCreate ### Description Creates a new initiative in Linear, used for syncing GUS Programs. Requires an input object containing initiative details. ### Method mutation ### Endpoint https://api.linear.app/graphql ### Parameters #### Request Body - **input** (InitiativeCreateInput!) - Required - Input object for creating an initiative. - *Fields available for creation are not explicitly listed but are expected to include name and status.* ### Response #### Success Response (200) - **success** (boolean) - Indicates if the initiative creation was successful. - **initiative** (object) - The created initiative object. - **id** (string) - The unique identifier of the initiative. - **name** (string) - The name of the initiative. - **status** (object) - The status of the initiative. - **id** (string) - The status ID. - **name** (string) - The status name. - **type** (string) - The status type. ``` -------------------------------- ### ProjectUnarchive Source: https://linear.app/docs/gus-integration Restores a previously archived project in Linear. ```APIDOC ## ProjectUnarchive ### Description Restores a previously archived project in Linear. ### Method mutation ### Endpoint https://api.linear.app/graphql ### Parameters #### Path Parameters - **id** (String!) - Required - The ID of the project to unarchive. ### Response #### Success Response (200) - **success** (boolean) - Indicates if the project unarchiving was successful. ``` -------------------------------- ### Heading 2 Source: https://linear.app/docs/editor Create a Heading 2 using Markdown. ```Markdown ## ``` -------------------------------- ### Configure separate authentication contexts for multiple workspaces Source: https://linear.app/docs/mcp Set the MCP_REMOTE_CONFIG_DIR environment variable to point to unique paths for each Linear workspace. ```bash MCP_REMOTE_CONFIG_DIR=~/.mcp-auth/workspace-a npx mcp-remote https://mcp.linear.app/mcp MCP_REMOTE_CONFIG_DIR=~/.mcp-auth/workspace-b npx mcp-remote https://mcp.linear.app/mcp ``` -------------------------------- ### Attach File Source: https://linear.app/docs/editor Attach files using a slash command. ```Markdown /file ``` ```Markdown /insert ```