rumors-lines-mcp
# rumors-lines — MCP server
Read-only [Model Context Protocol](https://modelcontextprotocol.io/) server
over the published, native-editor-curated pick-up line corpus of
[rumors.app](https://rumors.app): Tagalog, Brazilian Portuguese, Indonesian,
Hindi and more. Every line carries a literal English gloss, so an agent can
judge tone without speaking the language.
## Easiest way: the hosted endpoint
No install needed — the canonical server is hosted:
```
https://rumors.app/api/mcp Streamable HTTP, no auth
```
Server card: <https://rumors.app/.well-known/mcp/server-card.json>
· Official MCP registry entry: `app.rumors/lines`.
## Running this mirror
This repository is a thin, dependency-free mirror (Node 20+). The corpus
itself is **not** vendored here — it is fetched from the production API at
first use and cached in memory.
```bash
node server.mjs # stdio transport (MCP default)
node server.mjs --http # Streamable HTTP on :8080 (PORT env to change)
```
Or with Docker:
```bash
docker build -t rumors-lines-mcp .
docker run -i rumors-lines-mcp
```
## Tools
| Tool | What it does |
|---|---|
| `list_collections` | Published collections: URL, title, language, line count |
| `get_lines` | Lines from one collection, optional register filter |
| `random_line` | One random line, optionally by language / register |
| `search_lines` | Substring search across text, transliteration and gloss |
## License
Code: MIT. The corpus served at runtime is © Rumors Dating Inc. and is not
part of this repository.
TDQS
Scored across 4 tools
Each tool has a distinct action: list_collections enumerates collections, get_lines retrieves lines for a given collection URL, random_line returns a single random line with optional filters, and search_lines performs substring search. The overlap between get_lines and search_lines is minimal because get_lines requires a collection URL while search_lines searches across all lines; an agent can easily choose.
All names use snake_case and are readable, but random_line breaks the verb_noun pattern used by list_collections, get_lines, and search_lines by using an adjective instead of a verb. This is a minor deviation from an otherwise consistent convention.
Four tools are well-scoped for a read-only pick-up line browsing service: discover collections, fetch lines, get a random line, and search. No tool feels redundant or missing for the core purpose.
The read-only surface covers listing, fetching, random sampling, and text search, which are the primary workflows. Minor gaps include no pagination for large collections or search results and no explicit way to discover available languages/registers beyond collection language metadata, but agents can work around these.