Milestone by Ouroboros Apps について
Milestone は、承認済みのマイルストーン、納品物、受け入れ基準を保存し、AI アシスタントが参照できるフリーランサー向け MCP サーバーです。保存された基準を満たすまで、完了や次回支払いのリリースを宣言できません。
主な機能
- 01承認済みマイルストーンの参照
- 02基準と納品物の保存
- 03作業項目と基準達成状況の記録
- 04マイルストーン変更の提案と承認
活用シーン
- 01マイルストーンの完了条件を確認
- 02合意済み条件に沿って納品物を確認
- 03受け入れ基準に基づく支払い状況の確認
MCP 対応
MCP クライアントにマイルストーンの参照・管理ツールを提供します。Streamable HTTP と OAuth に対応し、stdio でも実行できます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://milestone-continuity2.vercel.app/mcpclaude mcp add --transport http lahutchins91-milestone https://milestone-continuity2.vercel.app/mcp{"mcpServers":{"lahutchins91-milestone":{"type":"http","url":"https://milestone-continuity2.vercel.app/mcp"}}}Cursor で開く{"servers":{"lahutchins91-milestone":{"type":"http","url":"https://milestone-continuity2.vercel.app/mcp"}}}VS Code で開く{"mcpServers":{"lahutchins91-milestone":{"type":"http","url":"https://milestone-continuity2.vercel.app/mcp"}}}{"mcpServers":{"lahutchins91-milestone":{"serverUrl":"https://milestone-continuity2.vercel.app/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
15| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| offset | integer | いいえ |
詳細
Milestone
Milestone は、フリーランサーが承認したマイルストーンの定義と、完了の条件を保持し、アシスタントが回答する前にその記録を参照できるようにします。保存された受け入れ基準を満たしていない限り、アシスタントはマイルストーンが完了した、または次の支払いがリリースされたとは言えません。保存されていない追加の納品物を作り出したり、保存されていない作業を完了済みにしたりすることもできません。
ChatGPT、Claude、Gemini、Grok、Cursor のほか、Streamable HTTP と OAuth に対応する MCP クライアントで利用できます。ChatGPT 専用のプラグインではありません。
アシスタントが OAuth を開いたら、Milestone アカウントでサインインしてください。API キーやパスワードをヘッダーに貼り付けないでください。Milestone は動的クライアント登録に対応しています。クライアント ID とシークレットは空欄のままにしてください。/.well-known/oauth-protected-resource/mcp にある保護されたリソースのメタデータが、クライアントを OAuth 発行者へ案内し、その発行者がクライアントを登録します。
Milestone のツールを利用するには、Pro または有効なトライアルが必要です。新規サブスクリプションには14日間のトライアルが含まれます。このページには価格を記載していません。チェックアウト画面に請求間隔と支払い条件が表示されます。
セルフホストするには、サーバーを実行し、設定したベース URL を使用してください。デフォルトの MCP アドレスは http://127.0.0.1:3000/mcp です。
ホステッドサーバー
- MCP サーバー URL:
https://milestone-continuity2.vercel.app/mcp(Streamable HTTP、OAuth サインイン) - ドキュメント:https://ouroborosapps.com/docs/milestone
- ステータス:早期アクセスです。URL を Claude、Cursor、Grok、または ChatGPT の開発者モードに貼り付けてください。
- レジストリ名:
io.github.LAHutchins91/milestone
アシスタントにできること
接続を承認すると、サーバーは次のツールを公開します。
- list_milestone_sets
- open_milestone_set
- read_milestone_set
- define_milestone
- save_acceptance_criterion
- save_deliverable
- save_work_item
- record_criterion_met
- declare_milestone_complete
- declare_next_payment_released
- mark_work_done
- write_client_wording
- approve_milestones
- suggest_milestone_change
- accept_milestone_change
read_milestone_set は、回答前にアシスタントが実行するべき読み取りです。マイルストーンの定義、完了の条件を示す受け入れ基準、保存された納品物と作業、およびアシスタントがクライアントに伝えてよい内容が含まれます。下書きの定義は、承認された確約ではありません。マイルストーンの変更案を出しても、記録は変更されません。マイルストーンの承認後は、そのマイルストーンに保存されたすべての受け入れ基準が満たされていない限り、declare_milestone_complete はマイルストーンの完了を認めず、declare_next_payment_released は次の支払いがリリースされたとは言いません。save_deliverable は追加の納品物を拒否し、mark_work_done は保存されていない作業を拒否します。こうした追加は、suggest_milestone_change を使って提案し、続いて accept_milestone_change を使って、あなたが明示的に変更を承認した場合にのみ反映されます。
あなたとホストが許可した場合にのみ、アシスタントはこれらのツールを呼び出します。
接続
Cursor の場合、~/.cursor/mcp.json またはプロジェクトの .cursor/mcp.json に設定します。
{
"mcpServers": {
"milestone": {
"url": "http://127.0.0.1:3000/mcp"
}
}
}
ヘッダーのブロックは追加しないでください。Cursor がクライアントを登録し、サインイン画面を開きます。
Claude Code:
claude mcp add --transport http milestone http://127.0.0.1:3000/mcp
Authorization ヘッダーを渡さないでください。ほかのクライアントでも同じアドレスを使い、OAuth を選択して、クライアント ID とシークレットを空欄のままにしてください。ChatGPT、Claude、Gemini、Grok、Cursor の手順は /connect の接続ページにあります。
このサーバーのレジストリメタデータは server.json(io.github.LAHutchins91/milestone)にあります。そこに記載されている公開リモート MCP URL は https://milestone-continuity2.vercel.app/mcp です。
実行
npm install
npm test
npm run typecheck
npm run build
npm start
標準入力がターミナルの場合、Milestone はポート 3000 で Streamable HTTP を提供します。標準入力がターミナルでない場合は、標準入出力経由で MCP を使用し、引き続き HTTP ポートも開きます。標準入出力モード中のログは、プロトコルと混ざらないよう標準エラー出力に書き込まれます。
レコードは JSON ファイルに永続的に保存されます。デフォルトのパスは ~/.milestone/milestone.json です。移動するには MILESTONE_DATA_PATH を設定してください。1 つのサーバープロセスがこのファイルを所有します。他の製品のデータファイルを指定しないでください。
OAuth は、動的クライアント登録を備えた Supabase 認可サーバーと同じ仕組みを使用します。これらは MCP ヘッダーではなく、サーバープロセスに設定してください。
APP_BASE_URL(デフォルトはhttp://localhost:3000)SUPABASE_URLSUPABASE_ANON_KEYSTRIPE_SECRET_KEYSTRIPE_WEBHOOK_SECRETSTRIPE_PRICE_MONTHLYとSTRIPE_PRICE_YEARLY(Stripe カタログ ID であり、商品の価格ではありません)OPENAI_APPS_CHALLENGE(/.well-known/openai-apps-challengeで提供されるプレーンテキストトークン。この値が未設定の場合、パスは 404 を返します)
検出以外のツール呼び出しには、サブスクリプションのステータスが active または trialing のサインイン済みアカウントが必要です。
Ouroboros の詳細はこちら:https://ouroborosapps.com
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。