colregs-mcp について
colregs-mcpは、COLREGSに関する質問に答えるMCPサーバーです。国際規則の本文や船舶の灯火、状況の評価に利用でき、段落引用と該当する原文を返します。規則データはプレビュー版で、航行判断には使用できません。
主な機能
- 01船舶の状況と義務の評価
- 02合法な灯火表示と法的区分の提示
- 03遭遇状況と遵守状況の判定
- 04引用箇所から規則本文を取得
- 05灯火の定義と配置を照会
活用シーン
- 01状況に適用されるCOLREGS条項の確認
- 02灯火の色、弧度、配置の確認
- 03評価結果から引用された規則本文の追跡
MCP 対応
MCPサーバーとして、evaluate、rule_text、lightの各ツールをクライアントに提供します。評価には段落引用と対応する規則の逐語本文が含まれます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
colregs-mcp
警告
航行には使用しないでください。 このプレビュー版(0.0.x)は、公開前の 規則データに基づいています。水上での行動を決める際に、このツールの出力を 使用しないでください。ツールの仕様は予告なく変更されます。
COLREGS に基づく質問に回答する MCP サーバーです。すべての回答に、段落の引用と、その引用先となる規則の原文が含まれるため、言語モデルがひそかに内容を単純化することはありません。規則の評価には colregs-engine を使用します。この パッケージは、回答の記述方法だけを決定します。
試してみる
Claude Code:
claude mcp add colregs -- npx -y colregs-mcp
Claude コネクターディレクトリ: Claude で「Settings → Connectors」を開き、
COLREGS を検索して「Connect」をクリックします。設定は不要です。
その他の MCP クライアント: コマンドは npx、引数は -y colregs-mcp、
環境変数は不要です。
クローンから実行する場合:
git clone https://github.com/mark-brannan/colregs-mcp && cd colregs-mcp && npm install && npm run build
続いて、コマンドに node、引数に /absolute/path/to/colregs-mcp/dist/cli.js を指定します。
ツール
| ツール | 入力 | 返される内容 |
|---|---|---|
evaluate | circumstances | 1 回分の評価:appraisal、signals、indicated、compliance |
rule_text | cite | COLREGS の段落の原文 |
light | id | 1 つの灯火の定義:色、光質、光弧、設置位置 |
evaluate
circumstances は、1 隻の船舶が置かれている状況全体を表します。self(自船の事実)、
others(他船ごとの情報。既知または観測された内容を含みます)、および
conditions(視界、環境)で構成されます。1 回の呼び出しで状況全体を評価し、
応答では 4 つの観点から示します。
signals:selfが表示できる、適法な灯火の完全な組み合わせ。各灯火には、 適用される義務の種別(shall、may、shall-if-practicable)と、それを 規定する段落が示されます。appraisal:規則がselfに単独で求めること、および他船ごとに求めること。 遭遇の種類、衝突のおそれがあると判断されるかどうか、各船舶の役割(保持船、 避航船、進路を妨げてはならない船)が示されます。indicated:他船ごとに、観測された灯火、形象物、音響信号から、その船が どのような船舶である可能性があるかを示します。compliance:時間経過に沿ってサンプリングした状況の軌跡について、 適用された各義務に対し、船舶ごとに 1 つの判定を返します。判定は、履行、 違反、または保留です。
すべての ID には段落の引用が付随し、cited_paragraphs には、応答が引用する
すべての段落の原文が含まれます。入力語彙は、起動時に colregs データパッケージから
生成されます。定義にないキーや値は、空の回答ではなくエラーになります。
rule_text
25(b) や 26(c)(i) のような段落パス、規則の全段落を指定する 25 のような
規則番号、または 24(a)(ii)-(iv) のような範囲を受け取ります。USCG 統合版航行規則から
転記された国際的な原文を、出典と取得日とともに返します。
light
light:sidelights や light:all_round のように、応答に記載された灯火 ID を受け取ります。
色、光質、角度で表した光弧、設置位置を含む規則 21 の定義を返します。
例
航行中の 12 m のスループが単独でいる状況です。
{
"circumstances": {
"self": {
"fact:propulsion": "propulsion:sail",
"fact:activity": "activity:none",
"fact:position": "position:underway",
"fact:length_m": 11.6
}
}
}
応答の抜粋:
{
"colregs": { "version": "0.3.4" },
"signals": {
"applied": [
{ "id": "rule:25a", "cite": "25(a)", "modality": "modality:shall" },
{ "id": "rule:25b", "cite": "25(b)", "modality": "modality:may" },
{ "id": "rule:25c", "cite": "25(c)", "modality": "modality:may" }
],
"lawful_displays": {
"count": 3,
"relation": "any_one_of",
"options": [
{
"option": 1,
"of": 3,
"lights": [
{
"light": "light:sidelights",
"modality": "modality:shall",
"prescribed_by": { "id": "rule:25a", "cite": "25(a)" }
},
{
"light": "light:sternlight",
"modality": "modality:shall",
"prescribed_by": { "id": "rule:25a", "cite": "25(a)" }
}
]
},
{ "option": 2, "of": 3, "...": "..." },
{ "option": 3, "of": 3, "...": "..." }
]
},
"modality_key": { "modality:shall": "mandatory", "modality:may": "permitted alternative" },
"cited_paragraphs": {
"25(a)": "A sailing vessel underway shall exhibit: (i) sidelights; (ii) a sternlight.",
"25(b)": "…",
"25(c)": "…"
}
},
"appraisal": { "self": { "...": "..." }, "others": [] },
"indicated": []
}
規則で選択が認められており、入力からは選択が特定されないため、スループには 適法な表示方法が 3 つあります。
docs/demo.md では、同じ質問を同じモデルに対して、このサーバーを 使った場合と使わない場合で問いかけ、取得した両方の回答を示しています。
応答形式
すべての応答には、次の3つの性質があります。
- 引用付きで原文どおり。 すべての項目 ID は段落の引用とともに示され、
cited_paragraphsには引用したすべての段落のテキストが含まれます。応答に含まれる文は、規則そのものだけです。 - 各表示にモダリティを適用。
shall、may、shall-if-practicableは表示ごとに維持され、表示単位で要約されません。modality_keyは、応答で使用するモダリティを1行で示す用語集です。 - 複数の選択肢を前提とした構造。
lawful_displaysは、灯火が現れる前にcountとrelationから始まり、各選択肢にはn of countという番号が付きます。回答と誤認される可能性のあるトップレベルのlightsフィールドはありません。
合法的に何も表示しない船舶には、エラーではなく、空の表示が1つ割り当てられます。エラーは、入力が語彙の範囲外である場合に限られます。
すべての応答に colregs.version が含まれます。サーバーは、自身の colregs とエンジンの colregs が異なるリリースの場合、起動を拒否します。
依存関係
colregs-engine と colregs は npm リリースではなく GitHub の main からインストールされ、ロックファイルによってコミットが固定されます。両者は同じリリースに解決される必要があります。
プライバシーポリシー
サーバーは何も収集しません。ローカルの stdio プロセスとして実行され、隣にインストールされた colregs データパッケージを使って応答し、独自にネットワークリクエストを行うことはありません。テレメトリーはなく、受け取った内容のログ記録もなく、アカウントもありません。唯一のネットワーク通信はインストール時のもので、これは npm によるものです。
リリース
リリースタグから自動的に公開されます。公開先は npm、MCP レジストリ、および GitHub Release 上の .mcpb バンドルです。残りの手動手順については、docs/releasing.md を参照してください。
ライセンス
AGPL-3.0-only。航行適合性に関する免責事項は、colregs に記載されたものが適用されます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。