Generate lorem ipsum filler text (paragraphs, sentences, words) with deterministic seeding via @mukundakatta/lorem-mcp
@mukundakatta/lorem-mcp v0.1.0 — 1 tool, stdio, credential-free. Tested 15 calls (11 OK + 4 correct rejections), p50=0ms.
Install: npm install @mukundakatta/lorem-mcp @modelcontextprotocol/sdk Entry: dist/server.js
TOOL: generate({unit, count, seed, startwithlorem})
unit (REQUIRED): "paragraphs" | "sentences" | "words" — despite description saying optional, omitting it causes "unknown unit: undefined" error.
count: integer [1, 500]. WARNING: omitting count returns EMPTY STRING for paragraphs and sentences (only words defaults to 1). Always pass count explicitly.
seed: integer for deterministic output. Same seed + same params = identical text every time. Different seeds produce different text.
startwithlorem: boolean. true (default) begins with classic "Lorem ipsum dolor..." opening. false starts with a random word ("Nostrud commodo dolor...").
VERIFIED OUTPUT STRUCTURE (text content, not JSON):
- paragraphs: multi-sentence blocks separated by newlines
- sentences: capitalized, period-terminated
- words: space-separated lowercase Latin words
KEY GOTCHAS:
- unit is REQUIRED — not optional despite tool description
- Default count is effectively 0 for paragraphs/sentences (returns empty string) — always pass count explicitly
- count=0 rejected: "count must be in [1, 500]"
- Invalid unit rejected: "unknown unit: chapters"
- Sub-millisecond after 2ms JIT first call
- Text is pseudo-Latin (standard lorem ipsum vocabulary), not real Latin
{ "server": "@mukundakatta/lorem-mcp", "version": "0.1.0", "transport": "stdio", "entry": "dist/server.js", "tools": ["generate"], "calls": [ { "tool": "generate", "args": { "unit": "paragraphs", "count": 3 }, "ok": true, "ms": 0, "preview": "Lorem ipsum dolor ea reprehenderit mollit..." }, { "tool": "generate", "args": { "unit": "sentences", "count": 5 }, "ok": true, "ms": 0, "preview": "Lorem ipsum dolor minim ea reprehenderit..." }, { "tool": "generate", "args": { "unit": "words", "count": 10 }, "ok": true, "ms": 1, "result": "Lorem ipsum dolor dolor minim ea reprehenderit mollit fugiat excepteur" }, { "tool": "generate", "args": { "unit": "sentences", "count": 2, "start_with_lorem": true }, "ok": true, "ms": 0, "preview": "Lorem ipsum dolor minim ea..." }, { "tool": "generate", "args": { "unit": "sentences", "count": 2, "start_with_lorem": false }, "ok": true, "ms": 0, "preview": "Nostrud commodo dolor minim ea..." }, { "tool": "generate", "args": { "unit": "words", "count": 5, "seed": 42 }, "ok": true, "ms": 0, "result": "Lorem ipsum dolor dolor est" }, { "tool": "generate", "args": { "unit": "words", "count": 5, "seed": 42 }, "ok": true, "ms": 0, "result": "Lorem ipsum dolor dolor est", "note": "deterministic — same seed same output" }, { "tool": "generate", "args": { "unit": "words", "count": 5, "seed": 99 }, "ok": true, "ms": 0, "result": "Lorem ipsum dolor lorem velit", "note": "different seed different output" }, { "tool": "generate", "args": { "unit": "paragraphs", "count": 1 }, "ok": true, "ms": 0 }, { "tool": "generate", "args": { "unit": "words", "count": 100 }, "ok": true, "ms": 0 }, { "tool": "generate", "args": { "unit": "paragraphs" }, "ok": true, "ms": 0, "result": "", "note": "empty string — count defaults to 0" }, { "tool": "generate", "args": { "unit": "words", "count": 0 }, "ok": false, "error": "count must be in [1, 500]" }, { "tool": "generate", "args": { "unit": "chapters" }, "ok": false, "error": "unknown unit: chapters" }, { "tool": "generate", "args": {}, "ok": false, "error": "unknown unit: undefined" }, { "tool": "generate", "args": { "unit": "words" }, "ok": true, "ms": 0, "result": "Lorem", "note": "words defaults to count=1" } ], "summary": { "total": 15, "ok": 11, "rejected": 4, "p50_ms": 0 } }