Skip to main content
Glama

🚀 Linear-MCP-for-Gemini_CLI

License: ISC Node.js Version Model Context Protocol

Gemini CLIをLinearワークスペースに直接接続するために構築された、強力なオープンソースの**Model Context Protocol (MCP)**サーバーです。ターミナルから自然言語を使用して、課題、チーム、ワークフローをシームレスに管理できます。


🌟 特徴

  • 🔍 検索と発見: Gemini CLIから直接、ワークスペース全体の課題を検索できます。

  • 📝 課題管理: 課題の取得、作成、更新(ステータス、優先度、担当者など)を簡単に行えます。

  • 💬 コラボレーション: ターミナルを離れることなく、課題にコメントを追加できます。

  • 🏢 ワークスペースの洞察: チーム、ユーザー、ワークフローの状態を一覧表示し、Geminiに完全なコンテキストを提供します。

  • ⚡ リアルタイム統合: 低遅延で安全な通信を実現するModel Context Protocolに基づいて構築されています。


Related MCP server: Linear MCP Server

📋 前提条件

開始する前に、以下がインストールされていることを確認してください:

  • Node.js: バージョン18.0.0以上。

  • Gemini CLI: マシンにインストールおよび設定済みであること。

  • Linearアカウント: APIキーを生成する権限があること。


📖 Gemini CLI統合ガイド(完全版)

このサーバーはTypeScriptで記述されています。Gemini CLIがMCPサーバーを実行するには標準のJavaScript実行ファイルが必要なため、最初にプロジェクトをダウンロードして「ビルド」する必要があります。

以下の4つのステップに従って接続を完了させてください。

ステップ1: サーバーのダウンロードとビルド

  1. リポジトリをマシンにクローンします:

    git clone https://github.com/tenx-studio/Linear-MCP.git
    cd linear-mcp-open-source
  2. 必要なパッケージをインストールします:

    npm install
  3. コードをコンパイルします:

    npm run build

    (なぜこれを行うのか?このコマンドはTypeScriptコードをdist/index.jsファイルに変換します。これがGemini CLIがLinearと通信するために使用するファイルです。)

ステップ2: Linear APIキーの取得

  1. Linearワークスペースの Settings > API > Personal API keys に移動します。

  2. New API key をクリックし、わかりやすい名前(例: "Gemini CLI")を付けます。

  3. キーをコピーします(最後のステップで必要になります)。

ステップ3: Gemini CLIへの接続(必要な唯一の設定)

次に、ビルドしたサーバーの場所をGemini CLIに伝え、APIキーを安全に提供します。これを行うには、Gemini CLIの設定ファイルを編集します。

  1. 設定ファイルの場所: ファイルエクスプローラーまたはターミナルを開き、ユーザーのホームディレクトリにある.geminiフォルダーを探します:

    • Windows: %USERPROFILE%\.gemini\settings.json (例: C:\Users\YourName\.gemini\settings.json)

    • Mac/Linux: ~/.gemini/settings.json (注: .geminiフォルダーやsettings.jsonファイルがまだ存在しない場合は、作成してください。)

  2. 設定の追加: settings.jsonを任意のテキストエディター(VS Code、Notepad、TextEditなど)で開き、以下のmcpブロックを貼り付けます。ファイルに既に内容がある場合は、メインの{}括弧内に"mcp"セクションを追加してください:

{
  "mcp": {
    "servers": {
      "linear": {
        "command": "node",
        "args": ["/ABSOLUTE/PATH/TO/linear-mcp-open-source/dist/index.js"],
        "env": {
          "LINEAR_API_KEY": "lin_api_your_key_here"
        }
      }
    }
  }
}

⚠️ 重要な調整:

  • args: /ABSOLUTE/PATH/TO/... を、このリポジトリをクローンしたコンピューター上の実際のフルパスに置き換える必要があります。(例: "D:/Projects/linear-mcp-open-source/dist/index.js")

  • LINEAR_API_KEY: lin_api_your_key_here を、ステップ2でコピーした実際のAPIキーに置き換えてください。

ステップ4: チャットを開始!

ターミナルを閉じて再度開き、Gemini CLIセッションを再起動します。これで統合が有効になります!

Gemini CLIに次のように話しかけてみてください:

"List my Linear teams." (Linearのチームをリストアップして) "Find the issue about the login bug." (ログインバグに関する課題を見つけて) "Create a new high priority issue in the Engineering team to update the README." (READMEを更新するために、Engineeringチームに優先度高の新しい課題を作成して)


🤖 自動接続の仕組み

「これを使うたびにnpm startを実行する必要があるのか?手動でサーバー接続を設定する必要があるのか?」 と思われるかもしれません。

いいえ!追加で行うことは何もありません。

ステップ3で設定ブロックを追加することが、必要な唯一のセットアップです。内部では正確に以下のことが行われます:

  1. ゼロタッチ起動: settings.jsonに設定を追加したため、Gemini CLIがネイティブにホストとして機能します。

  2. バックグラウンド実行: 新しいGemini CLIチャットを開始するたびに、このLinear MCPサーバーが隠れたバックグラウンドプロセスとして自動的に起動します。

  3. 安全なハンドシェイク: Gemini CLIは設定から"LINEAR_API_KEY"を読み取り、サーバーに直接安全に注入します。

  4. クリーンな終了: Gemini CLIを閉じると、バックグラウンドサーバーは自動的に終了します。

設定で一度構成するだけで、Model Context Protocolがライフサイクル全体を自動的に処理します!


🤝 コントリビューション

オープンソースコミュニティは、学び、刺激を受け、創造するための素晴らしい場所です。皆様からのコントリビューションは非常に歓迎されます。

  1. プロジェクトをフォークする

  2. フィーチャーブランチを作成する (git checkout -b feature/AmazingFeature)

  3. 変更をコミットする (git commit -m 'Add some AmazingFeature')

  4. ブランチにプッシュする (git push origin feature/AmazingFeature)

  5. プルリクエストを開く


📄 ライセンス

このプロジェクトは ISCライセンス の下でライセンスされています。


AI開発者コミュニティのために愛を込めて作成されました。

Available Tools

8 tools
linear_add_commentC

Add a comment to an issue

ParametersJSON Schema
NameRequiredDescriptionDefault
issueIdYesThe ID or key of the issue
bodyYesThe content of the comment

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states this is a write operation ('Add'), implying mutation, but doesn't cover important aspects like required permissions, whether the action is reversible, rate limits, or what happens on success/failure. This leaves significant gaps for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero wasted words. It's appropriately sized for a simple tool and front-loads the essential information without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description is incomplete. It doesn't address behavioral aspects like permissions, side effects, or response format, which are critical for an agent to use this tool correctly in context with its siblings.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, with both parameters (issueId and body) clearly documented in the schema. The description doesn't add any meaningful semantic context beyond what the schema already provides (e.g., format examples, constraints), so it meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Add a comment') and the target resource ('to an issue'), providing a specific verb+resource combination. However, it doesn't differentiate this tool from its siblings (like linear_update_issue which might also handle comments), so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing an existing issue), exclusions, or how it differs from sibling tools like linear_update_issue that might also modify issues.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

linear_create_issueC

Create a new issue in a team

ParametersJSON Schema
NameRequiredDescriptionDefault
teamIdYesThe ID of the team to create the issue in
titleYesThe title of the issue
descriptionNoThe description of the issue

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It states this creates a new issue, implying a write operation, but doesn't mention permission requirements, whether the creation is reversible, rate limits, or what happens on success/failure. For a mutation tool with zero annotation coverage, this is a significant gap in transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized for a basic creation tool and front-loads the essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a mutation tool (creating issues) with no annotations and no output schema, the description is insufficient. It doesn't explain what happens after creation—whether it returns the new issue ID, success status, or error details. For a tool that modifies system state, more behavioral context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with clear documentation for all three parameters (teamId, title, description). The description doesn't add any parameter-specific information beyond what the schema already provides, such as format examples or constraints. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Create a new issue') and the resource ('in a team'), making the purpose immediately understandable. However, it doesn't differentiate this from sibling tools like linear_update_issue or linear_search_issues, which would require more specific language about creation versus modification or retrieval.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites like needing teamId from linear_get_teams, nor does it contrast with linear_update_issue for modifying existing issues or linear_search_issues for finding issues. This leaves the agent without context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

linear_get_issuesC

Get issues from a specific team

ParametersJSON Schema
NameRequiredDescriptionDefault
teamKeyNoThe key of the team (e.g., ENG, DES)
limitNoMaximum number of issues to return

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only states the basic action without disclosing behavioral traits. It doesn't mention permissions needed, rate limits, pagination, sorting, what fields are returned, or whether it's read-only (implied but not explicit). This leaves significant gaps for agent understanding.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words. It's front-loaded with the core purpose, though it could be more structured with additional context. It earns high marks for brevity but loses a point for under-specification.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and a mutation-heavy sibling set (e.g., linear_create_issue, linear_update_issue), the description is incomplete. It doesn't address key contextual aspects like return format, error handling, or how this read tool fits among write operations, leaving the agent with insufficient information for reliable use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents both parameters (teamKey and limit) adequately. The description adds no additional meaning beyond what the schema provides, such as examples of team keys or context for limit usage, meeting the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states 'Get issues from a specific team' which provides a clear verb ('Get') and resource ('issues'), but it's vague about scope and doesn't distinguish from sibling tools like 'linear_search_issues' or 'linear_get_teams'. It doesn't specify whether this retrieves all issues, recent issues, or filtered issues beyond team.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'linear_search_issues' or 'linear_get_teams'. The description implies team-based retrieval but doesn't mention prerequisites, exclusions, or comparative contexts with other issue-related tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

linear_get_teamsC

List all teams in the workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states it's a list operation, implying read-only behavior, but doesn't cover aspects like pagination (implied by the 'limit' parameter in schema), rate limits, authentication needs, or what the output looks like. This is a significant gap for a tool with undocumented parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with zero waste. It's front-loaded with the core purpose, making it efficient and easy to parse, though this brevity contributes to gaps in other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 parameter, no output schema, no annotations), the description is incomplete. It lacks parameter details, usage context, and output information, making it inadequate for an agent to fully understand how to invoke and interpret results from this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 1 parameter with 0% description coverage, and the tool description provides no information about parameters. It doesn't mention the 'limit' parameter at all, leaving it completely undocumented. This fails to compensate for the low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List') and resource ('all teams in the workspace'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like linear_get_users or linear_get_workflow_states, which follow the same 'List all X' pattern, so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites, context for team selection, or comparison to other tools like linear_get_users for user-related queries, leaving the agent to infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

linear_get_usersC

List all users in the workspace

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure but offers minimal information. It states the action ('List all users') but doesn't describe return format (e.g., pagination, fields included), error conditions, rate limits, or authentication requirements. For a tool with zero annotation coverage, this is insufficient to inform the agent about how the tool behaves beyond its basic purpose.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that efficiently conveys the core action without unnecessary words. It is front-loaded with the essential information ('List all users in the workspace'), making it easy for an agent to parse quickly. There is no wasted language or redundant phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one optional parameter, no output schema, no annotations), the description is incomplete. It lacks details on return values (e.g., user object structure), error handling, and practical usage context. While concise, it doesn't provide enough information for an agent to confidently invoke the tool without additional assumptions or trial-and-error.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has one parameter ('limit') with 0% description coverage, and the tool description provides no information about parameters. The description doesn't mention the 'limit' parameter, its purpose (e.g., pagination control), or default value, leaving the agent to infer usage from the schema alone. With low schema coverage, the description fails to compensate by explaining parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('List') and resource ('all users in the workspace'), making the purpose immediately understandable. It distinguishes this from sibling tools like linear_create_issue or linear_update_issue by focusing on user retrieval rather than issue management. However, it doesn't explicitly differentiate from linear_get_teams or linear_get_workflow_states in terms of resource type specificity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., authentication needs), compare it to sibling tools like linear_search_issues for filtered queries, or indicate scenarios where listing all users is appropriate. Without annotations or context signals about usage, this leaves the agent with minimal direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

linear_get_workflow_statesC

Get workflow states for a specific team

ParametersJSON Schema
NameRequiredDescriptionDefault
teamIdYesThe ID of the team

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure but offers minimal information. It implies a read operation ('Get'), but doesn't specify permissions required, rate limits, pagination, error handling, or what the return format looks like (e.g., list of states with properties). This is inadequate for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core purpose without unnecessary words. Every part earns its place, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description is incomplete. It doesn't explain what workflow states are, their structure, or how they relate to issues or teams. For a tool that likely returns structured data (states with names, IDs, colors), this leaves significant gaps for an agent to understand the tool's full context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single parameter 'teamId' clearly documented in the schema. The description adds no additional parameter semantics beyond implying it's for a 'specific team,' which the schema already covers. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and resource ('workflow states for a specific team'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like linear_get_issues or linear_get_teams, which also retrieve data but for different resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a team ID), exclusions, or comparisons to siblings like linear_get_issues (which might include state information). This leaves the agent with minimal context for tool selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

linear_search_issuesC

Search for issues using a query

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe search query
limitNoMaximum number of results to return

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but discloses almost nothing beyond the basic action. It doesn't mention whether this is a read-only operation, what permissions are needed, how results are returned (format, pagination), rate limits, or error conditions. 'Search' implies read-only, but this isn't explicitly stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's appropriately sized for a simple search tool and front-loads the core action. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a search tool with no annotations and no output schema, the description is incomplete. It doesn't explain what the search returns (e.g., issue objects, IDs), how results are structured, or any behavioral nuances. The agent lacks critical context to use this tool effectively beyond basic invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents both parameters (query and limit). The description adds no additional meaning about parameters beyond what's in the schema. Baseline 3 is appropriate when the schema does all the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Search for issues using a query' clearly states the verb (search) and resource (issues), but it's vague about scope and doesn't differentiate from sibling tools like 'linear_get_issues'. It provides basic purpose but lacks specificity about what kind of search this is (e.g., full-text, filtered, etc.).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'linear_get_issues' or other siblings. There's no mention of prerequisites, context, or exclusions. The agent must infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

linear_update_issueC

Update an existing issue

ParametersJSON Schema
NameRequiredDescriptionDefault
issueIdYesThe ID or key (e.g., TEN-1) of the issue
titleNo
descriptionNo
stateIdNoThe ID of the workflow state (e.g., In Progress)
priorityNoPriority (0-4)
assigneeIdNoThe ID of the user to assign the issue to

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. 'Update an existing issue' implies a mutation operation but doesn't specify what permissions are required, whether changes are reversible, what happens to fields not mentioned, or what the response looks like. For a mutation tool with zero annotation coverage, this is a significant gap in behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at just three words, with zero wasted language. It's front-loaded with the essential action and resource, making it immediately understandable despite its brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with 6 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what happens during updates, what fields can be modified, error conditions, or return values. The combination of complexity and lack of structured support requires more descriptive content than provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 67% (4 of 6 parameters have descriptions), which is moderate. The description itself adds no parameter information beyond what's in the schema. With schema doing most of the work, the baseline score of 3 is appropriate, though the description doesn't compensate for the 33% coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Update an existing issue' clearly states the verb (update) and resource (issue), making the purpose immediately understandable. However, it doesn't differentiate this tool from potential alternatives like linear_create_issue or linear_search_issues, which would require more specific scope information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. There's no mention of prerequisites (like needing an existing issue ID), when not to use it, or how it differs from sibling tools like linear_create_issue for new issues or linear_search_issues for finding issues.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 8 tool updatesv1.0.0
    • First observedlinear_add_comment
    • First observedlinear_create_issue
    • First observedlinear_get_issues
    • First observedlinear_get_teams
    • First observedlinear_get_users
    • First observedlinear_get_workflow_states
    • First observedlinear_search_issues
    • First observedlinear_update_issue

TDQS

B3.3/5.0

Scored across 8 tools

Disambiguation5/5

Each tool has a clearly distinct purpose targeting specific resources and actions in the Linear domain, such as creating issues, getting issues, adding comments, updating issues, searching issues, and retrieving teams, users, and workflow states. There is no ambiguity or overlap in functionality, making it easy for an agent to select the correct tool.

Naming Consistency5/5

All tool names follow a consistent 'linear_verb_noun' pattern with snake_case, such as linear_create_issue, linear_get_issues, and linear_update_issue. This predictability enhances readability and usability for agents, with no deviations in naming conventions.

Tool Count5/5

With 8 tools, the server is well-scoped for managing issues and related resources in Linear, covering core operations like CRUD for issues, commenting, searching, and retrieving teams, users, and states. Each tool earns its place without feeling excessive or insufficient for the domain.

Completeness4/5

The tool set provides strong coverage for issue management, including create, get, update, comment, and search, along with essential context tools for teams, users, and workflow states. A minor gap is the lack of delete operations for issues or other resources, but agents can work around this with updates or other methods.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.
    428 npm
    346
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A Model Context Protocol server that integrates with Linear, enabling AI assistants to create, update, search, and comment on issues for project management and issue tracking.
    5
    6
    Apache 2.0
  • F
    license
    B
    quality
    D
    maintenance
    A server that enables AI assistants to interact with Linear's project management tools through the Model Context Protocol, supporting features like searching, creating, and updating issues, adding comments, and retrieving user profiles and team information.
    9
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server implementation that enables AI assistants to interact with Linear project management systems, allowing them to create, retrieve, and modify data related to issues, projects, teams, and users.
    17 npm
    3
    MIT