publicProject managementJan 1, 20260 calls
Linear MCP Template
Curated MCP template for issues, projects, teams, and workflow updates.
Hosted MCP endpoint
/api/mcp/preset-linearPrivate servers require an Astrail API key in the Authorization header.
MCP client snippets
Claude Desktop config
{
"mcpServers": {
"linear-mcp-template": {
"url": "/api/mcp/preset-linear"
}
}
}cURL initialize
curl -sS -X POST "/api/mcp/preset-linear" \
-H 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'cURL tools/list
curl -sS -X POST "/api/mcp/preset-linear" \
-H 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'cURL tools/call
curl -sS -X POST "/api/mcp/preset-linear" \
-H 'Content-Type: application/json' \
--data '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"linear_search_issues","arguments":{"query":"example"}}}'Runtime behavior
Runtime health
needs_mappingEndpoint health
not_checkedExecution mode
mapping_requiredDeterministic executionNot yet executable
Generated sourceExport only
Endpoint mapRequired
Endpoint mappedNo
Auth-required endpointsNone detected
Browser runtime endpointsNone detected
Last status
not recordedLast execution mode
not recordedLast toolnot recorded
Last latencynot recorded
Upstream statusnot recorded
Trace ID
not recordedError code
noneObservability
structured fallbackRate limit mode
standardMissing auth
auth_requiredMissing mapping
mapping_requiredAstrail does not evaluate generated TypeScript inside Next.js. Hosted calls are routed through stored tool metadata and endpoint maps.
Tools
linear_search_issuesSearch Linear issues by text, assignee, team, or status.
linear_create_issueCreate a Linear issue with title, description, team, and priority.
linear_update_issue_statusMove a Linear issue to a new workflow status.
server.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";
const server = new McpServer({ name: "Linear MCP Template", version: "1.0.0" });
// Curated Astrail template. Add the provider API token and replace the
// placeholder handlers with real fetch calls for: linear_search_issues, linear_create_issue, linear_update_issue_status.
server.tool("template_status", "Confirm this curated MCP template is installed.", z.object({}), async () => ({
content: [{ type: "text", text: "Template installed. Add provider credentials to enable live API calls." }],
}));
const transport = new StdioServerTransport();
await server.connect(transport);