by Linear
Create or update an issue
Creates an issue in a team with its title, description, assignee, labels and priority, or updates an existing issue when you pass its id.
Description
On the API, send the `issueCreate` mutation with a `teamId` and a `title`, or `issueUpdate` with the issue's id (its UUID or a key like `BLA-123`) and only the fields to change. An issue created through the API without a `stateId` lands in the team's first Backlog state, or in Triage when the team uses it; through the MCP server it takes the team's default state when you are a member of the team. `save_issue` replaced the separate `create_issue` and `update_issue` tools.
create-issue.md
Create or update an issue
Creates an issue in a team with its title, description, assignee, labels and priority, or updates an existing issue when you pass its id.
On the API, send the issueCreate mutation with a teamId and a title, or
issueUpdate with the issue's id (its UUID or a key like BLA-123) and only
the fields to change. An issue created through the API without a stateId
lands in the team's first Backlog state, or in Triage when the team uses it;
through the MCP server it takes the team's default state when you are a member
of the team. save_issue replaced the separate create_issue and
update_issue tools.
Set up
Use the first option your agent supports.
MCP (official, remote)
Add this server to your agent's MCP settings, then sign in when asked.
{ "mcpServers": { "linear": { "url": "https://mcp.linear.app/mcp" } } }
Call the MCP tool save_issue.
Server URL: https://mcp.linear.app/mcp
API (official)
- Base URL: https://api.linear.app
- Endpoint:
POST /graphql - Auth: send the header
Authorization: $LINEAR_API_KEY - Get a key: https://linear.app/settings/account/security
- Docs: https://linear.app/developers/graphql
Before doing anything else, make one read-only call to confirm access.
Rules
- Ask the user before anything that sends messages, costs money, or changes data.
- Never print API keys.
Built from these files in the repository
The layout and the rules come from lib/catalog/render-markdown.ts, the set-up wording from lib/catalog/render-access.ts.