mcpField
D
Diario Oficial de la Federación (unofficial)

Diario Oficial de la Federación (unofficial)

ローカル
github.com/amatiasdev法務・行政02 週間前に更新

Diario Oficial de la Federación (unofficial) について

dof-mcp は、公開 SIDOF JSON API を利用するメキシコの Diario Oficial de la Federación 向け読み取り専用 MCP サーバー兼 TypeScript クライアントです。開発者やエージェントに、正規化された公報と金融指標を出典情報付きで提供します。

主な機能

  1. 01日次公報サマリー
  2. 02ページ指定付き公報本文の取得
  3. 03FIX・UDI・TIIE 指標
  4. 04API 応答の検証と正規化
  5. 05出典 URL・取得日時・ハッシュ
  6. 06stdio と Streamable HTTP の通信方式

活用シーン

  1. 01特定日の官報掲載内容を確認
  2. 02特定の告示本文を取得
  3. 03日付を指定して金融指標を確認
  4. 04公式出典と照合してデータを検証

MCP 対応

日次サマリー、公報詳細、金融指標の読み取り専用ツールを3つ提供します。stdio と Streamable HTTP に対応し、結果に公式 URL と SIDOF の出典情報を含めます。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"amatiasdev-dof": {
"command": "npx",
"args": [
"-y",
"dof-mcp"
]
}
}
}
起動コマンドnpx -y dof-mcp

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

パッケージ
npmdof-mcp0.2.2

ツール

3

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
datestringいいえ集計する日付(YYYY-MM-DD)。デフォルトは今日です。
limitintegerいいえ一覧表示する注記の最大数。件数は常にその日の全体を対象とします
editionenumいいえこの版のみを含めますmatutina | vespertina | extraordinaria
organizationstringいいえ機関名にこのテキストを含む注記のみを含めます(大文字と小文字を区別しません)

詳細

dof-mcp

CI Contract OpenSSF Scorecard OpenSSF Best Practices npm

メキシコのDiario Oficial de la Federación(DOF)向けのMCP サーバーおよび型付きTypeScriptクライアントです。公開SIDOF JSON APIを基盤としており、AI エージェント(Claude Code、Claude Desktop、Cursorなど)が官報の公示や金融指標を読み取れます。

理由

DOFは、連邦法、政令、税法および関税規則、公式指標が公示される場所です。そのJSON APIは公開されていますが、公式ドキュメントはごくわずかしかなく(https://sidof.segob.gob.mx/datos_abiertos)、npmには型付きクライアントもMCP サーバーもありません。このプロジェクトは、検証、データの来歴、安定した正規化形式を加えてAPIをラップします。

MCP サーバー

読み取り専用のツールが3つあります。

ツール返される内容
dof_daily_summary1日分の公示と、版および組織ごとの件数。版または組織で絞り込めます
dof_get_note1件の公示をプレーンテキストで返します。長い公示はoffset / maxCharsでページ分割できます
dof_get_indicatorsある日のFIX為替レート、UDI、TIIEレート、または1つの指標の日次系列

すべての結果に次の情報が含まれます。

  • officialUrl:dof.gob.mx上の公示へのURL。公式テキストを確認できます
  • provenance:データの取得元であるSIDOF URL、取得時刻(UTC)、生レスポンスのSHA-256
インストール

Node.js 22以降が必要です。サーバーはstdio経由で動作します。MCPクライアントに追加してください。

{
  "mcpServers": {
    "dof": { "command": "npx", "args": ["-y", "dof-mcp"] }
  }
}
  • Claude Desktop: Settings → Developer → Edit Configを選択すると、claude_desktop_config.jsonが開きます(Windowsでは%APPDATA%\Claude\、macOSでは~/Library/Application Support/Claude/)。
  • Cursor: プロジェクト内の.cursor/mcp.json、またはすべてのプロジェクトに適用する場合は~/.cursor/mcp.jsonを使用します。
  • Claude Code: claude mcp add dof -- npx -y dof-mcp
  • Windows: クライアントからnpxを直接起動できない場合は、"command": "cmd", "args": ["/c", "npx", "-y", "dof-mcp"]を使用してください。
ホスト型エンドポイント(インストール不要)

公開インスタンスは**https://mcp.aldomatias.com/mcp**で稼働しています(Streamable HTTP、認証なし、レート制限あり)。Claudeのカスタムコネクタなど、リモートMCPサーバーに対応するクライアントから利用するか、次のように使用できます。

claude mcp add --transport http dof https://mcp.aldomatias.com/mcp

npmパッケージと同じツール、同じリリースを提供します。無料のベストエフォート型サービスであり、SLAはありません。大量に利用する場合は、パッケージを自身で実行してください。

プライバシー。 このエンドポイントは、IPアドレス、ツールの引数、結果を保存しません。各リクエストについて、HTTPメソッドとパス、ステータス、処理時間、JSON-RPCメソッド、ツール名、およびMCPクライアントが自身について通知する名前とバージョン(例:claude-ai)を記録します。これらのログはAWS CloudWatchに7日間保存され、利用状況の集計と障害の検出にのみ使用されます。通信はCloudflareを経由します。Cloudflareは、独自のプライバシーポリシーに基づき、レート制限とDDoS対策のためにIPアドレスを処理します。お問い合わせ:[email protected]。

Streamable HTTP
npx dof-mcp --http --port 3000   # endpoint http://127.0.0.1:3000/mcp, probe /healthz

HTTPトランスポートはステートレスで、127.0.0.1にバインドし、HostおよびOriginヘッダーを検証します(--allowed-host <name>でホスト名を追加できます)。認証もレート制限もありません。ローカルホストの外部に公開する場合は、これらを追加するリバースプロキシの背後に配置してください。SECURITY.mdを参照してください。

クライアント

このパッケージは ESM です。import はどこでも使用できます。require("dof-mcp") は Node.js 22.12 以降で動作します(require(esm))。

import { DofClient } from "dof-mcp";

const dof = new DofClient();

const notes = await dof.getNotes("2026-10-16");
// [{ id: 5801377, title: "Acuerdo por el que se crea ...", date: "2026-10-16",
//    edition: "matutina", branch: "PODER EJECUTIVO",
//    organization: "SECRETARIA DE SEGURIDAD Y PROTECCION CIUDADANA", page: 4,
//    hasPdf: true, hasHtml: true,
//    officialUrl: "https://dof.gob.mx/nota_detalle.php?codigo=5801377&fecha=16/10/2026" }, ...]

const note = await dof.getNote(5801457); // full text as plain text
const fix = await dof.getIndicatorSeries("fix", "2026-10-01", "2026-10-16");

const { data, source } = await dof.getNotesWithSource("2026-10-16");
// source: { sourceUrl, fetchedAt, sha256, bytes }

オプション(すべて省略可能):

オプションデフォルト
timeoutMs15000リクエストごとのタイムアウト
retries2ネットワークエラー、429、5xx の場合に、指数バックオフとフルジッターを使用して再試行します。Retry-After を最大 30 秒まで尊重します
maxResponseBytes10 MiBこれを超えるレスポンスは、解析せずに拒否されます
cacheTtlMs10 minメモリ内キャッシュ。同一の同時リクエストは 1 回のフェッチを共有します。0 にすると無効になります
cacheMaxEntries256LRU の上限
maxCacheableBytes512 KiBこれを超えるレスポンスは返されますが、キャッシュされません
maxConcurrency4SIDOF への同時処理リクエスト数
maxQueue64スロットの空きを待つリクエスト数。上限を超えると DofQueueFullError ですぐに失敗します

設計メモ

  • 境界での検証。 すべてのレスポンスは Zod で解析されます。予期しない形式の場合は、呼び出し元に undefined が渡るのではなく、明示的にエラーになります。
  • 正規化。 SIDOF はセクション見出しと公表文書を 1 つのリストに混在させ、一部の欠損値を文字列 "null" として記述しています。クライアントは、タイトルのある公表文書のみを ISO 形式の日付、ブール値、プレーンテキストのコンテンツで返します。
  • データソースへの配慮。 識別情報を含む User-Agent、同時実行数の制限、キャッシュ、リダイレクトなしを使用します。SIDOF は単独の Accept: application/json に対して 406 を返すため、クライアントはフォールバックを含むヘッダーを送信します。
  • 記録済みのフィクスチャ。 テストは実際のレスポンスを記録したものに対して実行されます。毎晩のコントラクトテストで、ライブ API が引き続き一致することを確認します。

ロードマップ

  • 日次公表文書、注記の詳細、指標(FIX、UDIS、TIIE)に対応する型付きクライアント
  • dof_daily_summary、dof_get_note、dof_get_indicators を備えた MCP サーバー(stdio + Streamable HTTP)
  • 堅牢化:サイズ制限、ジッター付きバックオフ、キャッシュ、出典情報、毎晩のコントラクトテスト
  • リリースパイプライン:出典情報付きの npm Trusted Publishing、MCP Registry
  • オプション:ホスト型エンドポイント、ローカル検索インデックス(dof_search_notes。SIDOF 自体の検索機能は動作しません)

開発

CONTRIBUTING.md と RELEASING.md を参照してください。

npm install
npm run lint && npm run typecheck && npm test && npm run build
npm run test:live   # contract tests against the live API

免責事項

非公式プロジェクトであり、Secretaría de Gobernación とは関係ありません。データは公開 SIDOF API から取得しており、予告なく変更される場合があります。このパッケージが返すテキストはプレーンテキストに変換したもので、公式版ではありません。公式 DOF は dof.gob.mx に掲載された署名付き PDF です。必ずそちらで確認してください。

MIT ライセンスの適用対象はこのコードであり、DOF のコンテンツではありません。SIDOF の法的通知では、出典を明記することを条件に、非営利目的でのコンテンツの複製が認められています。商用利用には Secretaría de Gobernación の書面による同意が必要です。このパッケージを使用して取得したコンテンツを再公開する場合は、出典として Diario Oficial de la Federación を明記してください。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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