ログイン無料で始める

MCP ツールリファレンス

Nolto の MCP サーバーは /mcp に HTTP transport(Streamable HTTP / JSON-RPC)で公開されています。

認証

対話クライアントには OAuth 2.1(Authorization: Bearer mcp_at_*)が標準です。ヘッドレス / CI 環境では Personal API Token(nolto_user_*)をベアラーとして渡すこともできます。セットアップ方法は MCP セットアップ を参照してください。

レート制限

ユーザーあたり 60 リクエスト/分。超過時は 429 Too Many Requests + Retry-After ヘッダー。

デフォルトプロジェクト

多くのツールは projectId パラメータを受け取りますが、省略すると set_default_project で設定したデフォルトプロジェクトが使われます。デフォルトが未設定で projectId も省略した場合はエラーになります。


list_projects

参加しているプロジェクトの一覧を返します。

スコープmcp:read
パラメータなし

レスポンス:

{
  "projects": [
    {
      "id": "uuid",
      "name": "my-app",
      "description": "...",
      "role": "owner"
    }
  ]
}

register_project

新しいプロジェクトを作成します。作成者が owner になります。

スコープmcp:write
パラメータ必須説明
namestringYesプロジェクト名(1文字以上)
descriptionstringNo説明
repositoryUrlstringNoリポジトリ URL

set_default_project

ユーザーごとのデフォルトプロジェクトを設定します。設定後、他のツールで projectId を省略できます。

スコープmcp:write
パラメータ必須説明
projectIdUUIDYesデフォルトに設定するプロジェクト ID

list_plans

プロジェクトのプラン一覧を返します。

スコープmcp:read
パラメータ必須説明
projectIdUUIDNoプロジェクト ID(省略時はデフォルト)
statusstringNoステータスフィルタ(not_started / in_progress / done / discarded

get_plan

プランの詳細(フェーズ、イベント含む)を返します。

スコープmcp:read
パラメータ必須説明
planIdUUIDYesプラン ID
projectIdUUIDNoプロジェクト ID(省略時はデフォルト)

register_plan

プランを登録し、LLM 変換ジョブをキューに入れます。

スコープmcp:write
パラメータ必須説明
projectIdUUIDNoプロジェクト ID(省略時はデフォルト)
plan.titlestringYesタイトル(1〜500文字)
plan.contentstringYes本文(1〜50,000文字)
plan.statusstringNo初期ステータス(デフォルト: not_started
plan.phasesarrayNoフェーズのリスト(最大50件)
plan.plannedStartAtstringNo予定開始日時(ISO 8601)
plan.plannedEndAtstringNo予定終了日時(ISO 8601)
source.kindstringNo登録元(デフォルト: mcp
source.pathstringNoファイルパス
source.urlstringNoURL
source.hashstringNoコンテンツハッシュ
git.userNamestringNoGit ユーザー名
git.userEmailstringNoGit メールアドレス

レスポンス:

{
  "planId": "uuid",
  "transformStatus": "queued",
  "detailUrl": "https://nolto.app/projects/.../plans/..."
}
ℹ️

プランの登録は月間 AI 変換クォータを 1 回分消費します。


register_structured_plan

AI ツール側で既に正規の 2 階層 StructuredPlan(グループ → タスク)を構築済みの場合に、それを直接登録します。register_plan との違いは 構造抽出(haiku)ステップをスキップ する点だけで、日本語サマリ生成(sonnet)と課金(変換 1 回分)は同じです。

スコープmcp:write
パラメータ必須説明
projectIdUUIDNoプロジェクト ID(省略時はデフォルト)
plan.titlestringYesタイトル(1〜500文字、空不可)
plan.contentstringYes本文の raw markdown(1〜50,000文字、空不可)
plan.statusstringNo初期ステータス(デフォルト: not_started。この階層は discarded も可)
plan.documentsarrayNo添付ドキュメント(最大10件)
structuredPlanobjectYes構築済みの正規 StructuredPlan(下記)
source.*No登録元メタデータ(register_plan と同じ)
git.*NoGit コミッタ情報(register_plan と同じ)
⚠️

plan.phases は受け付けません。フェーズ構造は必ず structuredPlan で渡してください。

structuredPlan の形

@nolto/llm の正規 structuredPlan と同じ形で、.strict()(不明なキーは拒否)です。

フィールド制限説明
plan.titlestring最大500文字プランタイトル
plan.scalestring | null最大500文字規模表記(任意)
plan.statusenum3値のみnot_started / in_progress / done
groups[]array最大50グループ作業グループ(フェーズ)
groups[].idstring最大256文字グループ識別子
groups[].labelstring最大500文字見出しテキスト
groups[].statusenum3値のみグループのステータス
groups[].body_mdstring | null最大20,000文字グループ本文(markdown)
groups[].tasks[]array1グループ最大100タスクグループ内のタスク
groups[].tasks[].idstring最大256文字タスク識別子
groups[].tasks[].labelstring最大500文字見出しテキスト
groups[].tasks[].statusenum3値のみタスクのステータス
groups[].tasks[].body_mdstring | null最大20,000文字タスク本文(markdown)
groups[].tasks[].depends_onstring[]依存タスクの id
groups[].tasks[].diffstring | null最大500文字差分サイズ表記(任意)
context_sections[]array最大50件作業外の文脈セクション
context_sections[].idstring最大256文字セクション識別子
context_sections[].labelstring最大500文字見出しテキスト
context_sections[].kindenumconfirmed_decisions / open_questions / other
context_sections[].body_mdstring最大20,000文字セクション本文(markdown)
⚠️

structuredPlan 内の status は 3 値(not_started / in_progress / done)のみです。discarded はプラン全体の plan.status でのみ指定できます。構造が不正な場合はフィールドパス付きのエラーで拒否され、register_plan への自動フォールバックはありません(修正して再試行してください)。

レスポンスは register_plan と同じ(planId / transformStatus / detailUrl)です。


upload_plan_document

プラン(または特定のフェーズ)に成果物ドキュメントを添付します。同一内容はコンテンツハッシュで重複排除されます。

スコープmcp:write
パラメータ必須説明
planIdUUIDYesプラン ID
projectIdUUIDNoプロジェクト ID(省略時はデフォルト)
phaseIdUUIDNo紐付けるフェーズ ID(省略時はプラン全体)
kindstringYes種別: plan / final_report / review_report / test_report / other
filenamestringYesファイル名(1〜255文字)
contentstringYesファイル内容(encoding に従ってデコード)
encodingstringNoutf8(デフォルト) / base64

デコード後のサイズは 2 MiB までです。

レスポンス:

{
  "documentId": "uuid",
  "deduped": false,
  "sizeBytes": 1024,
  "mimeType": "text/markdown"
}

dedupedtrue の場合、同一内容の既存ドキュメントが再利用されています。


update_plan_status

プランのステータスを更新します。

スコープmcp:write
パラメータ必須説明
planIdUUIDYesプラン ID
projectIdUUIDNoプロジェクト ID(省略時はデフォルト)
statusstringYes新しいステータス
messagestringNo変更理由(最大1,000文字)

許可される遷移は データモデル を参照してください。


update_phase_status

フェーズのステータスを更新します。親プランのステータスが自動的に再計算されます。

スコープmcp:write
パラメータ必須説明
planIdUUIDYesプラン ID
phaseIdUUIDYesフェーズ ID
projectIdUUIDNoプロジェクト ID(省略時はデフォルト)
statusstringYes新しいステータス
messagestringNo変更理由(最大1,000文字)

レスポンス:

{
  "ok": true,
  "planStatus": "in_progress"
}

planStatus は再計算後の親プランのステータスです。派生ルールは データモデル を参照してください。


record_phase_test_result

フェーズのテスト結果を記録します。追記式で、同じフェーズに複数回記録できます(再テストのたびにラウンドが増えます)。ステータスは変更しません。

スコープmcp:write
パラメータ必須説明
planIdUUIDYesプラン ID
phaseIdUUIDYesフェーズ ID
projectIdUUIDNoプロジェクト ID(省略時はデフォルト)
verdictstringYespassed(合格) / failed(不合格) / skipped(対象外)
roundintNoラウンド番号(1以上)。省略時は最大値 +1(初回は 1)
summarystringNoコメント(最大1,000文字)

レスポンス:

{
  "ok": true,
  "round": 2,
  "verdict": "passed"
}

record_plan_review

プランの最終レビュー結果(GO / NO-GO)を記録します。追記式で、同じプランに複数回記録できます。ステータスは変更しません(GO = 完了ではありません)。

スコープmcp:write
パラメータ必須説明
planIdUUIDYesプラン ID
projectIdUUIDNoプロジェクト ID(省略時はデフォルト)
verdictstringYesgo(GO・承認) / no_go(NO-GO・差し戻し)
summarystringNoコメント(最大1,000文字)

レスポンス:

{
  "ok": true,
  "verdict": "go"
}
MCP ツールリファレンス | Nolto