mcpField
J
Jev MCP

Jev MCP

ローカル
github.comAI・エージェント32 日前に更新

Jev MCP について

Jev MCPは、System Oneを使った構造化された確率的判断をMCPクライアントに提供する軽量サーバーです。分類、検証、再順位付けなどに対応し、OpenRouterまたはTypeSafe経由で呼び出して回答を検証し、有料呼び出しを自動再試行しません。

主な機能

  1. 015種類の構造化判断ツール
  2. 02項目の分類、検証、再順位付け
  3. 03選択、確率、尺度による回答
  4. 04質問に対する回答の検証
  5. 05OpenRouterとTypeSafeに対応
  6. 06プロバイダー応答と料金情報の返却

活用シーン

  1. 01サポート依頼をカテゴリに振り分け
  2. 02提示された証拠で主張を検証
  3. 03関連度に基づき候補を順位付け
  4. 04共有データに基づく型付き質問への回答

MCP 対応

Jev MCPはstdioのMCPサーバーを介して、decide、classify、verify、rerank、list_modelsの5つのツールをクライアントに公開します。認証情報はツール引数ではなく、サーバー環境から読み込みます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"freepik-company-jev": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"OPENROUTER_API_KEY",
"-e",
"TYPESAFE_API_KEY",
"-e",
"JEV_PROVIDER",
"-e",
"JEV_MODEL",
"ghcr.io/freepik-company/jev-mcp:v0.3.1"
],
"env": {
"OPENROUTER_API_KEY": "<OPENROUTER_API_KEY>",
"TYPESAFE_API_KEY": "<TYPESAFE_API_KEY>",
"JEV_PROVIDER": "<JEV_PROVIDER>",
"JEV_MODEL": "<JEV_MODEL>"
}
}
}
}
起動コマンドdocker run -i --rm -e OPENROUTER_API_KEY -e TYPESAFE_API_KEY -e JEV_PROVIDER -e JEV_MODEL ghcr.io/freepik-company/jev-mcp:v0.3.1
設定が必要な環境変数
OPENROUTER_API_KEYシークレットOpenRouter API key. Required when JEV_PROVIDER is openrouter (the default).
TYPESAFE_API_KEYシークレットTypeSafe API key. Required when JEV_PROVIDER is typesafe.
JEV_PROVIDERProvider that serves Jev.
JEV_MODELDefault System One model ID; each tool call may override it.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
ocighcr.io/freepik-company/jev-mcp:v0.3.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Jev MCP

CI Release Go Reference License

J ev の TypeSafe System One モデルを、OpenRouter または TypeSafe から直接利用して、あらゆる MCP クライアントに型付きの確率的な判断を提供する、依存関係の少ない小規模な MCP サーバー です。

Jev はテキストを生成しません。データと型付きの質問を送ると、質問ごとに調整済みの回答を 1 つ返します。選択肢からの選択、はい/いいえの確率、または定義した尺度上の位置を、信頼度と確率分布全体とともに返します。単一の並列処理で高速に回答し、チャットモデルのわずかなコストで利用できます。また、提示していない選択肢を返すことはありません。

このサーバーはこれを 5 つの MCP ツールとして公開し、プロバイダーが返すすべての回答を検証します。認証情報を漏らさず、有料の呼び出しを再試行することもありません。

使用する理由

  • 推測ではなく、エージェントに判断させます。 ルーティング、トリアージ、分類、主張の検証、ランキングを、ワークフローで処理したりエスカレーションしたりできる、確率付きの明示的な型付き呼び出しにできます。
  • 低コストで高速です。 項目や質問の数にかかわらず、ツールの呼び出しごとに有料の推論呼び出しは 1 回です。
  • プロバイダーを選びません。 既存の OpenRouter キー、または TypeSafe キーを使用できます。環境変数 1 つで切り替えられます。
  • 出力に忠実です。 回答は質問に照らして検証されます。一貫性のない回答や不完全な回答は、補正されずに呼び出しが失敗します。usage.cost を含むプロバイダーからの応答は常に変更されずに返されます。
  • 設計上、安全です。 認証情報はサーバー環境内だけに保管され、HTTPS が必須です。リダイレクトは拒否され、リクエストとレスポンスのサイズおよび所要時間には上限が設けられています。

クイックスタート

1. API キーを取得する
  • OpenRouter(デフォルト):openrouter.ai でキーを作成し、OPENROUTER_API_KEY を設定します。Jev は typesafe/jev-latest として登録されています。jev-latest だけの ID も使用できます。
  • TypeSafe:typesafe.ai でキーを作成し、TYPESAFE_API_KEY と JEV_PROVIDER=typesafe を設定します。
2. サーバーをインストールする

次のいずれかを選んでください。

バイナリ。 お使いのプラットフォーム用のアーカイブをリリースからダウンロードします(Linux、macOS、Windows、amd64 および arm64)。checksums.txt と照合して検証し、jev-mcp を PATH に追加します。

コンテナー。 タグ付きの各リリース向けにイメージが公開されています。

docker pull ghcr.io/freepik-company/jev-mcp:latest

Go ツールチェーン。

go install github.com/freepik-company/jev-mcp/cmd/jev-mcp@latest
3. MCP クライアントに登録する

このサーバーは stdio 経由で MCP を使用し、認証情報を環境から読み込みます。キーをツール引数に指定しないでください。

Claude Code

claude mcp add jev -e OPENROUTER_API_KEY="$OPENROUTER_API_KEY" -- jev-mcp

Claude Desktop、Cursor、その他の JSON 設定クライアント

{
  "mcpServers": {
    "jev": {
      "command": "jev-mcp",
      "env": { "OPENROUTER_API_KEY": "sk-or-..." }
    }
  }
}

バイナリの代わりにコンテナーを使用する場合(-i を使い、-t は使わないでください。キーはクライアントの環境から継承されます)。

{
  "mcpServers": {
    "jev": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "-e", "OPENROUTER_API_KEY", "ghcr.io/freepik-company/jev-mcp:latest"]
    }
  }
}

TypeSafe を直接使用する場合は、OpenRouter キーの代わりに "JEV_PROVIDER": "typesafe" と TYPESAFE_API_KEY を追加します。

このサーバーは MCP Registry にも io.github.freepik-company/jev-mcp として登録されているため、レジストリを参照できるクライアントからインストールできます。

設定

変数デフォルト/用途
JEV_PROVIDERopenrouter または typesafe(デフォルト:openrouter)
OPENROUTER_API_KEYOpenRouter の認証情報
TYPESAFE_API_KEYTypeSafe の認証情報
API_KEY選択したプロバイダーの認証情報を上書きします
JEV_MODELjev-latest。ツール呼び出しごとに model で上書きできます
BASE_URLプロバイダーの API ルート。末尾に /v1/systemone が追加されます

デフォルトのルートは https://openrouter.ai/api と https://api.typesafe.ai です。 BASE_URL は HTTPS である必要があります。ローカルプロキシやテスト用途では、ループバック上に限り平文の HTTP も使用できます。認証情報はサーバー環境に設定し、ツールの引数には決して含めないでください。

ツール

ツール入力結果
decide共通の state と名前付きの questions型付きの未加工の回答とプロバイダーのメタデータ
classifyitems、categories、instructions各項目のカテゴリ、信頼度、確率
verifyclaims、evidence各主張について supported、contradicted、または insufficient_evidence
rerankquery、candidates、省略可能な top_k0~4 の基準による関連度スコア(降順)
list_models引数なし対応するモデル ID と設定済みのデフォルト

項目、主張、証拠、候補は、1~64 件の { "id": "unique-id", "text": "..." } 配列です。カテゴリはカテゴリ ID を説明に対応付けます。3 つのタスクツールは省略可能な model を受け付け、推論を 1 回実行して、results と変更されていないプロバイダーの response(提供されている場合は response.usage.cost を含む)を返します。 分類と検証では入力順を維持し、ランキングでは同点の場合に入力順を維持します。 top_k はすべての候補を評価した後に結果を絞り込みます。入力が切り詰められることはありません。

検証では、指定された証拠のみを使用します。判定はモデルによる判断であり、証明や承認ではありません。自動的な受け入れしきい値は設定されていません。モデルの検出では、推論を行わず、OpenRouter の decisions カタログまたは TypeSafe のネイティブカタログを使用します。

例:decide
{
  "state": {"ticket": "Please refund the duplicate charge."},
  "questions": {
    "department": {
      "type": "choice",
      "instructions": "Which team should handle this ticket?",
      "criteria": {"billing": "Payments and refunds", "technical": "Software defects"}
    },
    "refund": {"type": "noul", "instructions": "Is a refund requested?"},
    "urgency": {
      "type": "score",
      "instructions": "How urgent is this ticket?",
      "criteria": ["Routine", "Service blocked", "Active financial harm"]
    }
  }
}

choice は指定された選択肢を選びます。noul は P(true) を返します。score は確率で重み付けした基準インデックスを返します。スコアの凡例や、利用可能な場合の usage.cost を含め、プロバイダーの出力全体が保持されます。

例:classify
{
  "instructions": "Route each support message to the right queue.",
  "categories": {
    "billing": "Charges, invoices and refunds",
    "technical": "Bugs, errors and outages",
    "other": "Anything else"
  },
  "items": [
    {"id": "m1", "text": "I was charged twice this month."},
    {"id": "m2", "text": "The export button does nothing."}
  ]
}

入力順に、各項目について { "id", "category", "confidence", "probabilities" } を 1 件ずつ返し、プロバイダーの response 全体も返します。

制限と障害モード

不明な入力フィールド、不完全な回答、または一貫性のない回答がある場合、呼び出しは失敗します。 リクエストには 30 秒のタイムアウト、1 MiB の入力上限、2 MiB の応答上限があります。 有料の呼び出しは自動的に再試行されません。プロバイダーのエラーでは HTTP ステータスのみが表面化し、応答本文は決して表面化しないため、プロバイダーが認証情報を返してもモデルに渡ることはありません。完全な仕様については、入力スキーマと出力スキーマを参照してください。

開発

必要なのは Docker のみです。

make test       # formatting, vet, race-enabled unit and integration tests
make image      # runtime image, tagged jev-mcp:local
make release    # archives and checksums for every platform in dist/

cmd/jev-mcp にエントリーポイントがあります。internal/ では、設定、System One クライアントと回答の検証、タスクレイヤー、MCP プロトコルを分離しています。 CI では、プッシュとプルリクエストのたびにビルドとテストを検証します。バージョンタグを付けると、リリースアーカイブ、GHCR 上のコンテナイメージ、MCP Registry への登録が公開されます。

ワークフローと設計原則については CONTRIBUTING.md、脆弱性の報告については SECURITY.md、リリースノートについては CHANGELOG.md を参照してください。

ライセンス

Apache License 2.0。Jev と System One は TypeSafe AI の製品です。このプロジェクトは独立したクライアントであり、TypeSafe または OpenRouter とは提携していません。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。