Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Offline JPS validator, conformance tester, and experimental evaluator over stdio MCP; keyless.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
JPACK_CONFIG必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"judgment-pack": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"JPACK_CONFIG",
"ghcr.io/judgment-pack/judgment-pack:0.39.0"
],
"env": {
"JPACK_CONFIG": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add judgment-pack --env JPACK_CONFIG=your-value -- docker run -i --rm -e JPACK_CONFIG ghcr.io/judgment-pack/judgment-pack:0.39.0動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"judgment-pack": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"JPACK_CONFIG",
"ghcr.io/judgment-pack/judgment-pack:0.39.0"
],
"env": {
"JPACK_CONFIG": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"judgment-pack": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"JPACK_CONFIG",
"ghcr.io/judgment-pack/judgment-pack:0.39.0"
],
"env": {
"JPACK_CONFIG": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
JPACK_CONFIG envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント Judgment-Pack で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.39.0)がレジストリに届いたのは8 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにDockerも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Dechonet MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
30 security tools for AI agents: phishing links, exposure maps, DNS, SSL, PQC, history, pivots.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Status: pre-1.0
Tagged binaries are official only when they appear on this repository's GitHub Releases page
with
checksums.txt. Development checkouts may temporarily embed unreleased JPS snapshots, but
the release workflow rejects them.
judgment-pack is the vendor-neutral reference runtime for the Judgment Pack Specification (JPS). It is a reference implementation, not the only valid one: the normative specification, schemas, and conformance corpus are owned by the separate judgment-pack-spec repository, and an independent implementation is judged against the complete normative requirements of the conformance class it claims — not against this runtime. Results from the corpus published for the exact version it names are required evidence for such a claim and are not exhaustive evidence of it (§3.4.1).
The runtime validates documents. It does not fetch a source, authorize an action, or establish truth, organizational authority, safety, or operational fitness. It bundles 0.1.0-draft, 0.2.0-draft, and Core 0.3.0, and validates a document against its exact declaration. Core 0.3.0 resources are imported from the published Spec tag v0.3.0, commit 27cb29bf13e4a2d58d69fe19c7ebfeb762b014fc. Core 0.3.0 support is base-only. Runtime discovery reports evaluatorCapabilities separately from document supportedSpecVersions, with supportedProfiles: ["base"] scoped to the Core 0.3.0 evaluator entry. This says nothing about Policy or Dialect profile support.
For the version covered by the claim in CONFORMANCE.md, one shared evaluator applies the specification's §§7–8 resolution model per ADR-0007, and ten surfaces reach it: jpack experimental evaluate and evaluate-corpus, the project walk jpack packs test, the graph verbs jpack experimental graph evaluate and graph test, the version comparison jpack experimental compare, and the experimental_evaluate, experimental_test_packs, experimental_test_cases and experimental_test_graphs MCP tools. The experimental namespace is a stability statement: such a surface may change or be removed without compatibility promise. It is not a statement about conformance. That evaluator implements the evaluator conformance class Core 0.2.0-draft adds — the §8.2 input preflight, the §8.3 portable disposition with its RFC 8785 byte agreement, the §8.4 error classes and their fixed precedence, and the §10 limits — per ADR-0010 and ADR-0011.
Pack-aware operations select the evaluator contract from the exact pack's specVersion: 0.2.0-draft or 0.3.0. Internal legacy entry points and standalone authoring tools retain their 0.2.0-draft default; standalone tools accept explicit spec_version: "0.3.0". Selection never infers a version from a routes member. See ADR-0063 for the compatibility decisions.
This runtime's conformance claim is stated, in full and only, in [CONFORMANCE.md](CONFORMANCE.md). JPS §3.4.1 fixes the entire form such a claim may take — the class, one exact specVersion, the corpus version, the results obtained, and in the claim's own words that every row of that corpus version passed — so this README states no part of it and neither does any other surface: a partial restatement would be the partial claim §3.4.1 forbids. Read that file for the claim, its version scope, its evidence, and everything it does not assert, which includes anything at all about a pack, its facts, or the wisdom of acting on a disposition (§3.5). jpack experimental evaluate-corpus runs the bundled evaluation corpus and reports its rows — the evidence §3.4.1 requires of a claim of this class, and explicitly not exhaustive evidence of one; see CONFORMANCE.md.
That command carries one further opt-in, --rfc0008-quantifiers, which is a draft-RFC prototype per ADR-0009: it admits the collection quantifiers exists, every, and uniform proposed by the specification's RFC 0008 (Draft). Those operators belong to no published JPS version. A pack using one is not valid under JPS 0.1.0-draft, spec validate rejects it, the evaluator without the flag refuses it, and every successful evaluation payload produced under the flag says so in band through a draftPrototype member — a refusal is an operational error and carries none. The flag is CLI only; the MCP tool does not expose it.
A second opt-in, --rfc0016-outcome-values, is a draft-RFC prototype on the same terms, per ADR-0039. It admits the value declarations proposed by the specification's RFC 0016 (Draft): an outcome declares named values under org.judgmentpack.outcome-values, each a constant or a copy of one fact, and the disposition of that outcome carries them in a value member. That member is the draft's and no member of §8.3. A declared value that does not resolve withholds the outcome, and the result is unresolved with reason unknown. The name is reserved, so a pack carrying a declaration is not valid under any published JPS version, spec validate rejects it, and the evaluator without the flag refuses it. A value drawn from a fact is a copy of that fact and is not verified. The two flags are mutually exclusive, and this one is CLI only too.
The command binary is jpack. The project, repository, and release archives keep the judgment-pack name; the executable they carry is jpack.
jpack version
jpack artifact version --base [--candidate ] jpack dialect contract jpack dialect init [--dialect-version 2|3] jpack dialect canonicalize jpack dialect digest jpack dialect validate jpack dialect schema [--dialect-version 2|3] jpack dialect reference jpack dialect check --pack jpack spec validate jpack spec test-conformance [suite] [--strict] jpack spec schema jpack spec examples [name] [--spec-version V] jpack packs list (jpack.json project convention; ADR-0012, not part of the spec) jpack packs validate [--id X] jpack packs test [--id X] [--require-matrix] (EXPERIMENTAL SURFACE; claim: CONFORMANCE.md) jpack packs suggest [--id X] [--base ROW] [--write F|-] [--max N] [--include-hugs] (candidate row INPUTS, never rows; ADR-0024) jpack packs lock (declare the current documents as the project's reviewed set; ADR-0019) jpack packs verify (check the project against that reviewed set) jpack packs lint [--producers M] (every consulted pointer has a producer; ADR-0022) jpack packs schema jpack mcp jpack experimental evaluate (EXPERIMENTAL SURFACE; claim: CONFORMANCE.md) jpack experimental evaluate --pack-id X (EXPERIMENTAL SURFACE; resolves one decision id through jpack.json) jpack experimental evaluate --rfc0008-quantifiers (DRAFT-RFC PROTOTYPE; not an input the class defines) jpack experimental evaluate --rfc0016-outcome-values (DRAFT-RFC PROTOTYPE; a pack that declares values is not an input the class defines) jpack experimental evaluate-corpus (EXPERIMENTAL SURFACE; corpus results, the evidence §3.4.1 requires) jpack experimental compare --inputs (EXPERIMENTAL SURFACE; the inputs two versions decide differently; ADR-0045) jpack experimental graph list (EXPERIMENTAL: the configured graphs, resolved; ADR-0029) jpack experimental graph validate (EXPERIMENTAL composition prototype; spec RFC 0002, Draft; ADR-0015) jpack experimental graph evaluate [--inputs ] [--rehearsal] (EXPERIMENTAL SURFACE; claim: CONFORMANCE.md) jpack experimental graph explain (the evaluation plan; nothing is evaluated) jpack experimental graph test --rows (EXPERIMENTAL SURFACE; claim: CONFORMANCE.md) jpack experimental graph schema jpack experimental policy contract jpack experimental policy init --kind policy --format-version 0.0.2 --id --version jpack experimental policy schema --kind policy --format-version 0.0.2 jpack experimental policy canonicalize jpack experimental policy digest jpack experimental policy validate jpack experimental policy check --materials
The pack argument and --pack-id are mutually exclusive: one pack, one source, and supplying both or neither is an invocation error rather than a precedence rule. --pack-id honors --config and JPACK_CONFIG like every other command that reads a configuration.
The namespace is jpack spec, not jpack jps. JPS remains the name of the specification and the prefix of its provisional diagnostic codes.
The mcp command serves the same offline operations to a Model Context Protocol client over stdio, so an agent can validate documents as a tool call; see docs/mcp-clients.md for per-client setup and docs/agent-testing.md for the agent-driven testing protocol.
Download the archive for your operating system and architecture from GitHub Releases. Each archive includes the jpack binary, README, the CONFORMANCE.md claim the source it was built from carries, Apache-2.0 license, attribution notice, and third-party notices.
Asset names follow this pattern:
judgment-pack_<version>_<os>_<arch>.tar.gz
judgment-pack_ _windows_ .zip
For example, release v0.1.0 uses judgment-pack_0.1.0_linux_amd64.tar.gz. Linux and macOS users can extract an archive and install the binary into a user-owned directory already on PATH:
tar -xzf judgment-pack_0.1.0_linux_amd64.tar.gz
install -m 0755 jpack "$HOME/.local/bin/jpack" jpack version
On Windows, expand the .zip, move jpack.exe into a directory on your user PATH, and run:
jpack version
Verify the archive before extracting it. On Linux:
grep ' judgment-pack_0.1.0_linux_amd64.tar.gz$' checksums.txt | sha256sum --check
On macOS:
grep ' judgment-pack_0.1.0_darwin_arm64.tar.gz$' checksums.txt | shasum -a 256 --check
On Windows PowerShell:
(Get-FileHash .\judgment-pack_0.1.0_windows_amd64.zip -Algorithm SHA256).Hash
Select-String -Path .\checksums.txt -Pattern ' judgment-pack_0.1.0_windows_amd64.zip$'
The two Windows hashes must match. Release archives also carry GitHub build-provenance attestations, which a current GitHub CLI can verify:
gh attestation verify judgment-pack_0.1.0_linux_amd64.tar.gz --repo Judgment-Pack/judgment-pack-runtime
Packages for Homebrew, Scoop, apt, and go install are not published yet. In particular, source installation with go install does not receive the release linker metadata, so use a release archive when you need an accurately reported runtime version.
With jpack on your PATH, this is the whole loop: a pack, a facts document, and a disposition. Save a pack that approves an expense unless its amount is over 5000:
cat > pack.json <<'EOF'
{ "specVersion": "0.2.0-draft", "id": "https://example.invalid/judgment-packs/expense-approval", "version": "0.1.0", "title": "Expense approval", "decision": { "intent": "Approve ordinary expenses without review.", "question": "May this expense be approved?" }, "outcomes": [ { "id": "approve", "label": "Approve" }, { "id": "decline", "label": "Decline" } ], "rules": [ { "id": "over-limit",
冒頭だけを表示しています。続きはリポジトリで読めます