Skip to main content
Glama
cosmix

Linear MCP Server

by cosmix

Linearer MCP-Server

Eine Model Context Protocol (MCP)-Serverimplementierung, die über eine standardisierte Schnittstelle Zugriff auf das Issue-Tracking-System von Linear bietet.

Merkmale

  • Erstellen Sie neue Ausgaben und Unterausgaben mit Label-Unterstützung

  • Rufen Sie die Liste der linearen Projekte ab

  • Abrufen der Projektaktualisierungen

  • Erstellen Sie ein neues Projektupdate mit Integritätsstatus

  • Aktualisieren Sie vorhandene Probleme mit der vollständigen Feldänderung

  • Problem mit Validierung löschen

  • Weisen Sie Probleme mithilfe des Schlüsselworts „me“ selbst zu

  • Erweiterte Suche mit den leistungsstarken Filterfunktionen von Linear

  • Filtern Sie Probleme nach Zyklus (aktueller, nächster, vorheriger oder bestimmter Zyklus nach UUID oder Nummer).

  • Fügen Sie mit Markdown-Unterstützung Kommentare zu Problemen hinzu

  • Abfrage linearer Probleme nach ID oder Schlüssel mit optionalen Beziehungen

  • Suchen Sie nach Problemen mithilfe benutzerdefinierter Abfragen mit erweiterten Metadaten

  • Typsichere Operationen mit dem offiziellen SDK von Linear

  • Umfassende Fehlerbehandlung

  • Handhabung der Ratenbegrenzung

  • Saubere Datentransformation

  • Verfolgung von Eltern-Kind-Beziehungen mit Teamvererbung

  • Etikettenverwaltung und -synchronisierung

Related MCP server: Linear MCP Server

Voraussetzungen

  • Bun -Laufzeitumgebung (v1.0.0 oder höher)

  • Lineares Konto mit API-Zugriff

Umgebungsvariablen

LINEAR_API_KEY=your_api_key  # Your Linear API token

Installation und Einrichtung

1. Klonen Sie das Repository:

git clone [repository-url]
cd linear-mcp

2. Installieren Sie Abhängigkeiten und erstellen Sie:

bun install
bun run build

3. Konfigurieren Sie den MCP-Server:

Bearbeiten Sie die entsprechende Konfigurationsdatei:

macOS:

  • Cline: ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

  • Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows:

  • Cline: %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json

  • Claude Desktop: %APPDATA%\Claude Desktop\claude_desktop_config.json

Linux:

  • Cline: ~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json

  • Claude Desktop: existiert leider noch nicht

Fügen Sie die folgende Konfiguration unter dem Objekt mcpServers hinzu:

{
  "mcpServers": {
    "linear": {
      "command": "node",
      "args": ["/absolute/path/to/linear-mcp/build/index.js"],
      "env": {
        "LINEAR_API_KEY": "your_api_key"
      }
    }
  }
}

4. Starten Sie den MCP-Server neu.

Starten Sie den MCP-Server in den MCP-Einstellungen von Cline neu. Starten Sie Claude Desktop neu, um den neuen MCP-Server zu laden.

Entwicklung

Entwicklungsserver ausführen:

bun run dev

Projekt erstellen:

bun run build

Verfügbare MCP-Tools

Ausführliche Anwendungsbeispiele für alle Tools finden Sie unter USAGE.md .

Problem erstellen

Erstellen Sie eine neue lineare Ausgabe oder Unterausgabe.

Eingabeschema:

{
  "teamId": "string",     
  "title": "string",      
  "description": "string",
  "parentId": "string",   
  "status": "string",
  "priority": "number",   
  "assigneeId": "string | 'me'",
  "labelIds": ["string"]  
}

Aktualisierungsproblem

Aktualisieren Sie ein vorhandenes lineares Problem.

Eingabeschema:

{
  "issueId": "string",    
  "title": "string",
  "description": "string",
  "status": "string",     // Expects status NAME (e.g., "In Progress"). Must be valid for the issue's team.
  "priority": "number",   // Expects 0 (None) to 4 (Low).
  "assigneeId": "string | 'me'",
  "labelIds": ["string"],
  "cycleId": "string"
}

Problem melden

Erhalten Sie detaillierte Informationen zu einem bestimmten linearen Problem mit optionalen Beziehungen.

Eingabeschema:

{
  "issueId": "string",
  "includeRelationships": "boolean"  
}

Suchprobleme

Suchen Sie mithilfe einer Abfragezeichenfolge und erweiterter Filter nach Linear-Problemen. Unterstützt die leistungsstarken Filterfunktionen von Linear.

Eingabeschema:

{
  "query": "string",
  "includeRelationships": "boolean",
  "filter": {
    "title": { "contains": "string", "eq": "string", ... },
    "description": { "contains": "string", "eq": "string", ... },
    "priority": { "gte": "number", "lt": "number", ... },
    "estimate": { "eq": "number", "in": ["number"], ... },
    "dueDate": { "lt": "string", "gt": "string", ... },
    "createdAt": { "gt": "P2W", "lt": "2024-01-01", ... },
    "updatedAt": { "gt": "P1M", ... },
    "completedAt": { "null": true, ... },
    "assignee": { "id": { "eq": "string" }, "name": { "contains": "string" } },
    "creator": { "id": { "eq": "string" }, "name": { "contains": "string" } },
    "team": { "id": { "eq": "string" }, "key": { "eq": "string" } },
    "state": { "type": { "eq": "started" }, "name": { "eq": "string" } },
    "labels": { "name": { "in": ["string"] }, "every": { "name": { "eq": "string" } } },
    "project": { "id": { "eq": "string" }, "name": { "contains": "string" } },
    "and": [{ /* filters */ }],
    "or": [{ /* filters */ }],
    "assignedTo": "string | 'me'",
    "createdBy": "string | 'me'"
  },
  "projectId": "string",
  "projectName": "string"
}

Unterstützte Komparatoren:

  • Zeichenfolgenfelder: eq , neq , in , nin , contains , startsWith , endsWith (plus Varianten ohne Berücksichtigung der Groß-/Kleinschreibung)

  • Zahlenfelder: eq , neq , lt , lte , gt , gte , in , nin

  • Datumsfelder: eq , neq , lt , lte , gt , gte (unterstützt ISO 8601-Zeiträume)

get_teams

Erhalten Sie eine Liste linearer Teams mit optionaler Namens-/Schlüsselfilterung.

Eingabeschema:

{
  "nameFilter": "string"  
}

Problem löschen

Löschen Sie ein vorhandenes lineares Problem.

Eingabeschema:

{
  "issueId": "string"
}

Kommentar erstellen

Erstellen Sie einen neuen Kommentar zu einem linearen Problem.

Eingabeschema:

{
  "issueId": "string",
  "body": "string"
}

Projekte abrufen

Erhalten Sie eine Liste linearer Projekte mit optionaler Namensfilterung und Paginierung.

Eingabeschema:

{
  "nameFilter": "string",
  "includeArchived": "boolean",
  "first": "number",
  "after": "string"
}

Projektaktualisierungen abrufen

Erhalten Sie Projektaktualisierungen für eine bestimmte Projekt-ID mit optionalen Filterparametern.

Eingabeschema:

{
  "projectId": "string",
  "includeArchived": "boolean",
  "first": "number",
  "after": "string",
  "createdAfter": "string",
  "createdBefore": "string",
  "userId": "string | 'me'",
  "health": "string"
}

Projektaktualisierung erstellen

Erstellen Sie ein neues Update für ein lineares Projekt.

Eingabeschema:

{
  "projectId": "string",
  "body": "string",
  "health": "onTrack | atRisk | offTrack",
  "isDiffHidden": "boolean"
}

Technische Details

  • Erstellt mit TypeScript im strikten Modus

  • Verwendet das offizielle SDK von Linear (@linear/sdk)

  • Verwendet MCP SDK (@modelcontextprotocol/sdk 1.4.0)

  • Authentifizierung über API-Token

  • Umfassende Fehlerbehandlung

  • Überlegungen zur Ratenbegrenzung

  • Bun-Laufzeit für verbesserte Leistung

  • ESM-Module im gesamten

  • Vite-Build-System

  • Typsichere Operationen

  • Datenbereinigungsfunktionen:

    • Extraktion von Problemerwähnungen (ABC-123-Format)

    • Extraktion von Benutzererwähnungen (@Benutzername-Format)

    • Markdown-Inhaltsbereinigung

    • Inhaltsoptimierung für den KI-Kontext

  • Unterstützung bei der Selbstzuweisung:

    • Automatische Auflösung des aktuellen Benutzers

    • Unterstützung des Schlüsselworts „me“ bei Erstellungs-/Aktualisierungsvorgängen

    • Effizientes Benutzer-ID-Caching

  • Erweiterte Suchfunktionen:

    • Umfassende Filterung mit der API von Linear

    • Unterstützung für alle Feldkomparatoren

    • Beziehungsfilterung

    • Logische Operatoren (und, oder)

    • Relative Datumsfilterung

    • Filtern nach Beauftragtem/Ersteller (einschließlich sich selbst)

    • Unterstützung für bestimmte Benutzer-IDs

    • Projektfilterung nach ID oder Name

    • Effiziente Abfrageoptimierung

  • Projektmanagementfunktionen:

    • Projektliste mit Filterung und Seitennummerierung

    • Erstellung von Projektupdates mit Integritätsstatus-Tracking

    • Abrufen von Projektaktualisierungen mit Filteroptionen

Fehlerbehandlung

Der Server implementiert eine umfassende Fehlerbehandlungsstrategie:

  • Netzwerkfehlererkennung und entsprechende Meldung

  • HTTP-Statuscode-Behandlung

  • Detaillierte Fehlermeldungen mit Statuscodes

  • Protokollierung der Fehlerdetails in der Konsole

  • Eingabevalidierung für alle Parameter

  • Validierung und Synchronisierung von Etiketten

  • Sichere Fehlerweiterleitung durch MCP-Protokoll

  • Erkennung und Handhabung von Ratenbegrenzungen

  • Authentifizierungsfehlerbehandlung

  • Ungültige Abfragebehandlung

  • Teamvererbungsvalidierung für Unterprobleme

  • Validierung der Benutzerauflösung

  • Suchfiltervalidierung

LIZENZ

Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENCE .

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/cosmix/linear-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server