How to Connect Linear to an AI Agent
Auth setup
1. For personal scripts/agents: Settings > API > Personal API keys > Create key. 2. For multi-user integrations: create an OAuth application at Settings > API > OAuth applications. 3. The official Linear MCP server handles the full OAuth flow.
Key facts
| Base URL | https://api.linear.app/graphql |
| API version | GraphQL (v2 schema, backward-compatible) |
| Auth | Two auth methods: (1) OAuth 2.0 with PKCE for user-installed apps (preferred) and (2) Personal API Key (for personal / service-account use). Bearer token in Authorization header: `Authorization: {api_key}` — note the absence of the word "Bearer" for API keys; OAuth tokens use "Bearer {token}". |
| Token URL | https://api.linear.app/oauth/token |
| Scopes | read, write, issues:create, comments:create, admin (least-privilege scopes available) |
| Request body | application/json |
| Pagination | Relay-style cursor pagination: `first`/`after` and `last`/`before` arguments with `pageInfo { endCursor hasNextPage }`. |
| Rate limit | 1,500 GraphQL complexity points per hour per API key for personal tokens, 5,000 complexity/hour for OAuth apps. Each field/mutation has a complexity weight — check the X-Complexity and X-RateLimit-Remaining response headers. |
| Error format | GraphQL standard: {"errors":[{"message":"...","extensions":{"code":"...","type":"..."}}],"data":null} |
Key endpoints
| Method | Path | Description |
POST | /graphql (query: issue) | Get a single issue by ID or identifier |
POST | /graphql (query: issues) | Search/list issues with filters (team, state, assignee) |
POST | /graphql (mutation: issueCreate) | Create a new issue |
POST | /graphql (mutation: issueUpdate) | Update an existing issue (status, assignee, labels) |
POST | /graphql (query: teams) | List teams the authenticated user belongs to |
POST | /graphql (mutation: commentCreate) | Add a comment to an issue |
Quickstart
POST https://api.linear.app/graphql
Authorization: {api_key}
Content-Type: application/json
{"query":"{ viewer { id name email } issues(first: 5) { nodes { id identifier title state { name } } } }"}
Agent pitfalls & tips
- [object Object]
- [object Object]
- [object Object]
- [object Object]
- [object Object]
- [object Object]
- [object Object]
- [object Object]
- [object Object]
- [object Object]
Source: curated by KanseiLink from official documentation (docs) and registry checks. Last reviewed: 2026-06-08. Specs change — verify against the official docs before production use.
Frequently Asked Questions
What is Linear's AEO score?
▼
Linear has an AEO score of 0.90 and is rated AA (Strong agent support with minor gaps). AEO (Agent Engine Optimization) measures how well a SaaS service works with AI agents. Scores range from 0.00 to 1.00, with grades from AAA (best) to D (not agent-ready).
Is Linear AI-agent-ready?
▼
Linear is currently ✓ verified for AI agent use. It offers an official MCP (Model Context Protocol) server, which means AI agents can connect directly. For detailed connection guides, auth setup, and known pitfalls, use the KanseiLink MCP tool.
How does Linear compare to other Project Management services?
▼
In the Project Management category, Linear is rated AA. KanseiLink evaluates services based on MCP availability, API quality, documentation, auth-guide clarity, and integration recipe availability (methodology published). Visit the full rankings at kansei-link.com to see how Linear compares.
How can I integrate Linear with an AI agent?
▼
The fastest way to integrate Linear with an AI agent is through KanseiLink MCP. Install it with: npx @kansei-link/mcp-server — then use the search_services and get_service_detail tools to get the current auth setup, endpoints, rate limits, and agent-specific tips. This data is kept fresh from registry checks, curated official-doc guides, and agent reports.
How do I authenticate with Linear?
▼
Two auth methods: (1) OAuth 2.0 with PKCE for user-installed apps (preferred) and (2) Personal API Key (for personal / service-account use). Bearer token in Authorization header: `Authorization: {api_key}` — note the absence of the word "Bearer" for API keys; OAuth tokens use "Bearer {token}". Setup: 1. For personal scripts/agents: Settings > API > Personal API keys > Create key. 2. For multi-user integrations: create an OAuth application at Settings > API > OAuth applications. 3. The official Linear MCP server handles the full OAuth flow.
What are Linear's API rate limits?
▼
1,500 GraphQL complexity points per hour per API key for personal tokens, 5,000 complexity/hour for OAuth apps. Each field/mutation has a complexity weight — check the X-Complexity and X-RateLimit-Remaining response headers.