mcpField
L
loremfile

loremfile

Local
loremfile.devDeveloper Tools0Updated 3d ago

About loremfile

loremfile provides CC0 sample files and test fixtures for developers, tests, and CI pipelines that need file inputs. Its catalog spans many formats and malformed cases, with SHA-256 metadata and download clients.

Key features

  1. 01Sample files in many formats
  2. 02Deliberately malformed edge cases
  3. 03SHA-256 values in the manifest
  4. 04Python and npm command-line clients
  5. 05Read-only MCP discovery and verification

Use cases

  1. 01Prepare inputs for file parser tests
  2. 02Download and verify fixtures in CI
  3. 03Check local files against sample hashes

MCP support

The Python and npm packages both provide an stdio MCP server with read-only tools to list fixtures, describe them, and verify local files.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"kumarprabhashanand-loremfile": {
"command": "npx",
"args": [
"-y",
"loremfile"
]
}
}
}
Run commandnpx -y loremfile

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmloremfile0.2.0
pypiloremfile0.2.0

Tools

3

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
taganyNoTags to include, any of, e.g. ["encrypted"].
limitintegerNoFixtures per page, 50 unless set, at most 250.
formatanyNoFormats to include, any of, e.g. ["pdf", "png"].
offsetintegerNoMatches to skip.
max_bytesintegerNoOnly files of at most this size.

Details

From the project README

loremfile

Free, CC0, hotlink-friendly sample files for every file type. Lorem Picsum, but for PDFs, images, audio, video, office documents, data files, archives, fonts, text encodings, raw byte blobs and deliberately malformed edge cases.

https://loremfile.dev/pdf/a4-3pages.pdf
https://loremfile.dev/bin/10mb.bin
https://loremfile.dev/mp4/720p-5s.mp4
https://loremfile.dev/edge/jpg-truncated-50pct.jpg

No ads, no accounts, no rate-limit surprises, no attribution required. Open CORS, byte-range support, one-year immutable caching, and a machine-readable manifest.json with SHA-256 hashes for every file.

228 files across 78 formats plus the edge/ set are live, at catalog version 1.2.0. The specification lives in docs/.

Canonical host

The canonical host is https://loremfile.dev.

This README is the out-of-band pointer: if loremfile.dev is ever unavailable or moves, the current canonical host is stated here first. Do not rely on any other mirror.

What you can rely on

  • The bytes at a published path do not change. Hash, byte count and MIME type stay as they are; a fix is a new path, and the old entry records supersededBy. A file may be withdrawn for legal reasons, and the manifest then keeps a tombstone for it. There is no promise of availability; see the terms.
  • Hotlinking is welcome. That is what this is for. Please keep automated traffic under 30 requests per second per client (the edge rate-limits at 300 requests / 10 s per IP).
  • No tracking cookies, no analytics scripts, no accounts.

For agents and CI

  • /llms.txt: what this service is, in one file.
  • /manifest.json: every fixture with path, bytes, sha256, MIME type, tags and format-specific properties.
  • /sha256sums.txt: verify downloads with sha256sum -c.
  • /{format}/index.json: one format at a time.
GitHub Action

Pull fixtures into a workflow and check each one against its sha256 in the manifest:

- uses: kumarprabhashanand/loremfile/action@action-v1
  with:
    paths: pdf/minimal.pdf mp4/720p-5s.mp4
    formats: svg

It writes to loremfile-fixtures/ and outputs dir and count. A file whose bytes do not match the manifest fails the step and names the file. catalog-version: "1.2.0" refuses to run if loremfile.dev has moved on.

The action is shell only and talks to nothing but loremfile.dev. It downloads one file at a time with a pause between them and backs off on a 429, because the published rate limit applies to it like any other client. Linux and macOS runners only: it needs sha256sum or shasum, and Windows is not supported rather than half-supported.

action-v1 is a major tag that moves as the action changes; it is deliberately not a v* release tag, because those name a catalog version and are frozen once pushed. Pinning a commit SHA works too and is the strictest option.

Command-line clients

loremfile on PyPI (Python 3.11 or newer) and loremfile on npm take named files or a whole format, and write a file only after checking it against its sha256:

npx loremfile get --format pdf
loremfile get pdf/minimal.pdf mp4/720p-5s.mp4    # after pip install loremfile

Neither has a dependency. The Python package declares dependencies = [] and uses only the standard library; the npm package's package.json lists no dependencies and uses only Node's built-ins. Installing either installs that one package.

MCP server

Both packages also run a Model Context Protocol server over stdio, with three read-only tools: list_fixtures, describe_fixture and verify_file. With Node:

{ "mcpServers": { "loremfile": { "command": "npx", "args": ["-y", "loremfile", "mcp"] } } }

With Python, without an install:

{ "mcpServers": { "loremfile": { "command": "uvx", "args": ["loremfile", "mcp"] } } }

It is listed in the MCP Registry as io.github.kumarprabhashanand/loremfile, and loremfile.dev/docs/mcp describes the tools.

Licences

WhatLicence
Every file served under a format path (/pdf/…, /bin/…, /edge/…)CC0 1.0 Universal: public domain, no attribution needed
Generators, site and tooling in this repositoryMIT
Website text and graphicsCC BY 4.0, attribute "loremfile.dev"

Third-party tools used to generate the files are listed in THIRD_PARTY.md. No third-party media is redistributed: everything is generated.

Repository

PathWhat
docs/The full specification, 00–19. Start with docs/README.md.
catalog/Declarative fixture definitions, one YAML per format.
src/loremfile/Generators, validators, site builder, uploader, infrastructure code.
infra/Cloudflare desired state, applied by workflow.
manifest.jsonGenerated lock file, never hand-edited.

Contributing

Fixture requests and bug reports go in Issues; see CONTRIBUTING.md for the naming grammar and what makes a good fixture. Security reports: SECURITY.md.

By opening a pull request you agree that generator code is MIT and any resulting fixtures are CC0.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.