linear_list_issues
Pack: linear · Endpoint: https://gateway.pipeworx.io/linear/mcp
Browse issues in your Linear workspace, filtered by TEAM, DATE RANGE, state, priority, assignee, project, cycle, or labels \u2014 alone or combined. filter is Linear’s own IssueFilter, so anything IssueFilter expresses works here: filter one team ({“team”:{“key”:{“eq”:“ENG”}}}), a date window ({“updatedAt”:{“gte”:“-P2W”}}), or several DIFFERENT filter sets at once via or. Returns issue ID, title, state, priority, assignee, and URL, newest-updated first.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
filter | string,object | no | Optional Linear IssueFilter, passed straight through to the issues query. Send it as an object, or as a JSON string — both work. |
TEAM | unknown | no | |
DATE | unknown | no | |
now | unknown | no | |
STATE | unknown | no | |
first | number | no | Number of issues to return (default 20, max 50) |
Example call
Arguments
{
"first": 20
}
curl
curl -X POST https://gateway.pipeworx.io/linear/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"linear_list_issues","arguments":{"first":20}}}'
TypeScript (@pipeworx/sdk)
import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();
const result = await pipeworx.call('linear_list_issues', {
"first": 20
});
More examples
{
"filter": "{\"state\":{\"name\":{\"eq\":\"In Progress\"}}}",
"first": 10
}
{
"filter": "{\"team\":{\"key\":{\"eq\":\"ENG\"}},\"updatedAt\":{\"gte\":\"-P2W\"}}",
"first": 25
}
{
"filter": "{\"or\":[{\"team\":{\"key\":{\"eq\":\"ENG\"}},\"state\":{\"name\":{\"eq\":\"In Progress\"}}},{\"team\":{\"key\":{\"eq\":\"DES\"}},\"state\":{\"name\":{\"eq\":\"Backlog\"}}}]}",
"first": 50
}
Response shape
Always returns: issues
| Field | Type | Description |
|---|---|---|
issues | array | List of issues matching the filter |
Full JSON Schema
{
"type": "object",
"properties": {
"issues": {
"type": "array",
"description": "List of issues matching the filter",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Issue ID"
},
"identifier": {
"type": "string",
"description": "Issue identifier (e.g., ABC-123)"
},
"title": {
"type": "string",
"description": "Issue title"
},
"state": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "State name"
}
}
},
"priority": {
"type": "number",
"description": "Priority level"
},
"priorityLabel": {
"type": "string",
"description": "Human-readable priority label"
},
"assignee": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Assignee name"
},
"email": {
"type": "string",
"description": "Assignee email"
}
}
},
"url": {
"type": "string",
"description": "Issue URL"
},
"createdAt": {
"type": "string",
"description": "Creation timestamp"
},
"updatedAt": {
"type": "string",
"description": "Last update timestamp"
}
}
}
}
},
"required": [
"issues"
]
}
Connect
Add this to your MCP client config, or use one-click install buttons:
{
"mcpServers": {
"linear": {
"url": "https://gateway.pipeworx.io/linear/mcp"
}
}
}
See Getting Started for client-specific install steps.