# dof-mcp [Health: Active]

**Category:** ⚖️ Legal  
**Repository:** https://github.com/amatiasdev/dof-mcp  
**GitHub Stars:** 0  
**npm Downloads (last month):** 1422  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/dof-mcp

## Description
Typed TypeScript client and MCP server for Mexico's Diario Oficial de la Federación (SIDOF API).

## Tools
Capabilities this server exposes over MCP:

- **dof_daily_summary** — Lists the publications in the Diario Oficial de la Federación for one day, with counts by edition and issuing organization. Use the returned ids with dof_get_note. Days without an issue (weekends, holidays) return total 0.
- **dof_get_note** — Returns one DOF publication with its content as plain text. Long notes are paged: when nextOffset is present, call again with offset=nextOffset for the rest.
- **dof_get_indicators** — Returns indicators published in the DOF: FIX exchange rate (pesos per dollar), UDI value and TIIE rates. Without arguments, returns what SIDOF lists for today (on weekends and holidays that can be only the UDI). With date, the values published that day. With indicator, from and to, the daily series of one indicator (at most 366 days); prefer a series to find the most recent value of one indicator.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "dof-mcp": {
    "command": "npx",
    "args": ["-y","dof-mcp"]
  }
}
```

## Documentation

## What dof-mcp does

dof-mcp connects AI clients and TypeScript applications to Mexico’s Diario Oficial de la Federación through the public SIDOF JSON API. Its focus is retrieval: daily publication listings, individual publication text, and selected financial indicators. The MCP interface is read-only, so it does not publish, edit, or submit content to the DOF.

The server returns normalized data rather than exposing SIDOF responses directly. Publication records use ISO dates, boolean fields, and titled entries, while note content is converted to plain text. Responses include an official DOF URL for human verification and provenance information describing the SIDOF source, fetch time, and SHA-256 digest of the raw response.

## How it works

Three MCP tools cover the available operations:

- `dof_daily_summary` retrieves publications for a date and can filter them by edition or organization. It also provides counts grouped by edition and organization.
- `dof_get_note` retrieves one publication as plain text. `offset` and `maxChars` allow clients to read long notes in sections.
- `dof_get_indicators` returns FIX, UDI, and TIIE values for a date, or a daily series for one indicator.

The package validates SIDOF responses with Zod and rejects unexpected shapes at the API boundary. It limits concurrent requests, applies in-memory caching, and retries network failures, HTTP 429 responses, and 5xx responses with backoff. Response-size and queue limits help prevent unusually large or overloaded requests from being processed indefinitely.

## Setup and configuration

Node.js 22 or later is required. For local MCP use, configure a client to launch the package with `npx -y dof-mcp`. The server communicates over stdio. Claude Desktop, Cursor, and Claude Code are documented client options; Claude Code can add it with `claude mcp add dof -- npx -y dof-mcp`. On Windows, clients that cannot invoke `npx` directly can start it through `cmd /c`.

A hosted Streamable HTTP endpoint is also available at `https://mcp.aldomatias.com/mcp`. It requires no installation or authentication, but is rate limited and provided on a best-effort basis without an SLA. For heavier usage, run the package locally.

The package can also start a local HTTP server with `npx dof-mcp --http --port 3000`. This endpoint listens on `127.0.0.1`, uses `/mcp` for MCP traffic, and exposes `/healthz` for probing. The local HTTP mode has no authentication or rate limiting; deployments beyond localhost should place it behind a reverse proxy that supplies those controls. Host and Origin validation can be adjusted with `--allowed-host`.

TypeScript applications can import the ESM package and instantiate `DofClient`. Client options include request timeout, retry count, response-size limits, cache lifetime and size, maximum SIDOF concurrency, and the waiting queue limit.

## Limitations and notes

Returned note text is a plain-text conversion, not the signed official edition. Legal, regulatory, or publication-sensitive work should verify the result against the linked PDF or official DOF page. The project is unofficial and is not affiliated with the Secretaría de Gobernación; SIDOF data may change without notice.

The hosted service records request metadata such as method, path, status, duration, JSON-RPC method, tool name, and the client name and version it reports. Its logs are retained for seven days. It does not store IP addresses, tool arguments, or results, while Cloudflare processes IP addresses for rate limiting and DDoS protection.

The MIT license applies to the code, not to DOF content. SIDOF’s legal notice permits non-commercial reproduction with attribution; commercial use requires written consent from the Secretaría de Gobernación.

_Full upstream README: https://allmcps.com/mcp/dof-mcp/readme_

