ITM Platform について
ITM Platform MCP サーバーは、対応する AI クライアントをプロジェクトおよびポートフォリオ管理データに接続します。OAuth によるホスト接続と API キーによるローカル実行に対応し、ITM Platform のユーザー権限に基づいて読み書きできます。
主な機能
- 01プロジェクト、タスク、サービスの検索
- 02予算とポートフォリオ状況の確認
- 03プロジェクト情報の作成と更新
- 04タスク、リスク、課題の管理
- 05OAuth または API キーで接続
活用シーン
- 01ポートフォリオのリスクと予算状況の確認
- 02タスクの作成とプロジェクト課題の記録
- 03タスクの進捗とプロジェクト情報の更新
MCP 対応
ツール、リソース、プロンプトテンプレートを通じて、ITM Platform のデータと操作を MCP クライアントに提供します。ホスト接続では OAuth、ローカル実行では API キーを使用できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://api.itmplatform.com/v2/_/mcp/claude mcp add --transport http itmplatform https://api.itmplatform.com/v2/_/mcp/{"mcpServers":{"itmplatform":{"type":"http","url":"https://api.itmplatform.com/v2/_/mcp/"}}}Cursor で開く{"servers":{"itmplatform":{"type":"http","url":"https://api.itmplatform.com/v2/_/mcp/"}}}VS Code で開く{"mcpServers":{"itmplatform":{"type":"http","url":"https://api.itmplatform.com/v2/_/mcp/"}}}{"mcpServers":{"itmplatform":{"serverUrl":"https://api.itmplatform.com/v2/_/mcp/"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
ITM Platform MCP サーバー
Model Context Protocol を通じて ITM Platform を AI アシスタントに接続します。ITM Platform MCP サーバーを使うと、MCP 対応クライアントから、ITM Platform の権限を使用してプロジェクトの検索、予算の確認、ポートフォリオの健全性の要約、タスクの作成、リスクや問題の記録、プロジェクト詳細の更新を行えます。
Claude、VS Code、Cursor、OpenAI Codex、Windsurf、JetBrains AI Assistant など、MCP に対応するあらゆるクライアントで動作します。
- 公開ドキュメント:developers.itmplatform.com/mcp
- npm パッケージ:@itm-platform/mcp-server
- ホスト型 MCP URL:
https://api.itmplatform.com/v2/_/mcp/
クイックスタート
OAuth によるホスト接続
AI クライアントがリモート MCP サーバーに対応している場合は、ホスト型サーバーを使用してください。インストールは不要です。URL を追加し、ITM Platform アカウントでサインインして、要求されたアクセスを承認するだけです。
claude mcp add --scope user --transport http itm-platform https://api.itmplatform.com/v2/_/mcp/
その他の MCP クライアントでは、次のリモート URL を使用してください。
https://api.itmplatform.com/v2/_/mcp/
AI クライアントに ITM Platform のパスワードや API キーが渡ることがないため、ほとんどのユーザーには OAuth の設定をおすすめします。
サーバーを追加したら、AI クライアントを開き、スラッシュコマンドに対応している場合は /mcp と入力して itm-platform を選択し、プロンプトが表示されたら ITM Platform の OAuth ログインを完了してください。
API キーによるローカル接続
サーバーをローカルで実行したい場合、ファイアウォールの内側で作業する場合、またはセルフホスト型の ITM Platform インスタンスに接続する必要がある場合は、npm パッケージを使用してください。
npx @itm-platform/mcp-server
MCP クライアントからサーバーに次の環境変数を渡す必要があります。
| 変数 | 値 |
|---|---|
ITM_API_URL | https://api.itmplatform.com |
ITM_COMPANY | 会社/アカウントのスラッグ |
ITM_API_KEY | ITM Platform の個人用 API キー |
stdio の設定例:
{
"mcpServers": {
"itm-platform": {
"command": "npx",
"args": ["@itm-platform/mcp-server"],
"env": {
"ITM_API_URL": "https://api.itmplatform.com",
"ITM_COMPANY": "{your-account}",
"ITM_API_KEY": "your-api-key"
}
}
}
}
API キーを作成するには、ITM Platform にログインし、My Profile を開いて、API Key セクションからキーを生成してください。
ローカルサーバーを設定したら、AI クライアントを再起動し、/mcp またはクライアントの MCP サーバー一覧で itm-platform が接続されていることを確認してください。
エージェントにできること
単純な検索からシステムをまたいだ完全自動化ワークフローまで、MCP によって段階的に高度なユースケースを実現できます。
クイック検索 -- 質問すると、回答が得られます。
「ポートフォリオ全体で未解決のリスクは何ですか?」
複数ステップの分析 -- エージェントが複数のツールを連続して使用し、結果をまとめます。
「今四半期に終了するすべてのプロジェクトを確認してください。予算超過、影響度の高い未解決リスク、またはタスク完了率が 60% 未満のものにフラグを付けてください。」
一括アクションの自動化 -- エージェントがプロジェクトをまたいで情報を読み取り、判断し、書き込みます。
「ステータスがまだ Planning で、開始日が過去になっているすべてのプロジェクトについて、ステータスを Execution に更新し、プロジェクトマネージャーに割り当てたキックオフチェックリストのタスクを作成してください。」
定期的なインテリジェンス -- 人がプロンプトを入力しなくても、エージェントが定期的に実行され、毎週月曜日に期限超過のタスクを取得して、プロジェクトマネージャー別にまとめた要約を Slack に投稿します。
システムをまたいだオーケストレーション -- ITM Platform の MCP を他の MCP サーバー(GitHub、Slack、Google Calendar、メール)と組み合わせます。開発者が PR をマージすると、エージェントが対応する ITM Platform のタスクを見つけて完了済みにします。プロジェクトが 100% に達した場合は、完了報告の下書きを作成し、プログラムマネージャーにメールで送信します。
MCP サーバーはユーザー本人として認証し、ITM Platform API を呼び出して、ITM Platform アカウントでアクセスが許可されているデータのみを返します。
機能
このサーバーは 47 個の MCP ツール、6 個のリソース、4 個のプロンプトテンプレートを提供します。
読み取りツール
| ツール | 機能 |
|---|---|
search_projects | 名前、ステータス、種別、または期間を指定してプロジェクトを検索します |
get_project | サブコンポーネント数と、任意で予算を含むプロジェクトの詳細を取得します |
search_services | 名前、ステータス、種別、または期間を指定してサービスを検索します |
get_service | サブコンポーネント数と、任意で予算を含むサービスの詳細を取得します |
list_project_tasks | ページネーションを使用してプロジェクトのタスクを一覧表示します |
get_task | 1 件のタスクの詳細をすべて取得します |
search_tasks | 名前、ステータス、担当者、種別、または期間を指定して、すべてのプロジェクトからタスクを検索します |
get_project_budget | 予算、実績、収益、コスト、利益率の情報を取得します |
get_project_purchases | ページネーションを使用してプロジェクトの発注書を一覧表示します |
get_project_revenues | ページネーションを使用してプロジェクトの収益項目を一覧表示します |
get_project_risks | ページネーションを使用してプロジェクトのリスクを一覧表示します |
get_project_issues | ページネーションを使用してプロジェクトの問題を一覧表示します |
get_risk | 対応策と緊急時対応計画を含む、1 件のリスクの詳細をすべて取得します |
get_issue | 解決策と影響に関する項目を含む、1 件の問題の詳細をすべて取得します |
list_task_progress | タスクの進捗(フォローアップ)履歴を一覧表示します |
get_task_effort | チームメンバー別および専門カテゴリ別のタスク工数の内訳を取得します。タスクのチーム一覧としても機能します |
get_project_progress | プロジェクトの進捗レポートを取得します。予測、ベースライン、実績の各曲線と、任意でプロジェクトの Seguimiento エントリ全件を取得できます |
list_service_activities | ページネーションを使用してサービスのアクティビティを一覧表示します |
get_service_purchases | ページネーションを使用してサービスの発注書を一覧表示します |
get_service_revenues | ページネーションを使用してサービスの収益項目を一覧表示します |
aggregate_portfolio | ポートフォリオデータをグループ化して要約します |
query_datamart | 高度な分析のために、検証済みの DataMart クエリを実行します |
search_users | ユーザーとチームメンバーを検索します。ログインしないユーザー(EmailAddress が空)を UserId で指定できるよう、IsNonLoginUser を返します |
get_user | ユーザーの詳細を取得します |
get_reference_data | ステータス、種別、優先度、その他の参照リストを取得します |
get_custom_fields | プロジェクト、タスク、リスク、問題、サービス、アクティビティ、発注、または収益に関するアカウントのカスタムフィールド定義を取得します |
get_custom_field_options | ドロップダウン形式のカスタムフィールドで選択可能なオプションを取得します |
書き込みツール
| ツール | 機能 |
|---|---|
create_project | プロジェクト(ウォーターフォールまたはカンバン)を作成します。プロジェクトのステータスはアカウントのデフォルトに設定され、作成したユーザーがプロジェクトマネージャーになります |
create_task | タスク、マイルストーン(KindId 1)、またはサマリータスク(KindId 2)を追加します。ParentId でウォーターフォールプロジェクトのガント階層を構築します。TaskManagers/TaskMembers ではユーザー名または数値の UserId でユーザーを割り当てます(ログインしないユーザーには ID のみ使用できます) |
update_task | ステータス、日付、種類、親タスクなどのタスクフィールドを更新します。TaskManagers/TaskMembers ではユーザー名または数値の UserId で担当者を追加します(追加のみで、削除はしません) |
create_task_progress | 副作用をすべて伴って、タスクの進捗(割合、評価、メモ)を報告します |
update_task_progress | 既存のタスク進捗エントリーを更新します |
update_task_effort | 割り当てられたユーザーごとに、タスクの見積もり(計画)時間を設定します。承認済みの工数と請求データは保持されます |
log_time_entry | 1人のユーザーが特定の日にタスクに実際に費やした時間を記録します。その日の合計時間に加算するか、置き換えます。変更前と変更後の合計時間が返されます |
create_project_progress | プロジェクトレベルの進捗(Seguimiento)エントリーを作成します。割合、評価、ステータスの説明を指定します。100%にするとプロジェクトは自動的に終了します |
update_project_progress | 既存のプロジェクト進捗エントリーを更新します |
create_risk | プロジェクトのリスクを記録します |
update_risk | ステータス、確率、影響、レベル、軽減策または緊急時対応計画などのリスクフィールドを更新します |
create_issue | 必須の課題タイプとステータスを指定して、プロジェクトの課題を記録します |
update_issue | ステータス、タイプ、解決状況などの課題フィールドを更新します |
update_project | 名前、ステータス、日付、優先度などのプロジェクトフィールドを更新します |
create_service | サービスを作成します。ステータスはアカウントのデフォルトに設定されます |
update_service | 名前、ステータス、日付、優先度などのサービスフィールドを更新します |
create_activity | サービスにアクティビティを追加します(アクティビティはフラットなリストを構成します) |
update_activity | ステータスや日付などのアクティビティフィールドを更新します |
bulk_update_task_status | 1回の呼び出しで、プロジェクト内の最大100件のタスクに同じステータスを適用します |
bulk_update_activity_status | 1回の呼び出しで、サービス内の最大100件のアクティビティに同じステータスを適用します |
書き込み操作では、ITM Platform REST API から保存後の状態を確認します。DataMart を利用する検索結果には、直近の書き込みが反映されるまで最大60秒かかる場合があります。 検証に失敗した場合は、HTTP ステータスだけでなく、REST から返された対応可能なメッセージが含まれます。
データソースのルーティング
データが DataMart にある場合、読み取りには DataMart を使用します(クォータ不要、ポートフォリオ全体を対象)。REST は、DataMart にないデータ、単一項目の権威ある読み取り(get_task)、書き込み後の読み取り、参照データに限って使用します。書き込みは常に REST に送られます。DataMart にデータセットが追加された場合、対応する GET ツールを DataMart に移行する必要があります。ルール全体と現在のルーティングマップについては、zz_Specifications/progress-history-reads-from-datamart.md を参照してください。
アカウントでカスタムフィールドが定義されている場合、各セッションにはアカウントごとのコンテキストが追加されます。サーバーは、実際に使用されている DataMart の customFields キーを MCP の初期化指示と query_datamart ツールの説明に一覧表示します。これにより、エージェントは事前に調査しなくてもカスタムフィールドの値を読み取り、フィルタリングできます。
リソースとプロンプト
リソースは、DataMart スキーマやプロジェクトカレンダーなどの読み取り専用コンテキストを AI クライアントに提供します。プロンプトテンプレートは、一般的な分析タスクのガイド付きワークフローを提供します。
| プロンプト | できること |
|---|---|
/project_status | 1つのプロジェクトの健全性、タスク、リスク、課題、予算を要約します |
/portfolio_overview | ポートフォリオのステータス、手法、予算、デリバリーパターンを分析します |
/team_workload | 担当状況と作業負荷の傾向を確認します |
/risk_analysis | リスクエクスポージャー、課題、予算への影響を評価します |
認証と権限
MCP サーバーでは、ITM Platform と同じ ID と権限のモデルを使用します。
| 接続方法 | 認証 | 推奨用途 |
|---|---|---|
| ホスト型 HTTP | PKCE を使用した OAuth 2.1 | ほとんどのユーザーと管理対象の AI クライアント |
| ローカル stdio | ITM Platform API キー | ローカルでの実行、ファイアウォールで保護されたネットワーク、セルフホスト環境 |
OAuth セッションでは、次のスコープを使用します。
| スコープ | 許可される操作 |
|---|---|
mcp:read | 検索、取得、一覧表示、集計、クエリなどの読み取り専用ツール |
mcp:write | 読み取りツールに加えて、作成ツールと更新ツール |
API キーを使用するセッションには、キーを生成した ITM Platform ユーザーのすべての権限が適用されます。
ライセンスごとのアクセス権:
| ライセンス | MCP アクセス |
|---|---|
| Company Admin | 完全な読み取りおよび書き込みアクセス |
| Full User | 完全な読み取りおよび書き込みアクセス |
| Project Manager | 管理対象プロジェクトに限定された読み取りおよび書き込みアクセス |
| Team Member | ブロック |
AI アシスタントに ITM Platform のパスワードや API キーが渡されることはありません。プロジェクトデータは、選択した AI クライアントに返されるため、処理されるデータには AI プロバイダーのデータ取り扱いポリシーが適用されます。
クライアントのセットアップ
クライアントごとのセットアップ方法については、公開ドキュメントを参照してください。
MCP 対応クライアントでは、次の 2 つの接続値を使用します。
| 方法 | 値 |
|---|---|
| リモート URL | https://api.itmplatform.com/v2/_/mcp/ |
| ローカルコマンド | npx @itm-platform/mcp-server |
いずれかの接続を追加したら、クライアントの MCP コマンドまたはサーバー一覧を開きます。スラッシュコマンドに対応したクライアントでは、/mcp と入力して itm-platform を選択し、プロンプトが表示されたら認証します。
セルフホスト
ローカルの stdio サーバーでは、ITM_API_URL、ITM_COMPANY、および ITM_API_KEY または ITM_TOKEN を設定します。
OAuth を使用する HTTP サーバーでは、次のように設定します。
| 変数 | 説明 |
|---|---|
ITM_API_URL | ITM Platform API ゲートウェイ URL |
PORT | HTTP リッスンポート |
ITM_AUTH_URL | トークン交換に使用する OAuth 認可サーバー URL |
ITM_AUTH_PUBLIC_URL | AI クライアントに公開する OAuth URL |
MCP_SERVER_URL | OAuth のオーディエンスとして使用する公開 MCP サーバー URL |
LOG_LEVEL | 任意の Pino ログレベル:debug、info、warn、error |
ITM_AUDIT_ENABLED | true に設定すると、サーバー側の監査ログを有効にします |
ITM_UI_URL | 任意の ITM Platform UI ベース URL(例:https://app.itmplatform.com)。設定すると、create_project は作成したプロジェクトへのディープリンク uiUrl を返します |
リバースプロキシの背後にデプロイする場合、ITM_AUTH_URL にはサーバー間通信用のアドレスを指定できますが、ITM_AUTH_PUBLIC_URL は AI クライアントからアクセス可能である必要があります。
開発
要件:
- Node.js 20 以降
- npm
依存関係をインストールし、テストを実行して、ビルドします。
npm install
npm test
npm run build
HTTP 開発サーバーを実行します。
cp .env.sample .env
npm run dev
パッケージのエントリーポイントは dist/server.js、npm 実行ファイルは mcp-server です。
トラブルシューティング
AI クライアントにツールが表示されない場合は、そのクライアントに対応する正しいファイルにサーバー設定が記述されていることを確認し、クライアントを再起動してください。ローカル環境で使用している場合は、npx @itm-platform/mcp-server が正常に実行されることも確認してください。
認証に失敗する場合は、API キーを再生成するか、OAuth サーバーに再接続して、クライアントが新しいトークンを受け取れるようにしてください。
OAuth セッションでは、下流で 401 が発生すると、OAuth ベアラートークンを再交換して新しいセッショントークンを取得し、1 回だけ自動で再試行します。これにより、セッショントークンが外部で無効化された場合(同時にブラウザーでログインした場合など)に対処できます。401 エラーが続く場合は、OAuth ベアラートークン自体が期限切れになっている可能性が高いため、AI クライアントで再認証が必要です。
書き込みが成功しても、その後の検索結果に古いデータが表示される場合は、最大 60 秒お待ちください。書き込みは REST API からすぐに確認できますが、DataMart の検索インデックスは非同期で更新されます。
詳細なヘルプ
- MCP のドキュメント:modelcontextprotocol.io
- ITM Platform ヘルプ:helpcenter.itmplatform.com
- ITM Platform 開発者向けドキュメント:developers.itmplatform.com
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。