Korea Stay
Korean lodging: 84,490 stays from 4 government permit ledgers + KTO TourAPI, honest gaps
作者による説明(英語の原文)
FIDE Laws of Chess (2023) as an executable model: arbiter cases, answers with rules and judgments
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
FIDE_CHESS_MCP_CALL_TIMEOUT必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
ウェブ、デスクトップ、モバイルのClaudeで使えます:
https://mcp.arxo.io/mcp/fide-chessClaude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"fide-chess": {
"command": "npx",
"args": [
"-y",
"@arxo/mcp-fide-chess"
],
"env": {
"FIDE_CHESS_MCP_CALL_TIMEOUT": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add --transport http fide-chess https://mcp.arxo.io/mcp/fide-chessclaude mcp add fide-chess --env FIDE_CHESS_MCP_CALL_TIMEOUT=your-value -- npx -y @arxo/mcp-fide-chess動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"fide-chess": {
"url": "https://mcp.arxo.io/mcp/fide-chess"
}
}
}プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"fide-chess": {
"command": "npx",
"args": [
"-y",
"@arxo/mcp-fide-chess"
],
"env": {
"FIDE_CHESS_MCP_CALL_TIMEOUT": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"fide-chess": {
"type": "http",
"url": "https://mcp.arxo.io/mcp/fide-chess"
}
}
}プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"fide-chess": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@arxo/mcp-fide-chess"
],
"env": {
"FIDE_CHESS_MCP_CALL_TIMEOUT": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
ChatGPTがつなげるのは、インターネット上のサーバーだけです:
https://mcp.arxo.io/mcp/fide-chessメニューの名前は、プランや時期によって少し違うことがあります。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
FIDE_CHESS_MCP_CALL_TIMEOUT envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
このサーバーのツール一覧はまだ読み取っていません。エンドポイントは順番にチェックしています。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
レジストリ名はドメイン arxo.io で確認済みです(レジストリがドメインの所有を確認しています)
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
まだチェックしていません。エンドポイントは順番にチェックしています
まだチェックしていません。エンドポイントは順番にチェックしています
まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
どちらでも使えます。パソコンにインストールしても、クラウド版につないでもかまいません。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.1)がレジストリに届いたのは24 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。
同じカテゴリには:Korea Stay, Contract Compass, SONAR: KYB due diligence
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Korean lodging: 84,490 stays from 4 government permit ledgers + KTO TourAPI, honest gaps
Korean public procurement law: rule-engine rulings, statutes search, live court precedents
Company register lookups and KYB checks: registries, sanctions, PEP, offshore leaks, adverse media.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Explore a chess arbiter's decision through a pinned model, explicit facts and an inspectable answer. Ten retained fictional cases cover illegal moves, flag fall, rapid/blitz exceptions, recording and arbiter judgment.
Node.js 20+ · ESM · canon package 0.1.0 · model 0.1.1 · FIDE edition effective 1 January 2023
Start in Node.js · Cases · Evidence · Depth · Submit a case · Source repository
This is an independent open-source teaching and research demonstration. For an actual chess ruling, use the authentic FIDE Laws and the competent arbiter. Source text and model scope are pinned; the package does not claim general chess-engine capability or complete formalization.
Requirements: Node.js 20+. The example uses ES modules; keep the .mjs extension. This recipe was checked on macOS arm64 with Node.js 20.20.2 on 14 October 2026. No global CLI, Git clone or MCP client is needed for this route.
Create a fresh directory, open a terminal there, then run:
npm init -y
npm install --ignore-scripts @arxo/canon-fide-chess@0.1.0 @arxo/law@0.4.3
Save this as example.mjs, then run node example.mjs:
import { open } from '@arxo/law';
import { loadModel } from '@arxo/canon-fide-chess/chess'; import { game, white, getCaseInput } from '@arxo/canon-fide-chess/examples/arbiter';
const model = await loadModel(); const chess = await open(model.spec, { offline: true, local: { packages: { [model.spec]: model.package } }, });
const input = getCaseInput('SecondIllegal'); const loss = await chess.truth('game_lost_by', [game, white], input); const draw = await chess.truth('game_drawn', [game], input); console.log(loss.evaluationStatus, loss.truthStatus); // COMPUTED, TRUE_ONLY console.log(draw.evaluationStatus, draw.truthStatus); // COMPUTED, NEITHER
The two output lines are loss, then draw:
COMPUTED TRUE_ONLY
COMPUTED NEITHER
COMPUTED means the query was evaluated. TRUE_ONLY means it has positive support and no negative support. NEITHER means neither polarity is supported; it does not establish that the proposition is false.
Now replace only getCaseInput('SecondIllegal') with getCaseInput('SecondIllegalNoMate') and run node example.mjs again:
REQUIRES_JUDGMENT NEITHER
COMPUTED TRUE_ONLY
The second line now establishes a draw. This case supplies the fact that the opponent cannot checkmate by any legal series. The separate loss query still requests an arbiter's assessment because other reachable loss grounds remain unresolved. Read both status fields; REQUIRES_JUDGMENT identifies an assessment the model does not decide on its own.
To try another retained episode, choose a name from the case table. To propose your own episode, open an issue with the case facts, legal date, query, package/runtime versions, output and the FIDE clause or model rule you think should give a different answer. Use a fictional or anonymized case.
The SDK executes the rules through @arxo/law-engine@0.5.3. Installation alone does not register this distribution in the SDK's automatic canon resolver: keep the explicit local.packages handoff above. The loader implements no chess decisions or formulas.
The separate native MCP wrapper runs the same pinned model over stdio:
npx -y @arxo/mcp-fide-chess@0.1.0
Node.js 20+, Linux x64 or macOS arm64. Client configuration, HTTP endpoint, inputs and limitations · OCI recipe · npm recipe · Accepted delivery. This MCP delivery is separate from the Node.js route above.
getCaseInput(name) | Episode | Checked question and result |
|---|---|---|
TouchIntentUnknown | A movable own piece; intentional touch not adjudicated | must_move_first_touched_piece: REQUIRES_JUDGMENT / NEITHER |
FirstIllegal | One completed illegal move | Loss: REQUIRES_JUDGMENT / NEITHER; draw: COMPUTED / NEITHER |
SecondIllegal | Two illegal moves under the model's specified closure | Loss: COMPUTED / TRUE_ONLY |
SecondIllegalNoMate | Two illegal moves; inability to checkmate established | Draw: COMPUTED / TRUE_ONLY |
FlagFall | Flag observed, time control not completed, mate possible | Loss: COMPUTED / TRUE_ONLY |
FlagFallNoMate | The same flag; inability to checkmate established | Draw: COMPUTED / TRUE_ONLY |
RapidFirstIllegal | Rapid 15+10; first illegal move | Opponent receives 60 seconds; 120-second query is NEITHER |
BlitzFirstIllegalCompetitive | Blitz 3+2 under competitive rules B.2 | Opponent receives 120 seconds; 60-second query is NEITHER |
ShortOfTimeRecording | Standard chess, no increment, 240 seconds left | must_record_moves: COMPUTED / FALSE_ONLY |
DeviceWarning | Electronic device evident; arbiter gave a warning | Loss and differing-penalty queries: COMPUTED / TRUE_ONLY |
All 18 original case/query expectations are retained and checked. The fixture export provides caseNames, game, white, black, king, CaseName and getCaseInput(name). Each call returns an independent copy; an unknown name throws RangeError.
getCaseInput preserves the CLI's canonical assertions, constants, context and options. The loader supplies neither absent facts nor adjudications. The model's explicitly declared closures are part of its rules; they are not a general assumption that a missing fact is false.
For touch-move, use the two declared arguments — player and piece:
import { open } from '@arxo/law';
import { loadModel } from '@arxo/canon-fide-chess/chess'; import { white, king, getCaseInput } from '@arxo/canon-fide-chess/examples/arbiter';
const model = await loadModel(); const chess = await open(model.spec, { offline: true, local: { packages: { [model.spec]: model.package } }, }); const answer = await chess.truth( 'must_move_first_touched_piece', [white, king], getCaseInput('TouchIntentUnknown'), ); const document = JSON.parse(new TextDecoder().decode(answer.document)); console.log(answer.evaluationStatus, answer.truthStatus); // REQUIRES_JUDGMENT, NEITHER console.log(document.results[0].judgmentRequests);
A positive, explicitly adjudicated intentional-touch assertion establishes this model's obligation; that path is checked separately. The original missing-judgment fixture stays unchanged.
Missing empirical facts, negative facts and contradictory support retain NEITHER, FALSE_ONLY and BOTH. For the checked empirical conflict, SDK 0.4.3 returns COMPUTED / BOTH: the query was computed and both polarities are supported. Read both fields; do not collapse them to a Boolean. Exact Decimal inputs, such as recorded points, are strings ('0.75').
Complete canonical input for SecondIllegal
{
"legalTime": "2023-06-01", "assertions": [ { "contentHash": "sha256:696ba690ec316ad1654c94c94886b3d6e9764573460a0ed89f76280496c904fa", "evidence": [], "id": "urn:law:examples:chess:arbiter#player", "kind": "assertion", "literal": { "args": [ { "id": "urn:example:chess:game", "kind": "entity_ref" }, { "id": "urn:example:chess:white", "kind": "entity_ref" } ], "kind": "literal", "polarity": "positive", "predicate": "urn:fide:laws:clir:chess#player_of" }, "origin": "case_input", "package": "urn:law:examples:chess:arbiter" }, { "contentHash": "sha256:9f7706ed8482cd04f869afdd849b90eea3c2e42ca246bf932c8a20f77a1fcc15", "evidence": [], "id": "urn:law:examples:chess:arbiter#complete-mate-facts", "kind": "assertion", "literal": { "args": [ { "id": "urn:example:chess:white", "kind": "entity_ref" } ], "kind": "literal", "polarity": "positive", "predicate": "urn:fide:laws:clir:chess#checked_player" }, "origin": "case_input", "package": "urn:law:examples:chess:arbiter" }, { "contentHash": "sha256:cd688c83624c70688f10ead443e5c46c32ad7d3310696caf6dad9b80be7c1cb0", "evidence": [], "id": "urn:law:examples:chess:arbiter#illegal-count", "kind": "assertion", "literal": { "args": [ { "id": "urn:example:chess:white", "kind": "entity_ref" }, { "kind": "value", "type": { "name": "urn:law:std#Integer" }, "value": 2 } ], "kind": "literal", "polarity": "positive", "predicate": "urn:fide:laws:clir:chess#completed_illegal_move_count" }, "origin": "case_input", "package": "urn:law:examples:chess:arbiter" } ], "context": { "decisionTime": "2026-09-08T12:00:00Z", "knowledgeTime": "2026-09-08T12:00:00Z", "legalTime": "2023-06-01", "timezone": "UTC" }, "options": {} }
This input was captured by released CLI 0.2.3 from the retained .lawcase; the fixture generator does not reproduce chess semantics. Fixture bytes · Capture provenance.
Preserve answer.document as the canonical bytes returned by Arxo. With the same runtime version, pinned model and dependencies, repeated executions of identical complete inputs (query, facts, judgments, temporal context and options) reproduce those bytes and their hashes. answer.proof.nodes identifies the applied rules and their premises.
The current SDK's answer.sources and proof-node source-anchor arrays are empty for these queries. Source links below are an explicit static join of executed producer IDs with anchors in the hash-checked model; they are not additional citations emitted by the evaluator. The pinned publication is the FIDE Handbook, Laws 2023.
This complete example saves the loss answer and prints its model anchor links:
import { writeFile } from 'node:fs/promises';
import { open } from '@arxo/law'; import { loadModel } from '@arxo/canon-fide-chess/chess'; import { game, white, getCaseInput } from '@arxo/canon-fide-chess/examples/arbiter';
const model = await loadModel(); const chess = await open(model.spec, { offline: true, local: { packages: { [model.spec]: model.package } }, }); const answer = await chess.truth('game_lost_by', [game, white], getCaseInput('SecondIllegal')); await writeFile('answer.json', answer.document); const nodes = new Map(model.package.ir.nodes.map(node => [node.id, node])); const sourceLinks = answer.proof.nodes.filter(node => node.rule).map(node => ({ rule: node.rule, anchors: (nodes.get(node.rule)?.anchors ?? []).map(id => ({ id, locator: nodes.get(id)?.locator, })), })); console.log(answer.hashes, sourceLinks); // includes SecondIllegalMoveLoses → article/7
What the model knows: native touch-move producer tree
![Native touch-move producer tre
冒頭だけを表示しています。続きはリポジトリで読めます