meridian-skills について
meridian-skillsは、自然言語のタスクに対してLLMが候補を生成し、決定論的な軌道分類器で順位付けするMCPサーバーです。さまざまな種類の候補から、順位付きの提案を得たいエージェント向けです。
主な機能
- 01LLMによるルーティング候補生成
- 02決定論的な軌道分類
- 03順位と判定ルールの提示
- 04stdioとStreamable HTTPに対応
活用シーン
- 01タスクに関連するツールの検索
- 02タスクのプロンプトやドキュメントへの振り分け
- 03製品などの候補の順位付け
MCP 対応
stdioまたはStreamable HTTP経由で、MCPクライアントに`route_task`ツールを提供します。GitHub Modelsで候補を生成し、分類結果と順位を返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y meridian-skills-mcpMERIDIAN_API_URLOverride the backend router URL.MERIDIAN_API_KEYシークレットOptional bearer token for future rate-limit gating.MERIDIAN_TIMEOUT_MSAbort the fetch after this many ms.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
1掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| task | string | はい | タスク/質問/コンテキスト。最大 800 文字。 |
| limit | integer | いいえ | 返すスキルの最大数(1~10、デフォルトは 5) |
詳細
Meridian MCP
軌道力学による動的なタスクルーティング。ドメインに依存せず、候補にはツール、プロンプト、ドキュメント、製品、その他ルーティング可能なあらゆるエンティティを指定できます。
リクエストごとに、LLM(GitHub Modelsの無料枠を介したLlama-3.3-70B)が* N *個のルーティング候補エントリを生成します。決定論的な分類器が、候補のコンテンツのみから9個のスカラー物理シグネチャを抽出します。キュレーションされたルックアップは使用しません。mass(本文の長さ×キーワード数を対数スケーリング)、scope、independence、cross_domain親和性(3つの恒星系にまたがるトークンドメインエントロピー)、fragmentation、drag、dep_ratio(兄弟候補間の最大Jaccard係数)、lagrange_potential、coherence_time(候補のトークンストリーム上でのg⁽¹⁾形式の自己相関。3.1.0で追加)、さらに軌道パラメーターと光学パラメーター(軌道長半径、離心率、軌道傾斜角、周期、近日点、遠日点、平均近点角、波長、偏光、振幅、位相)です。クラスごとの6つのスコアリングルールが、argmaxによって天体クラスを割り当てます。planet、moon、trojan、asteroid、comet、irregularのいずれかです。
クラスのスコアリングルール:
score_planet = min(mass, scope, independence)^1.5
score_moon = 2 · max(0, ½ - independence) · 𝟙[parent] · (1 - mass/2)
score_trojan = dep_ratio · 𝟙[parent] · (1 - fragmentation)
score_asteroid = 2.5 · max(0, 0.55 - mass) · scope · independence
score_comet = drag · cross_domain · (1 - dep_ratio)
score_irregular = 0.85 · cross_domain · fragmentation
class(p) = argmax_c score_c(p)
出力:route_score、完全な分類、候補ごとの判定ルールを含む、決定論的に順位付けされたリストです。ワイヤ形式:stdioまたはStreamable HTTPを介したModel Context Protocolです。stdioシムは約5 KBです。Claude Code、Cursor、Windsurf、Goose、Continue、Grokのカスタムコネクター、ChatGPTのカスタムMCP、Claude.aiコネクターでテスト済みです。
3.0 —
meridian-skills-mcpから名称を変更しました。 分類器は当初からドメインに依存しませんでしたが、「スキル」という位置付けによって、LLMプロンプトがAIエージェントの能力に偏っていました。v3では、プロンプト、コード、ブランディング、npmパッケージ名からこの位置付けをすべて取り除きました。移行方法:npm i -g meridian-orbital(旧パッケージは非推奨です。クライアント設定との互換性を保つため、バイナリ名は引き続きmeridian-mcp/meridian-mcp-httpです)。ホスト型HTTP MCP(mcp.ask-meridian.uk/mcp)は引き続き利用できます。URLに変更はありません。
インストール(stdio — Claude Code/Cursor/Windsurf)
npm install -g meridian-orbital
claude mcp add meridian meridian-mcp
同じインストール方法をCursor、Windsurf、Goose、Continue、およびstdioに対応したあらゆるMCPクライアントで利用できます。
Models: read権限を持つGitHubの個人用アクセストークン(無料枠)が必要です。https://github.com/settings/personal-access-tokens/new で生成して、環境変数にエクスポートしてください。
export MERIDIAN_GITHUB_TOKEN=github_pat_...
(MCPは、環境にすでに設定されている場合、通常のGITHUB_TOKENも取得します。)
Grokコネクターとして使用する
ホスト型のStreamable HTTP版は**https://mcp.ask-meridian.uk/mcp**で利用できます。OAuth 2.1 + PKCEに完全対応しているため、GrokのカスタムMCPコネクター、ChatGPTのカスタムMCP、Claude.aiコネクターなど、コネクターURLを必要とするあらゆるホストに接続できます。npmのインストールも、お客様側でのPAT入力も、インフラも不要です。
Grokの「カスタムコネクターを追加」ダイアログに、次の値を貼り付けてください。
| 項目 | 値 |
|---|---|
| サーバーURL | https://mcp.ask-meridian.uk/mcp |
| 認可エンドポイント | https://mcp.ask-meridian.uk/authorize |
| トークンエンドポイント | https://mcp.ask-meridian.uk/token |
| クライアントID | grok |
| クライアントシークレット | (空欄) |
| トークン認証方式 | none(PKCEのみ) |
| スコープ | route_task |
Grokで「認可」をクリックすると、/authorizeが開きます。ここではワンクリックで確認できるページが表示されます(PATの貼り付けも、GitHub特有の用語も不要です)。推論はGitHub Modelsに対してオペレーターのPATを使って実行されるため、エンドユーザーに手間はかかりません。トークンの有効期間は1時間で、いつでも再認可できます。
同じURLはChatGPTのカスタムMCPおよびClaude.aiコネクターでも利用できます。いずれも同じMCP Streamable HTTP + OAuth 2.1仕様に対応しています。
HTTP 版のセルフホスト
独自のリモート MCP を運用する場合は、パッケージに Node バイナリが同梱されています。
npx -y meridian-orbital meridian-mcp-http
# → listening on http://0.0.0.0:3333/mcp · auth=pass-through · v3.1.0
または、Docker を使用します(MCP_MODE=http でエントリーポイントが切り替わります)。
docker run --rm -p 3333:3333 -e MCP_MODE=http meridian-orbital
認証モード:
- パススルー(デフォルト)。 各呼び出しの
Authorization: Bearer …は GitHub Models に転送されます。ユーザーは自身の PAT を用意します。 - 共有ゲートウェイ。
MERIDIAN_GATEWAY_TOKEN(呼び出し元が渡す値)とMERIDIAN_GITHUB_TOKEN(推論に使用するサーバー側の値)を設定します。
ホスト型の Worker 版では OAuth 2.1 + PKCE も実装しています。Node バイナリは Bearer のみです(stdio→HTTP ブリッジや curl などのツールに適しています)。
できること
ツールは 1 つです:route_task(task, limit?)。
input: a natural-language task
↓
GitHub Models (Llama-3.3-70B) generates 5 candidates
↓
local orbital classifier
• derives physics: mass, scope, independence,
cross_domain, fragmentation, drag, dep_ratio
• assigns class: planet | moon | trojan |
asteroid | comet | irregular
• computes star-system membership (forge / signal / mind),
parent candidate, Lagrange potential
↓
output: ranked candidates with full bodies, classifications,
and decision rules
通常の呼び出しには 5~15 秒かかります。各結果には完全な Markdown 本文が含まれているため、呼び出し元のエージェントは候補をそのままコンテキストウィンドウに取り込めます。
設定
| 環境変数 | デフォルト | 用途 |
|---|---|---|
MERIDIAN_GITHUB_TOKEN | GITHUB_TOKEN にフォールバック | Models: read スコープを持つ GitHub PAT。必須です。 |
MERIDIAN_MODEL | meta/llama-3.3-70b-instruct | 任意の GitHub Models チャットモデル |
MERIDIAN_MODELS_ENDPOINT | https://models.github.ai/inference/chat/completions | セルフホスト型ゲートウェイ用の上書き設定 |
MERIDIAN_CANDIDATES | 5 | LLM が呼び出しごとに生成する候補の数 |
MERIDIAN_TIMEOUT_MS | 90000 | このミリ秒数を超えるとフェッチを中断します |
PORT | 3333 | (HTTP モード)meridian-mcp-http のポート |
HOST | 0.0.0.0 | (HTTP モード)バインドアドレス |
MERIDIAN_HTTP_PATH | /mcp | (HTTP モード)エンドポイントのパス |
MERIDIAN_GATEWAY_TOKEN | (未設定) | (HTTP モード)設定すると、認証方式がパススルーから共有キーゲートウェイに切り替わります。Bearer はこの値と一致する必要があります。推論にはサーバー独自の MERIDIAN_GITHUB_TOKEN が使用されます。 |
2.0.0 での変更点
1.x 系では Cloudflare Worker(https://ask-meridian.uk/api/orbital-route)を呼び出し、サーバー側で LLM と軌道分類器を実行していました。このバックエンドは廃止されました。2.0.0 では:
- 自己完結型。 軌道分類器はプロセス内で実行されます。LLM の呼び出しは GitHub Models に直接送られます。バックエンドへの依存はありません。
- 独自のトークンを使用。 GitHub の無料枠を利用でき、クォータにも余裕があります。
- 高速化。 30~50 秒から 5~15 秒に短縮されます(余分なネットワークの往復がなく、GitHub の推論も高速です)。
- 出力形式は同じ。 そのまま置き換えられ、エージェントのプロンプト変更は不要です。
0.3.x に含まれていた、クローズドドメインの Python スコアラーと 88 件の厳選コーパスを引き続き使うには、[email protected] に固定してください。現在は廃止された Cloudflare バックエンドへの呼び出しを続けるには、1.0.1 に固定してください(呼び出しのたびに HTTP 405 で失敗します)。
Web ミニアプリと稼働中のリモート MCP
同じ軌道分類器を使用する 2 つのフロントエンドが mcp.ask-meridian.uk から提供されています:
- ask-meridian.uk/miniapp — タスクを入力すると、候補が軌道上に表示されます。接続機能が使用するものと同じ Llama-3.3-70B + 分類器の経路で、稼働中の MCP
mcp.ask-meridian.uk/v1/routeを呼び出します。 - meridian.ask-meridian.uk/lens/ — WebXR Vision Lab。ヘッドセットで撮影したフレームを
mcp.ask-meridian.uk/v1/visionに POST します(GPT-4o-mini、費用は運営者負担)。候補は、視野内にアンカーされた恒星系の周りを軌道運動します。ミニアプリと同じバックエンドです。
どちらもファーストパーティのブラウザーエンドポイント /v1/route を呼び出します。Origin が許可リストで制限され、費用は運営者負担で、PAT を貼り付ける必要はありません。OAuth で保護された /mcp エンドポイント(このセクションの「Grok コネクターとして使用する」経路)に変更はありません。
オンライン学習ループ
ブラウザーエンドポイント /v1/route は、ヒューリスティックなランキングの上に、適合済み補正レイヤーを適用します。ユーザーが候補を操作するたびに(レンズでの惑星クリック、ミニアプリでの詳細パネル表示、vision-labでのカードクリック)、フロントエンドは /v1/feedback に POST し、ワーカーは選択された候補とその他すべての候補を比較して、ペアワイズランキングの SGD を1ステップ実行します。リクエストごとのコストは一定(約 1 ms)で、GPU もローカルでの実行も不要です。
user click → /v1/feedback → KV → SGD step → updated weights → next /v1/route uses them
final_score = heuristic_route_score × (1 + tanh(K · w·x))— [0, 2] の範囲に制限されるため、個々の候補がヒューリスティックの2倍を超えて密かに押し上げられることはありません。- 候補ごとに25個の特徴量ベクトルを使用します。内訳は、9個の物理スカラー(元の8個に、3.1.0で追加された
coherence_timeを加算)+6個のクラスのワンホット特徴量+3個の恒星系のワンホット特徴量+3個のトークンヒット特徴量+4個のランキング特徴量です。KVではFEATURE_VERSION=v2の下に保存されます。バージョンを上げると、重みが適切に再初期化されます。 - コールドスタート時は
w = 0、乗数は 1 で、純粋なヒューリスティックです。導入初日から学習データは不要です。 - OAuthで保護された
/mcpパス(Grok / ChatGPT / Claude.ai コネクター)では、再現性を確保するため、決定論的なヒューリスティックランキングを維持します。 - 2つの GitHub Actions cron ジョブにより、自然なトラフィックがなくてもループが完結します。
classifier-bootstrap.yml(3日ごとに実行。公開 HF ベンチマークのラベル付き例を/v1/feedbackに送信)とclassifier-health.yml(毎週月曜日に実行。recall@1 / @5 とモデルの状態をlanding/healthz.jsonに投稿)です。
モデルの状態は読み取り専用です:GET https://mcp.ask-meridian.uk/v1/model-info。
アーキテクチャ全体と、この設計に至る調整の過程(惑星バイアスのバグ、試したものの断念した2つの教科書的な物理フレームワーク、v2の再調整、実際のラベル付きデータで得られた81%の recall@1 [95% Wilson CI 60%、92%] という結果)については、ブログ記事をご覧ください。
ライセンス
MIT — LICENSE を参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。