Skip to main content
Glama

nexus-mcp

Nexus/TaskBridge PMシステムをClaude Codeに公開するMCPサーバーで、人間が手作業で状態を伝える代わりに、エージェントがタスクを直接読み取り・更新できるようにします。claude-templates 内の2つのスキルと対で使用します — nexus-plan-work(PM/BA/チームリード向け、タスク作成側)と nexus-pick-up-task(開発者向け、タスク実行側)。

PMシステムの公開 /api/v1/* APIと通信します — 公式拡張機能専用である nexus-vscode の内部エンドポイントではありません。理由と完全なビルド履歴については DEVLOG.md を参照してください。

セットアップ(1回限り、人ごと)

4つのステップを順番に実行します — ログインしただけでは、Claude Codeはnexus-mcpの存在を認識しません。 それは別のステップです(下記の2)。このリストのどこにも git clone は不要です — npx がGitHubから直接フェッチ、ビルド、実行します。

1. ログイン — Developer Portal経由でトークンを生成し、OSのキーチェーン(@napi-rs/keyring — ファイルに保存されることはありません)に保存します:

export NEXUS_API_URL=http://27.254.62.17:8090
npx -y -p github:tanakorncode/nexus-mcp nexus-mcp-login

$NEXUS_API_URL/developer → アプリ作成 → スコープ tasks:read tasks:write projects:read members:read sprints:read の付与 → トークン生成の手順を案内し、そのトークンとアカウントのメールアドレスの入力を求めます。

2. Claude Codeに登録 — どちらかを選択(両方は不要ですが、共存は可能です):

  • 自分用・全リポジトリ対象・1回限り(claude CLIが必要 — 先に npm install -g @anthropic-ai/claude-code を実行):

claude mcp add nexus-mcp -s user -e NEXUS_API_URL=http://27.254.62.17:8090 -- npx -y github:tanakorncode/nexus-mcp

この後はどこにも .mcp.json は不要です。

  • または、開こうとしているリポジトリのルートに .mcp.json がすでにコミットされている場合(例:pea-thailand-backoffice-be)— 何もする必要はありません。そのリポジトリを開くと、Claude Codeが自動的に認識します。上記のステップを実行していない場合にのみ関係します。

3. Claude Codeをリロード(新しいウィンドウ / セッションの再起動)— どちらの場合も必須です。実行中のセッションは、新しく登録されたサーバーを自動的には認識しません。初回接続は遅くなります(npx がフェッチ + 新規ビルドを行うため)。以降はキャッシュされます。一度限りの信頼プロンプトを承認してください。

4. 確認 — Claudeに whoami を呼び出してもらいます。あなたの名前が解決されれば、4つのステップすべてが成功しています。

スキルもインストール(1回限り・人ごと — 詳細は claude-templates/README.md を参照):

mkdir -p ~/.claude/skills
git clone --depth 1 https://github.com/tanakorncode/claude-templates /tmp/claude-templates
cp -r /tmp/claude-templates/skills/nexus-pick-up-task ~/.claude/skills/
cp -r /tmp/claude-templates/skills/nexus-plan-work ~/.claude/skills/

nexus-mcp自体の開発

このリポジトリのコード自体を変更する場合(単に使用するだけでなく)、再公開しなくても編集が反映されるよう、代わりにクローンしてください:

git clone https://github.com/tanakorncode/nexus-mcp
cd nexus-mcp
npm install
npm run build
npm link          # makes the `nexus-mcp` command available anywhere on this machine

反復開発中は、.mcp.json で npx 形式の代わりに "command": "nexus-mcp"(args なし)を指定します — 変更を反映するには再ビルド(npm run build)してClaude Codeのウィンドウをリロードします。そうしないとMCPサーバープロセスは古いコードをメモリに保持したままになります。

Related MCP server: project-manager

2つのスキルと、それぞれを使うタイミング

  • nexus-plan-work — 機能をエピック/ストーリー/タスクに分解します。作業が存在する前に使用します。ここで重要な規律:リポジトリをまたぐ機能には1つのストーリー、その下にリポジトリごとに1つのタスク、すべてのタスクに repositoryId を設定すること(最も省略されがちなフィールドであり、後からでは取り戻せないフィールドです)。

  • nexus-pick-up-task — タスクの発見、理解、実行を行い、PRとステータス更新で完了します。作業が存在し、誰か(人間またはスケジュールされたチェック)がそれに着手できる状態になったら使用します。

完全なステップバイステップはスキルファイル自体を読んでください — このREADMEでは重複しません。

ツール

IDと検出

ツール

目的

whoami

設定されたメンバーを解決します(メールで照合 — /me エンドポイントはありません)

list_projects

あなたがメンバーであるプロジェクト

get_current_project

現在のリポジトリのプロジェクトを自動検出 — まずgit-remote → 登録済み GitRepository を試し、フォールバックとしてブランチのタスクキープレフィックスを使用

get_current_repository

現在のリポジトリをNexusの登録済みリポジトリと照合します。Project Settingsでこのリポジトリがまだ追加されていない場合は "not registered" を返します(エラーではありません)

タスクの読み取り

ツール

目的

list_my_tasks

あなたに割り当てられたタスク(status でフィルタ、repositoryId で絞り込み)

get_task / get_task_by_key

IDまたは人間向けキー(例:ALPHA-42)による完全なタスク詳細 — story、repository、blockedBy/blocks、attachments、embeds を含む

get_current_task

現在のブランチ名からタスクキーを解決して詳細を取得

list_story_tasks

同じストーリー配下の兄弟タスク — クロスリポジトリの引き継ぎにおける「もう片方」

list_statuses

プロジェクトのワークフローステータス — update_task_status が受け付ける正確な文字列

list_sprints / list_members

プロジェクト内のスプリント / あなたとプロジェクトを共有する同僚

作成(nexus-plan-work を参照)

ツール

目的

list_epics

プロジェクト内のエピック

list_stories

エピック配下のストーリー — 重複作成の前に確認

create_story

エピック配下に新しいストーリーを作成

list_labels / create_label

プロジェクト内のラベル / 新しいラベルの作成

create_task

新しいタスク — epicId 必須。分かっている場合は作成時に storyId/repositoryId/blockedById/assigneeId/labelIds を設定

update_task

既存タスクの storyId/repositoryId/blockedById/assigneeId/labelIds を変更(null はフィールドを解除。labelIds は差分ではなく完全置換)

引き継ぎ

ツール

目的

update_task_status

名前でタスクを新しいステータスに移動 — 次の人/エージェントが待つシグナル

オプション:スケジュールされたタスクチェック(通知のみ)

scripts/check-my-tasks.sh はヘッドレス(claude -p)で実行され、タイマーで list_my_tasks をチェックし、準備完了のものがあればmacOSの通知を出します — それ自体がコードを書き始めることはありません(--allowedTools は読み取り専用ツールと Bash(osascript*) に限定されているため、仮に望んでも構造的にファイルを編集できません)。

launchctl load ~/Library/LaunchAgents/com.pea-thailand.nexus-task-check.plist   # enable, runs every 2h
launchctl unload ~/Library/LaunchAgents/com.pea-thailand.nexus-task-check.plist # disable
tail -f ~/Library/Logs/nexus-task-check.log                                     # watch it run
./scripts/check-my-tasks.sh                                                     # run once, right now

plist自体はこのリポジトリにはありません(人ごとのローカルマシン設定です)— DEVLOG.md の2026-08-22のエントリにあるものをコピーするか、設定済みの人に聞いてください。

これはチェックのみを行います。通知を受けた後も、人間がClaude Codeを開いて「go」と言う必要があります — そこで止まる理由を知りたい場合は DEVLOG.md を参照してください。

既知の制限

  • コメントサポートなし、コミットリンクなし — これらのルートは拡張機能専用の内部APIにのみ存在し、/api/v1/* にはありません。追加するには新しい pm-system ルートが必要です。

  • APIによるエピック作成は不可 — エピックは頻度が低く、リードが計画するものです。プロダクトUIを使用してください。

  • APIによる添付ファイル/埋め込みのアップロードは不可(読み取りは可能 — get_task が両方を返します)— Figmaリンク/スクリーンショットはプロダクトUIを通じて添付してください。

  • リポジトリ指定・ストーリー指定・ラベルフィルタのクエリは、誰かが実際にタスクに repositoryId/storyId/labelIds を設定して初めて結果を返します — 自動的に推測されるものはありません。

Related MCP Connectors

Related MCP Servers