---
title: "Linear Integration"
description: "Manage Linear issues, projects, and cycles"
---
The Linear integration provides access to manage Linear issues, projects, and cycles through the Integrate MCP server.

## Installation

The Linear integration is included with the SDK:

```typescript
import { linearIntegration } from "integrate-sdk/server";
```

## Setup

### 1. Create a Linear OAuth App

1. Go to [Linear Settings](https://linear.app/settings/api)
2. Create a new OAuth application
3. Configure your redirect URI
4. Note your Client ID and Client Secret

### 2. Configure the Integration on Your Server

Add the Linear integration to your server configuration. The integration automatically reads `LINEAR_CLIENT_ID` and `LINEAR_CLIENT_SECRET` from your environment variables:

```typescript
import { createMCPServer, linearIntegration } from "integrate-sdk/server";

export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    linearIntegration({
    }),
  ],
});
```

You can override the environment variables by passing explicit values:

```typescript
linearIntegration({
  clientId: process.env.CUSTOM_LINEAR_ID,
  clientSecret: process.env.CUSTOM_LINEAR_SECRET,
});
```

### 3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

```typescript
import { client } from "integrate-sdk";

await client.authorize("linear");
const result = await client.linear.createIssue({
  teamId: "value",
});

console.log(result);
```

If you're using a custom client, add the integration to the integrations array:

```typescript
import { createMCPClient, linearIntegration } from "integrate-sdk";

const customClient = createMCPClient({
  integrations: [linearIntegration()],
});
```

## Configuration Options

<AutoTypeTable
  path="../src/integrations/linear.ts"
  name="LinearIntegrationConfig"
/>


## Tools

### `linear_create_issue`

Create a new issue in Linear

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearCreateIssueParams"
/>

### `linear_list_issues`

List issues in Linear

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearListIssuesParams"
/>

### `linear_get_issue`

Get a specific issue by ID or identifier

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearGetIssueParams"
/>

### `linear_update_issue`

Update an existing issue

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearUpdateIssueParams"
/>

### `linear_archive_issue`

Archive an issue

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearArchiveIssueParams"
/>

### `linear_delete_issue`

Delete an issue permanently

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearDeleteIssueParams"
/>

### `linear_search_issues`

Search for issues

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearSearchIssuesParams"
/>

### `linear_add_comment`

Add a comment to an issue

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearAddCommentParams"
/>

### `linear_list_users`

List users in the workspace

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearListUsersParams"
/>

### `linear_get_user`

Get a specific user by ID

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearGetUserParams"
/>

### `linear_list_teams`

List teams in Linear

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearListTeamsParams"
/>

### `linear_list_workflow_states`

List workflow states

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearListWorkflowStatesParams"
/>

### `linear_create_workflow_state`

Create a new workflow state

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearCreateWorkflowStateParams"
/>

### `linear_list_projects`

List projects in Linear

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearListProjectsParams"
/>

### `linear_get_project`

Get a specific project by ID

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearGetProjectParams"
/>

### `linear_create_project`

Create a new project

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearCreateProjectParams"
/>

### `linear_update_project`

Update an existing project

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearUpdateProjectParams"
/>

### `linear_list_cycles`

List cycles (sprints)

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearListCyclesParams"
/>

### `linear_get_cycle`

Get a specific cycle by ID

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearGetCycleParams"
/>

### `linear_create_cycle`

Create a new cycle (sprint)

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearCreateCycleParams"
/>

### `linear_update_cycle`

Update an existing cycle

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearUpdateCycleParams"
/>

### `linear_list_labels`

List labels in Linear

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearListLabelsParams"
/>

### `linear_create_issue_relation`

Create a relation between two issues

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearCreateIssueRelationParams"
/>

### `linear_delete_issue_relation`

Delete an issue relation

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearDeleteIssueRelationParams"
/>

### `linear_list_documents`

List documents

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearListDocumentsParams"
/>

### `linear_get_document`

Get a specific document by ID

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearGetDocumentParams"
/>

### `linear_create_document`

Create a new document

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearCreateDocumentParams"
/>

### `linear_update_document`

Update an existing document

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearUpdateDocumentParams"
/>

### `linear_list_initiatives`

List initiatives

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearListInitiativesParams"
/>

### `linear_get_initiative`

Get a specific initiative by ID

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearGetInitiativeParams"
/>

### `linear_create_initiative`

Create a new initiative

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearCreateInitiativeParams"
/>

### `linear_create_attachment`

Create an attachment (link) on an issue

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearCreateAttachmentParams"
/>

### `linear_create_project_update`

Create a status update for a project

<AutoTypeTable
  path="generated/tool-params/linear.ts"
  name="LinearCreateProjectUpdateParams"
/>

## Notes

- Category: Engineering
- Authentication mode: OAuth
