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
license - permissive license
-
quality - not tested
F
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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