Problem
When syncing large numbers of issues from external tools (e.g., codebase analysis tools, migration scripts), the only option is to call save_issue one at a time. For 78 issues, this means 78 sequential API calls taking ~2 minutes, where Linear's GraphQL API supports issueBatchCreate for up to 50 issues per call.
Use Case
I'm using codesight (a codebase indexing tool) that exports hundreds of bugs/tasks as structured data. Syncing these to Linear via MCP requires calling save_issue in a loop slow and noisy in agent conversations.
Proposed Solution
Add a batch_save_issues tool that accepts an array of issue objects and maps to
Linear's issueBatchCreate GraphQL mutation.
{
"issues": [
{ "title": "...", "team": "...", "project": "...", "priority": 2, "labels": ["Bug"] },
{ "title": "...", "team": "...", "project": "...", "priority": 2, "labels": ["Bug"] }
]
}
Returns array of created issue IDs/identifiers.
Benefits
- Performance: 50 issues per call instead of 1
- Token efficiency: Reduces agent context usage significantly
- Already supported by Linear API: issueBatchCreate mutation exists
Alternatives Considered
- Calling save_issue in parallel (current workaround, still 1 API call per issue)
- Using Linear GraphQL API directly via HTTP (bypasses MCP entirely)
Problem
When syncing large numbers of issues from external tools (e.g., codebase analysis tools, migration scripts), the only option is to call
save_issueone at a time. For 78 issues, this means 78 sequential API calls taking ~2 minutes, where Linear's GraphQL API supportsissueBatchCreatefor up to 50 issues per call.Use Case
I'm using codesight (a codebase indexing tool) that exports hundreds of bugs/tasks as structured data. Syncing these to Linear via MCP requires calling
save_issuein a loop slow and noisy in agent conversations.Proposed Solution
Add a
batch_save_issuestool that accepts an array of issue objects and maps toLinear's
issueBatchCreateGraphQL mutation.{ "issues": [ { "title": "...", "team": "...", "project": "...", "priority": 2, "labels": ["Bug"] }, { "title": "...", "team": "...", "project": "...", "priority": 2, "labels": ["Bug"] } ] }Returns array of created issue IDs/identifiers.
Benefits
Alternatives Considered