Create a Linear issue

flurryport:linear-create-issuedeliveryv1first-partysha256:fe0a28987d18Needs: read/write agent token

Let your AI file Linear issues with an API key it never touches.

Create an issue in a Linear team via the GraphQL API. The personal API key rides the Authorization header and is resolved server-side at delivery; the team is fixed at install.

The credential never enters the model context: it lives in the FlurryPORT secret store, deliveries are signed server-side, and every send returns a receipt your agent can quote.

What this is

Your AI creates Linear issues with an API key it never touches. It sends a title, description, and optional priority through the pipe; FlurryPORT holds the personal API key server-side and calls Linear's GraphQL API at delivery.

Setup in two steps

  1. Linear side. Settings, API keys, Create API key (the personal-key form; if you are asked for redirect URIs you have wandered into OAuth applications). Grant only Read plus Create issues.
  2. FlurryPORT side. Your AI requests secret setup and FlurryPORT emails you a secure page. Paste the key; the target team is fixed at install.

Credential custody

Stored encrypted, added server-side at delivery, scrubbed from stored responses. Minimal permissions on the key mean the pipe can file issues and nothing else.

What to expect

GraphQL has one habit worth knowing: it answers 200 even on failure. The receipt is judged by the body, where success means issueCreate.success true and failures arrive as an errors array. Your AI reads the body and reports honestly either way.

Install with your agent

npx flurryport mcp

Point your agent at the FlurryPORT MCP server (npx flurryport mcp) and ask it for the flurryport:linear-create-issue recipe. Works from AI clients that can run a local process: desktop apps and terminal agents. Web-only chat clients cannot reach a local MCP server; open a desktop client instead.

Tools your agent gains

flry_linear_create_issue
Create a Linear issue in the configured team. Input: title (required), description (optional, markdown), priority (optional, 0 none to 4 low).

Setup walkthrough

  1. LINEAR_API_KEY: In Linear: Settings, API keys, Create API key (a personal key; if a form asks for redirect URIs you are in OAuth applications, the wrong form). Under Permissions choose Only select permissions and tick exactly 'Read' and 'Create issues' ('Write' is broader than you need). Under Team access, 'Only select teams' limited to the receiving team is the tight choice. Copy the key and paste it into the FlurryPORT secret page. It is sent as the Authorization header value, no Bearer prefix.

Intent schema

{
  "type": "object",
  "required": [
    "title"
  ],
  "properties": {
    "title": {
      "type": "string",
      "maxLength": 255
    },
    "description": {
      "type": "string",
      "description": "Issue body, markdown supported. Sent as an empty string when omitted."
    },
    "priority": {
      "type": "number",
      "description": "0 none, 1 urgent, 2 high, 3 medium, 4 low. Sent as 0 when omitted."
    }
  }
}

Install-time parameters

teamId
install-time: Team that receives the issues created by this install.

Transformation

{ "query": "mutation($input: IssueCreateInput!) { issueCreate(input: $input) { success issue { identifier url } } }", "variables": { "input": { "teamId": $install.teamId, "title": $body.title, "description": ($exists($body.description) ? $body.description : ""), "priority": ($exists($body.priority) ? $body.priority : 0) } } }

Delivery target

POST https://api.linear.app/graphql

Placeholders like $secrets.NAME resolve server-side at delivery, never in the agent.

Gotchas

Where this fits

Related recipes

flurryport:azure-devops-managedelivery

Create and update Azure DevOps work items in one batched pipe: priority, state, tags, and sprint included.

flurryport:azure-devops-querydelivery

Query Azure DevOps work items with WIQL and read the matching ids back, without your AI ever holding the PAT.

flurryport:azure-devops-readdelivery

Read fields for a batch of Azure DevOps work items by id: title, state, tags, priority, iteration.

flurryport:azure-devops-workitemdelivery

Let your AI file Azure DevOps work items (bugs, tasks) the model never holds credentials for.

flurryport:github-create-issuedelivery

Let your AI file GitHub issues with a fine-grained PAT it never touches.

flurryport:jira-create-issuedelivery

Let your AI file Jira Cloud issues with an API token it never touches.