mcpField
A
Abscissa

Abscissa

ローカル
github.com生産性116 週間前に更新

Abscissa について

Abscissaは、MCPクライアントからLinearワークスペースを管理するローカルのPython製MCPサーバーです。課題、プロジェクト、サイクル、依存関係を扱い、カーソルページネーションと破壊的操作の明示的な確認に対応します。

主な機能

  1. 01Linearの課題、プロジェクト、サイクルの管理
  2. 02課題の依存関係の作成と確認
  3. 03コメント、ラベル、チーム、ユーザーの操作
  4. 04一覧と検索結果のページネーション
  5. 05アーカイブと削除時の確認必須化

活用シーン

  1. 01担当する未完了課題をプロジェクト別に確認
  2. 02課題やプロジェクト情報の作成・更新
  3. 03別の課題にブロックされた課題の確認

MCP 対応

AbscissaはMCP stdioトランスポートを通じて、対応クライアントに42種類のLinearツールを公開します。Linear APIキーはプロセス環境から読み込みます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"abscissa": {
"command": "uvx",
"args": [
"abscissa"
],
"env": {
"LINEAR_API_KEY": "<LINEAR_API_KEY>"
}
}
}
}
起動コマンドuvx abscissa
設定が必要な環境変数
LINEAR_API_KEYシークレットLinear personal API key used to authenticate API requests.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypiabscissa0.1.3

ツール

42

掲載時のツール一覧 · 3 週間前に更新

このツールにパラメーターはありません。

詳細

Abscissa

Abscissa は Linear 用の Python 製 stdio MCP サーバーです。Linear の GraphQL API を、MCP クライアント向けの 42 個のツールに変換します。課題、プロジェクト、サイクル、依存関係、 コメント、ラベル、ワークフローの状態、チーム、ユーザーを扱います。

設計では、プロジェクトデータを意図的に制御できることを優先しています。読み取り操作は カーソルによるページネーション付きの結果を返します。get_user_issues() は認証済みの Linear ユーザーを特定します。アーカイブおよび削除ツールは、破壊的な API 呼び出しを行う前に 明示的な confirm=true を必要とします。サーバーは認証情報を保存せず、プロセス環境から LINEAR_API_KEY を読み込みます。

Abscissa は Model Context Protocol の stdio トランスポートを使用します。 stdio MCP に対応するクライアントなら、ローカルのツールプロセスとして起動できます。

実行する

Python 3.10 以降と、Linear の個人用 API キーが必要です。

git clone https://github.com/KazKozDev/abscissa.git
cd abscissa
python3 -m venv .venv
.venv/bin/pip install -e '.[dev]'
export LINEAR_API_KEY='lin_api_…'
.venv/bin/abscissa

Abscissa は PyPI から直接インストールすることもできます。

pip install abscissa

最後のコマンドは、標準入力と標準出力で MCP サーバーを起動します。.venv/bin/abscissa を MCP クライアントに stdio コマンドとして登録し、クライアントの環境変数またはシークレットマネージャーを 通じて LINEAR_API_KEY を渡してください。

キーはリポジトリの外部に保管されます。.gitignore は .env や .venv を含む、一般的なローカルの 環境ファイルを除外します。

プロンプトの例

Abscissa を MCP クライアントに登録したら、次のようなプロンプトを試してください。

Show my open Linear issues grouped by project.
Create an issue in ENG for fixing onboarding copy.
List issues blocked by GEN-32.

ツール

領域ツール
識別情報get_current_user
課題create_issue、update_issue、search_issues、get_user_issues、get_issue、assign_issue、add_comment、set_issue_estimate
課題のライフサイクルarchive_issue、delete_issue
依存関係list_issue_dependencies、add_issue_dependency、remove_issue_dependency
ラベルとワークフローlist_workflow_states、list_issue_labels、create_label、add_issue_label、remove_issue_label
チームとメンバーlist_teams、get_team、list_users
プロジェクトcreate_project、get_project、list_projects、list_project_issues、set_issue_project、remove_issue_from_project、update_project、update_project_details、archive_project
プロジェクトラベルlist_project_labels、create_project_label、add_project_label、remove_project_label
プロジェクトの更新情報create_project_update、list_project_updates
サイクルcreate_cycle、update_cycle、archive_cycle、list_cycles、list_cycle_issues

検索ツールと一覧表示ツールは limit と cursor を受け付けます。応答の形式は常に 同じです。

{
  "items": [],
  "next_cursor": null
}

次のページをリクエストするには、null 以外の next_cursor を cursor として渡します。

list_issue_dependencies は blocks と blocked_by のリストを別々に返します。 各項目には relation_id が含まれます。この依存関係を削除する際に使用してください。 next_cursors オブジェクトには、それぞれの方向に対応するカーソルが個別に含まれます。

破壊的な操作

archive_issue、archive_project、delete_issue には、MCP の destructiveHint が設定されています。 クライアントが confirm=true を指定して呼び出すまで、Linear への呼び出しを拒否します。

Deletion requires explicit confirmation: set confirm=true

これにより、誤ってツールを呼び出してデータを削除またはアーカイブするのを防げます。 ただし、Linear 独自のアクセス制御に代わるものではありません。API キーによって、サーバーが読み取りまたは 変更できるリソースが決まります。

チェックアウトを検証する

.venv/bin/ruff check .
.venv/bin/python -m pytest

現在のチェックアウトでは、次の結果が得られます。

All checks passed!
..........                                                               [100%]
10 passed

テストでは、ページネーションの上限と応答形式、認証済みユーザーの課題の特定、プロジェクトへの所属、 サイクルのクエリ、依存関係の方向、確認ガード、サイクルのライフサイクル操作、MCP ツールの登録を 確認します。GitHub Actions は Python 3.10、3.11、3.12、3.13 で同じ lint コマンドとテストコマンドを実行します。

制限事項

Abscissa はローカルの stdio サーバーであり、HTTP サービスではありません。実行中の MCP 対応クライアントと有効な Linear API キーが必要です。自動テストスイートでは実際の Linear ワークスペースの変更を避けているため、作成、更新、アーカイブ、削除の動作は、実際の書き込みテストではなく単体テストで保護されています。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。