About issueport
issueport is a GraphQL client and stdio MCP server for a core subset of Linear's teams, projects, issues, and comments operations. It is for users connecting to Linear with an API key, offering 12 tools without reproducing the hosted OAuth service.
Key features
- 01List and retrieve teams and projects
- 02Create projects and issues
- 03Search and update issues
- 04Archive issues
- 05List and create comments
Use cases
- 01Search for a Linear issue
- 02Create or update an issue
- 03Review or add issue comments
MCP support
The stdio MCP server exposes 12 tools for Linear teams, projects, issues, and comments. Calls use the Linear GraphQL API and require `LINEAR_API_KEY`.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
12Saved tool list · updated 1w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | number | No | Maximum number of issues to return; defaults to 50 when omitted. |
| team_id | string | No | Id of the Linear team to restrict the listed issues to; when omitted, issues from all teams are listed. |
Details
From the project READMEissueport
Linear teams, projects, issues and comments as MCP tools, talking to the Linear GraphQL API. issueport is a clean-room rebuild of the core subset of the Linear MCP surface, under a new name: fresh code written from Linear's public API documentation, no copied branding. The original Linear server is hosted/remote with OAuth; this rebuild is a GraphQL client for the same upstream API using an API key, and does not reproduce the hosted OAuth surface.
Tools (core subset, 12)
list_issues, get_issue, create_issue, update_issue,
search_issues, list_teams, get_team, list_projects,
create_project, list_comments, create_comment, archive_issue.
Not in this subset: cycles, documents, file uploads, webhooks, OAuth apps, time tracking, triage/custom workflows admin, project milestones/labels management, attachments, notifications.
Each tool is one GraphQL operation (query or mutation) posted as
{query, variables}; a GraphQL errors array fails the call with the
first error's message.
Setup
export LINEAR_API_KEY=lin_api_...
Note: Linear API keys are sent raw as the Authorization header
value — not as a Bearer token. Optionally override the endpoint with
LINEAR_API_URL (default https://api.linear.app/graphql). Without
the key, every tool call fails with an error naming the missing
variable.
CLI
npx @reneturcios/issueport get_issue '{"issue_id":"..."}'
npx @reneturcios/issueport mcp # stdio MCP server
Each tool name is a subcommand taking one JSON object argument.
MCP client config
{
"mcpServers": {
"issueport": {
"command": "npx",
"args": ["-y", "@reneturcios/issueport", "mcp"],
"env": { "LINEAR_API_KEY": "lin_api_..." }
}
}
}
Docker
docker run -i -e LINEAR_API_KEY ghcr.io/cloudcorprecords/issueport
Development
npm install
npm run build
npm test
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.