プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Linear Project

作者:Openly-Usefulバージョン 0.1.0i★ –iパソコンで動く
レジストリ名org.openlyuseful/linear-project

インストール

概要

作者による説明(英語の原文)

Scope-gated Linear project administration with optional GitHub and Obsidian evidence adapters

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: 開発者ツール
  • 入力が必要なもの:LINEAR_API_KEY, LINEAR_ACCESS_TOKEN, LINEAR_ALLOWED_ORGANIZATION_ID, GITHUB_TOKEN

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: LINEAR_API_KEY, LINEAR_ACCESS_TOKEN, LINEAR_ALLOWED_ORGANIZATION_ID, LINEAR_ALLOWED_TEAM_IDS, LINEAR_ALLOWED_PROJECT_IDS, LINEAR_ALLOWED_SCOPE_CODES, GITHUB_TOKEN, GITHUB_ALLOWED_REPOSITORIES, OBSIDIAN_VAULT_PATH, OBSIDIAN_VAULT_NAME, OBSIDIAN_ALLOWED_DIRECTORIES, MCP_WRITES_ENABLED, MCP_WRITE_WINDOW_EXPIRES_AT, MCP_AUDIT_LOG_PATH

「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "linear-project": {
      "command": "npx",
      "args": [
        "-y",
        "@openly-useful/linear-project-mcp-server"
      ],
      "env": {
        "LINEAR_API_KEY": "your-value",
        "LINEAR_ACCESS_TOKEN": "your-value",
        "LINEAR_ALLOWED_ORGANIZATION_ID": "your-value",
        "LINEAR_ALLOWED_TEAM_IDS": "your-value",
        "LINEAR_ALLOWED_PROJECT_IDS": "your-value",
        "LINEAR_ALLOWED_SCOPE_CODES": "your-value",
        "GITHUB_TOKEN": "your-value",
        "GITHUB_ALLOWED_REPOSITORIES": "your-value",
        "OBSIDIAN_VAULT_PATH": "your-value",
        "OBSIDIAN_VAULT_NAME": "your-value",
        "OBSIDIAN_ALLOWED_DIRECTORIES": "your-value",
        "MCP_WRITES_ENABLED": "your-value",
        "MCP_WRITE_WINDOW_EXPIRES_AT": "your-value",
        "MCP_AUDIT_LOG_PATH": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add linear-project --env LINEAR_API_KEY=your-value --env LINEAR_ACCESS_TOKEN=your-value --env LINEAR_ALLOWED_ORGANIZATION_ID=your-value --env LINEAR_ALLOWED_TEAM_IDS=your-value --env LINEAR_ALLOWED_PROJECT_IDS=your-value --env LINEAR_ALLOWED_SCOPE_CODES=your-value --env GITHUB_TOKEN=your-value --env GITHUB_ALLOWED_REPOSITORIES=your-value --env OBSIDIAN_VAULT_PATH=your-value --env OBSIDIAN_VAULT_NAME=your-value --env OBSIDIAN_ALLOWED_DIRECTORIES=your-value --env MCP_WRITES_ENABLED=your-value --env MCP_WRITE_WINDOW_EXPIRES_AT=your-value --env MCP_AUDIT_LOG_PATH=your-value -- npx -y @openly-useful/linear-project-mcp-server

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "linear-project": {
      "command": "npx",
      "args": [
        "-y",
        "@openly-useful/linear-project-mcp-server"
      ],
      "env": {
        "LINEAR_API_KEY": "your-value",
        "LINEAR_ACCESS_TOKEN": "your-value",
        "LINEAR_ALLOWED_ORGANIZATION_ID": "your-value",
        "LINEAR_ALLOWED_TEAM_IDS": "your-value",
        "LINEAR_ALLOWED_PROJECT_IDS": "your-value",
        "LINEAR_ALLOWED_SCOPE_CODES": "your-value",
        "GITHUB_TOKEN": "your-value",
        "GITHUB_ALLOWED_REPOSITORIES": "your-value",
        "OBSIDIAN_VAULT_PATH": "your-value",
        "OBSIDIAN_VAULT_NAME": "your-value",
        "OBSIDIAN_ALLOWED_DIRECTORIES": "your-value",
        "MCP_WRITES_ENABLED": "your-value",
        "MCP_WRITE_WINDOW_EXPIRES_AT": "your-value",
        "MCP_AUDIT_LOG_PATH": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "linear-project": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@openly-useful/linear-project-mcp-server"
      ],
      "env": {
        "LINEAR_API_KEY": "your-value",
        "LINEAR_ACCESS_TOKEN": "your-value",
        "LINEAR_ALLOWED_ORGANIZATION_ID": "your-value",
        "LINEAR_ALLOWED_TEAM_IDS": "your-value",
        "LINEAR_ALLOWED_PROJECT_IDS": "your-value",
        "LINEAR_ALLOWED_SCOPE_CODES": "your-value",
        "GITHUB_TOKEN": "your-value",
        "GITHUB_ALLOWED_REPOSITORIES": "your-value",
        "OBSIDIAN_VAULT_PATH": "your-value",
        "OBSIDIAN_VAULT_NAME": "your-value",
        "OBSIDIAN_ALLOWED_DIRECTORIES": "your-value",
        "MCP_WRITES_ENABLED": "your-value",
        "MCP_WRITE_WINDOW_EXPIRES_AT": "your-value",
        "MCP_AUDIT_LOG_PATH": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • LINEAR_API_KEY 秘密 env
    Linear API key. Configure this or LINEAR_ACCESS_TOKEN through a protected secret store.
  • LINEAR_ACCESS_TOKEN 秘密 env
    Linear OAuth access token. Configure this or LINEAR_API_KEY through a protected secret store.
  • LINEAR_ALLOWED_ORGANIZATION_ID 必須 env
    Exact Linear organization ID allowed for scoped operations.
  • LINEAR_ALLOWED_TEAM_IDS env
    Comma-separated exact Linear team IDs. Required when reusing an existing team; leave empty only while bootstrapping a new dedicated team.
  • LINEAR_ALLOWED_PROJECT_IDS env
    Comma-separated exact Linear project IDs. Required after project discovery; leave empty only during initial bootstrap.
  • LINEAR_ALLOWED_SCOPE_CODES env
    Comma-separated exact scope codes. Leave empty for read-only capability inspection.
  • GITHUB_TOKEN 秘密 env
    Optional GitHub token used only by the read-only evidence adapter.
  • GITHUB_ALLOWED_REPOSITORIES env
    Comma-separated owner/repository allowlist for GitHub evidence reads.
  • OBSIDIAN_VAULT_PATH env
    Optional normalized absolute path to an Obsidian vault.
  • OBSIDIAN_VAULT_NAME env
    Optional expected Obsidian vault directory name.
  • OBSIDIAN_ALLOWED_DIRECTORIES env
    Comma-separated vault-relative directories allowed for Obsidian operations.
  • MCP_WRITES_ENABLED env
    Global mutation gate. Keep false unless opening a separately bounded write window.
  • MCP_WRITE_WINDOW_EXPIRES_AT env
    Future RFC3339 expiry for a write window; enabled windows may last at most 60 minutes.
  • MCP_AUDIT_LOG_PATH env
    Optional normalized absolute path for the append-only NDJSON operation audit.

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名はドメイン openlyuseful.org で確認済みです(レジストリがドメインの所有を確認しています)

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

開発者ツールのほかのサーバーとの比較i

  • このカテゴリのほかの1385件のうち0%よりスターが多い
  • このカテゴリのほかの1385件のうち45%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの1385件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Linear Projectは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:LINEAR_API_KEY, LINEAR_ACCESS_TOKEN, LINEAR_ALLOWED_ORGANIZATION_ID, GITHUB_TOKEN

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.1.0)がレジストリに届いたのは2 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:GitHub, Desktop Commander, Cloudflare MCP

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

GitHub

作者:github

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

パソコンでもクラウドでも★ 34,245MIT3 日前更新
インストール

Desktop Commander

作者:wonderwhy-er

MCP server for terminal commands, file operations, and process management

パソコンで動く★ 10,225MIT15 日前更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

Linear Project MCP Server

A scope-gated Model Context Protocol server for administering Linear project workflows, with optional read-only GitHub evidence and local Obsidian note adapters.

The server complements the three skills in this repository. It supplies the integration capabilities those workflows need when an existing connector cannot create teams, enforce exact scope labels, or link local evidence safely.

What it supports

Linear arrangementProject scopeIssue identifier behavior
Existing teamExact project plus ACQI issue and project labelsKeeps the existing team key, such as OPEN-42
New dedicated team with key ACQIExact project plus ACQI labelsStarts at ACQI-1 only when the team is verified empty
New ACQI subteam under an existing parentExact project plus ACQI labelsStarts at ACQI-1 only when the subteam is verified empty

Linear identifiers belong to teams, not projects or labels. The server rejects a request that expects ACQI-1 on an existing OPEN team before creating a project, label, note, or issue. A first-identifier readback is an immediate safety check, not a concurrency lock; avoid simultaneous writers while bootstrapping the first issue.

Historical captures are separate from active work. They receive an exact [HISTORICAL] title prefix, the scope and HISTORICAL labels, Historical only: true, Actionability: none, and a deterministic source marker for replay safety.

Tools

ToolModePurpose
linear_project_capabilitiesReadReport adapters, reachability, allowlists, and write state
linear_project_resolve_scopeReadResolve one exact team/project/label scope
linear_project_create_teamWriteCreate or reuse a dedicated team or subteam with the scope key
linear_project_bootstrapWriteCreate or reuse a team, project, labels, optional links, and first issue
linear_project_list_scoped_issuesReadList only issues in the exact project carrying the scope label
linear_project_upsert_scoped_issueWriteIdempotently create or update active or historical work
linear_project_find_candidatesReadFind allowlisted reconciliation candidates without moving them
linear_project_move_candidateWriteMove one reviewed candidate with exact source-state and identifier safeguards
linear_project_link_evidenceWriteAdd a verified GitHub or Obsidian link to an in-scope issue
github_get_project_evidenceReadNormalize an allowlisted repository, commit, PR, or issue
obsidian_search_project_notesReadSearch allowlisted local Markdown notes
obsidian_read_project_noteReadRead one allowlisted local Markdown note
obsidian_upsert_project_noteWriteReplace only the server-managed section of a note

All tools use strict input schemas and structured output. Mutating tools require a literal confirmation field, and global writes must also be enabled.

Install and build

Requirements: Node.js 20 or newer and pnpm 10. pnpm 11 requires Node.js 22 or newer and cannot validate the Node.js 20 compatibility floor.

pnpm install --frozen-lockfile

cp .env.example .env pnpm check pnpm build

The npm package name is @openly-useful/linear-project-mcp-server. It installs the linear-project-mcp-server protocol server and the bounded linear-project-mcp-write-window safety helper. The package can be run with npx @openly-useful/linear-project-mcp-server only after the first successful npm release. Until then, build and run it from a source checkout as shown below.

The official MCP Registry name is org.openlyuseful/linear-project. server.json, package.json.mcpName, the npm package version, and the registry package version must agree. The repo-local Openly Useful publisher projection records the founder-individual as current operator and a founder-owner authorization that is effective while LLC formation remains pending. prepublishOnly verifies that authorization and the exact npm identity, policies, namespace, repository provenance, and registration metadata. Provider authentication and review remain separate MCP Registry steps; builds, tests, validation, and pnpm pack --dry-run do not publish the record.

Configure

Copy .env.example and provide only the adapters you need.

Linear accepts either LINEAR_API_KEY or LINEAR_ACCESS_TOKEN. Every scoped Linear read and mutation requires an exact LINEAR_ALLOWED_ORGANIZATION_ID; every mutation additionally requires:

  • MCP_WRITES_ENABLED=true;
  • a future MCP_WRITE_WINDOW_EXPIRES_AT no more than 60 minutes away;
  • a safe, writable MCP_AUDIT_LOG_PATH when using the bundled write-window helper;
  • the exact code in LINEAR_ALLOWED_SCOPE_CODES, such as ACQI;
  • the destination team's ID in LINEAR_ALLOWED_TEAM_IDS, unless it is a dedicated team whose key exactly equals the scope code;
  • the project ID in LINEAR_ALLOWED_PROJECT_IDS when that optional allowlist is non-empty;
  • the mutating tool's literal confirmation field set to true.

For a new ACQI subteam, allowlist the parent team ID, select team_mode: "subteam", pass parent_team_id, and use team_key: "ACQI". The authenticated Linear identity must have permission to create teams in the workspace.

Leave LINEAR_ALLOWED_PROJECT_IDS empty only for the initial project bootstrap, because a new project's ID does not exist yet. After readback, add that exact ID before ongoing operation. Existing projects must already be allowlisted when the project-ID allowlist is non-empty, and all scoped operations require the exact scope project label.

GitHub is optional. Configure GITHUB_TOKEN and exact owner/name entries in GITHUB_ALLOWED_REPOSITORIES. The adapter makes GET requests only; use a fine-grained token with read-only metadata and contents, pull-request, or issue access required by the references you plan to inspect.

Obsidian is optional and local. OBSIDIAN_VAULT_PATH must be absolute, OBSIDIAN_ALLOWED_DIRECTORIES contains vault-relative directories, and OBSIDIAN_VAULT_NAME enables obsidian:// links. Only .md files under those directories are accessible. Traversal, symlinks, non-Markdown paths, and files over 200,000 bytes are rejected. Linking a note to Linear sends only its Obsidian URI and title, not its contents.

For operation auditing, set MCP_AUDIT_LOG_PATH to a normalized absolute path outside the repository. Its parent directory must already exist, belong to the current user, and not be group- or world-writable. The server appends compact NDJSON attempt/outcome records with operation IDs, tool names, modes, durations, outcomes, and safe error classes; it never logs tool arguments, result bodies, descriptions, credentials, or error messages. Once auditing is configured, an unavailable audit sink blocks writes before workflow execution and marks reads as audit-degraded.

Connect Codex

Use linear_project as the canonical Codex registration alias. This alias is a local client configuration key; it is intentionally different from the npm package and executable names.

From the server directory in a source checkout:

pnpm install --frozen-lockfile

pnpm build MCP_ENTRYPOINT="$(pwd)/dist/index.js" codex mcp add linear_project -- node "$MCP_ENTRYPOINT" codex mcp get linear_project --json codex mcp list --json

After the first npm release is available, a version-pinned registry installation can instead be registered with:

codex mcp add linear_project -- npx --yes @openly-useful/linear-project-mcp-server@0.1.0

codex mcp get linear_project --json codex mcp list --json

Do not add API tokens with codex mcp add --env, because that stores the supplied value in the local Codex configuration. Use a protected launcher or operating-system secret store that exports credentials only to the child process. Non-secret allowlist settings may be stored in client configuration, but the repository must never contain real organization, team, project, repository, or vault values.

After registration, start a new Codex task if the current task's tool registry does not refresh. In that new task:

  1. Confirm the linear_project tools are visible.
  2. Call linear_project_capabilities and confirm writesEnabled is false, Linear is reachable, and the organization is allowed.
  3. Call linear_project_resolve_scope for the intended scope code and confirm the exact team, project, issue label, and project label all resolve.

Keep the package names distinct when troubleshooting:

NameUse
linear_projectcodex mcp add, codex mcp get, and codex mcp list registration alias.
@openly-useful/linear-project-mcp-servernpm package specifier used by npx and package managers.
org.openlyuseful/linear-projectOfficial MCP Registry server name and npm mcpName.
linear-project-mcp-serverInstalled executable and MCP protocol server artifact name.
linear-project-mcp-write-windowInstalled helper for bounded, explicit changes to write-window settings.

Connect another MCP client

Build the server, then configure a local stdio process in the client. The exact configuration key varies by client; a typical shape is:

{

"mcpServers": { "linear_project": { "command": "/path/to/protected/linear-project-mcp-launcher", "args": [] } } }

The protected launcher should load credentials from the client's secret store or protected process environment and then replace itself with the linear-project-mcp-server process. Do not commit the launcher, .env, or client configuration containing secrets.

Recommended operating sequence

  1. Start with writes disabled and call linear_project_capabilities.
  2. Resolve or inspect the exact destination with read-only tools.
  3. Configure the narrowest organization, team, project, scope, repository, and note-directory allowlists.
  4. Enable writes only for the intended operation.
  5. Bootstrap or upsert using deterministic source markers.
  6. Read back results and replay the operation; a completed import should create zero additional records.
  7. Disable writes again.

Configuration is read when a server process starts. Enabling or disabling MCP_WRITES_ENABLED therefore requires reconnecting or restarting the relevant MCP client session before checking capabilities or invoking a write. A safe write window is:

  1. Resolve and inspect the exact scope with writes disabled.
  2. Stop the connected server process, use the bounded helper against the protected runtime environment, and reconnect.
  3. Call linear_project_capabilities and confirm the expected write state and allowlists before one explicitly confirmed mutation.
  4. Read the mutated record back and replay the same deterministic operation; the replay must report zero additional changes.
  5. Stop the server process, disable the window with the helper, reconnect, and confirm the disabled state through linear_project_capabilities.

If any scope readback, replay, or disabled-state check fails, stop and leave writes disabled.

The helper accepts a 1–60 minute window, requires the scope code twice on enable, requires nonempty organization/team/project/scope allowlists plus MCP_AUDIT_LOG_PATH, and never extends a window implicitly. Use a protected environment file outside the repository:

linear-project-mcp-write-window status --env-file /path/to/protected.env

linear-project-mcp-write-window enable --env-file /path/to/protected.env --scope ACQI --minutes 15 --confirm ACQI

Reconnect or restart the MCP client, verify capabilities, perform one scoped operation, read back, and replay.

linear-project-mcp-write-window disable --env-file /path/to/protected.env

Reconnect or restart again, then verify writesEnabled is false.

enable writes MCP_WRITES_ENABLED=true and a bounded RFC 33

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く