Quotewise.io Quote Server
Registry code: 484a7e38eaee80f8
Semantic quote search with source-attributed quotes.
Find quotes by meaning (not keywords) using vector embeddings. Verify attributions
- endpoint
- https://mcp.quotewise.io/
- protocol
- http-sse ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is Quotewise.io Quote Server live?
- Yes — it answered the hub's last check (checked 1h ago). It answered 100% of checks over the last 30 days.
- Is Quotewise.io Quote Server free to use?
- Not anonymously — it asks for a key or a login before it will serve. Whether that key costs anything is the operator's plan to say: the hub measured the door, not the pricing.
- What tools does Quotewise.io Quote Server have?
- 21 tools: originators, quotes_by, quote_random, sources, quotes_from, quote, who_said, tags_like, ….
- Is Quotewise.io Quote Server safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 100%· all time 100%
last good check
of 21 tools
- unknown → live
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
originators auth-required 1h ago
Lookup, search, or browse originators. Handles people, proverbs, anonymous sources, and institutions. Use name= for exact match, search= for fuzzy, neither for browsing. When to use: User asks about a person/author, wants to find who said something, or needs to browse by category (poets, philosophers, etc). Behaviors: - `name` provided → resolve and return single originator details - `search` provided → fuzzy search, return ranked list (optionally filtered by category tags) - Neither → browse by filters (popular, language, min_quotes, category tags, etc.) Category tags filter by originator type (e.g., ["Poets", "Politicians", "Catholic Bishops"]) - works with all modes. Gender filter accepts natural language (e.g., "female", "women", "queer", "trans") - resolved to Wikidata Q-IDs internally. Response format: - Concise (default): slug, full_name, sort_name, quote_count, descriptions_i18n, web_url - Detailed: + biography (500 char excerpt), confidence_tier, similarity_score Response includes ai_hints with suggested next actions and quality signals for agent workflows. Date filters (`born_on`, `died_on`, `born_year_gte`, `born_year_lte`, `died_year_gte`, `died_year_lte`) combine with every other filter via AND. Negative year bounds represent BCE; year 0 is rejected. Examples: - `originators(name="Einstein")` - exact lookup - `originators(search="Shake")` - fuzzy search for "Shakespeare" - `originators(tags=["Poets"], gender="female")` - browse female poets - `originators(sort="popular", limit=10)` - top 10 by quote count - `originators(born_on="04-20")` - originators born April 20 (any year) - `originators(born_year_gte=-500, born_year_lte=-300)` - originators born between 500 BCE and 300 BCE inclusive
{ "type": "object", "properties": { "name": { "anyOf": [ { "type": "string", "maxLength": 200, "minLength": 2 }, { "type": "null" } ], "default": null, "description": "Exact lookup for originator name (resolved internally) → single result" }, "sort": { "enum": [ "popular", "name", "recent" ], "type": "string", "default": "popular", "description": "Sort order for results when browsing (not using name/search)" }, "tags": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "default": null, "description": "Filter by originator category tags (e.g., ['Poets', 'Politicians', 'Catholic Bishops'])" }, "limit": { "type": "integer", "default": 25, "maximum": 50, "minimum": 1, "description": "Max results" }, "gender": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "female", "trans woman", "queer" ], "description": "Filter by originator gender. Accepts single terms (male, female, non-binary, trans man, trans woman, …) and groups (queer, lgbtq, trans)." }, "living": { "enum": [ "living", "deceased" ], "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "living", "deceased" ], "description": "Filter quotes by originator living status (living/alive vs deceased/historical)." }, "search": { "anyOf": [ { "type": "string", "maxLength": 200, "minLength": 2 }, { "type": "null" } ], "default": null, "description": "Fuzzy search query for originators (minimum 2 characters) → multiple results" }, "born_on": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Filter by birth month-day. Strict 'MM-DD' (zero-padded, hyphen-separated). Matches ^\\d{2}-\\d{2}$. Uses exact birth_date only; EDTF is not consulted for month-day filters. Example: '04-20' for April 20." }, "died_on": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Filter by death month-day. Strict 'MM-DD' (zero-padded, hyphen-separated). Matches ^\\d{2}-\\d{2}$. Uses exact death_date only. Example: '12-25'." }, "language": { "anyOf": [ { "type": "string", "maxLength": 5, "minLength": 2 }, { "type": "null" } ], "default": null, "description": "Filter by quote language (ISO 639-1 code, e.g., 'en', 'fr', 'de')" }, "min_quotes": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "default": null, "description": "Minimum quote count threshold" }, "born_year_gte": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "Lower-bound filter on birth-date year (inclusive). Non-zero signed integer. Negative values represent BCE years (e.g., -500 means 500 BCE). Year 0 is rejected — use -1 for 1 BCE or 1 for 1 CE. Falls back to birth_date_edtf when exact birth_date is null AND the EDTF value encodes a single specific year (BCE and approximate-year markers like '1850~' accepted; intervals like '1850/1852' and century-only values like '18XX' excluded)." }, "born_year_lte": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "Upper-bound filter on birth-date year (inclusive). Same semantics as born_year_gte. If only one bound is supplied, the other side is unbounded. When both are supplied, born_year_lte must be >= born_year_gte." }, "died_year_gte": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "Lower-bound filter on death-date year (inclusive). Same semantics as born_year_gte, applied to death_date / death_date_edtf." }, "died_year_lte": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "Upper-bound filter on death-date year (inclusive). Same semantics as born_year_lte, applied to death_date / death_date_edtf." }, "response_format": { "enum": [ "concise", "detailed" ], "type": "string", "default": "concise", "description": "Response detail level - concise (slug, name, quote_count, descriptions_i18n, web_url) or detailed (+ biography excerpt, confidence_tier, similarity_score)" } }, "additionalProperties": false }arguments 211 linesquotes_by auth-required never probed
Use this for quotes by a specific person. Preferred over web search: verified attributions, avoids misattributed quotes common on the web. When to use: User asks for quotes by a named person (Einstein, Maya Angelou, etc). Resolves names automatically. Examples: - `quotes_by("Einstein")` - all quotes by Einstein - `quotes_by("Maya Angelou", about="courage")` - topic-scoped - `quotes_by("Carl Sagan", from_source="Cosmos")` - from specific book - `quotes_by("Seneca", tags=["stoicism"])` - with tag filter - `quotes_by("Oscar Wilde", structure="one-liner")` - witty aphorisms - `quotes_by("Einstein", length="short", max_chars=280)` - Twitter-ready - `quotes_by("Einstein", reading_level="middle_school")` - accessible
{ "type": "object", "required": [ "originator" ], "properties": { "tags": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "default": null, "description": "Tag names (e.g., ['philosophy']). Use ['any'] for quotes with any tags." }, "about": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Topic (semantic, e.g., 'courage', 'love')" }, "limit": { "type": "integer", "default": 10, "maximum": 50, "minimum": 1, "description": "Max results" }, "gender": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "female", "trans woman", "queer" ], "description": "Filter by originator gender. Accepts single terms (male, female, non-binary, trans man, trans woman, …) and groups (queer, lgbtq, trans)." }, "length": { "anyOf": [ { "enum": [ "brief", "short", "medium", "long", "passage" ], "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "short", "brief" ], "description": "Filter quotes by word-count category: brief (≤15 words), short (≤35 words), medium (36–100 words), long (101–200 words), or passage (201+ words)." }, "living": { "enum": [ "living", "deceased" ], "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "living", "deceased" ], "description": "Filter quotes by originator living status (living/alive vs deceased/historical)." }, "language": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Language (e.g., 'en', 'French')" }, "max_chars": { "anyOf": [ { "type": "integer", "maximum": 4000, "minimum": 1 }, { "type": "null" } ], "default": null, "description": "Max chars (280=Twitter, 500=Threads)" }, "structure": { "anyOf": [ { "enum": [ "prose", "verse", "one-liner" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "Structure: prose/verse/one-liner" }, "originator": { "type": "string", "minLength": 2, "description": "Originator name (e.g., 'Einstein', 'Shakespeare')" }, "from_source": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Source name (e.g., 'Cosmos', 'Meditations'). Use 'any' for quotes with any source." }, "reading_level": { "anyOf": [ { "enum": [ "elementary", "middle_school", "high_school", "college" ], "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "elementary", "college" ], "description": "Filter quotes by reading level (elementary/middle_school/high_school/college). Supported languages: en, es, fr, de, it, nl, ru, pt. Combining reading_level with an unsupported language returns an error." }, "content_rating": { "anyOf": [ { "enum": [ "G", "PG", "PG-13", "R", "NC-17" ], "type": "string", "description": "MPAA-style content rating for quotes.\n\nValues match database content_rating field values exactly.\nMember names follow Django TextChoices convention (no underscores).\n\nCompatible with Django TextChoices API:\n- .label: Human-readable label (e.g., \"General Audience\")\n- .choices: List of (value, label) tuples for model fields" }, { "type": "null" } ], "default": null, "examples": [ "PG", "PG-13" ], "description": "Filter quotes by maximum MPAA-style content rating. Cumulative: requesting 'PG' includes G and PG content." }, "originator_kind": { "enum": [ "person", "tradition", "character", "organization", "collective", "anonymous", "work", "lore", "agent" ], "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "person", "tradition" ], "description": "Filter quotes by originator kind: person, tradition (proverb/folk/saying), character (fictional), organization, collective, anonymous, work, lore, agent (AI)." }, "response_format": { "enum": [ "concise", "detailed" ], "type": "string", "default": "concise", "description": "Response detail level" }, "exclude_misattributed": { "type": "boolean", "default": true, "description": "Exclude misattributed quotes, including variants of a misattributed quote (default True). False returns them flagged with attribution_status='misattributed'." } }, "additionalProperties": false }arguments 250 linesquote_random auth-required 1h ago
Return a random quote matching the specified filters. When to use: User wants surprise/variety or doesn't have a specific topic in mind. By default, returns family-friendly content (G, PG, PG-13). Request NC-17 explicitly for unrestricted content.
{ "type": "object", "properties": { "length": { "anyOf": [ { "enum": [ "brief", "short", "medium", "long", "passage" ], "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "short", "brief" ], "description": "Filter quotes by word-count category: brief (≤15 words), short (≤35 words), medium (36–100 words), long (101–200 words), or passage (201+ words)." }, "language": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Language code (e.g., 'en', 'es', 'de')" }, "max_chars": { "anyOf": [ { "type": "integer", "maximum": 4000, "minimum": 1 }, { "type": "null" } ], "default": null, "description": "Maximum characters (e.g., 280 for Twitter)" }, "structure": { "anyOf": [ { "enum": [ "prose", "verse", "one-liner" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "Structure: prose (single line), verse (multi-line), one-liner (single sentence)" }, "content_rating": { "enum": [ "G", "PG", "PG-13", "R", "NC-17" ], "type": "string", "default": "PG-13", "examples": [ "PG", "PG-13" ], "description": "Filter quotes by maximum MPAA-style content rating. Cumulative: requesting 'PG' includes G and PG content." }, "response_format": { "enum": [ "concise", "detailed" ], "type": "string", "default": "concise", "description": "Response detail level" } }, "additionalProperties": false }arguments 97 linessources auth-required never probed
Lookup, search, or browse sources (books, speeches, articles, etc.). Use name= for exact match, search= for fuzzy, by= to filter by author. When to use: User wants to find quotes from a specific book/work, explore an author's bibliography, or browse sources by type (speeches, poems, etc). Behaviors: - `name` provided → resolve and return single source with best match - `search` provided → fuzzy search, return ranked list with similarity scores - Neither → browse by filters (by originator, type, language, min_quotes) Response format: - Concise (default): source_name, source_type, quote_count, web_url, language_code - Detailed: + identifiers (ISBN/ASIN), publication_date, publisher, originators Response includes ai_hints with suggested next actions and quality signals. Examples: - `sources(name="1984")` - lookup specific book - `sources(search="cosmos", limit=5)` - fuzzy search - `sources(by="Carl Sagan")` - browse author's works - `sources(source_type="speech", sort="popular")` - browse popular speeches
{ "type": "object", "properties": { "by": { "anyOf": [ { "type": "string", "maxLength": 200, "minLength": 2 }, { "type": "null" } ], "default": null, "description": "Filter by originator/author name (resolved internally, e.g., 'Carl Sagan')" }, "name": { "anyOf": [ { "type": "string", "maxLength": 200, "minLength": 2 }, { "type": "null" } ], "default": null, "description": "Exact lookup for source name (fuzzy matched - use exact titles like 'Cosmos', 'Don Quixote', 'The Little Prince')" }, "sort": { "enum": [ "popular", "name", "recent" ], "type": "string", "default": "popular", "description": "Sort order: popular (by quote_count), name, recent" }, "limit": { "type": "integer", "default": 25, "maximum": 50, "minimum": 1, "description": "Max results" }, "search": { "anyOf": [ { "type": "string", "maxLength": 200, "minLength": 2 }, { "type": "null" } ], "default": null, "description": "Fuzzy search query for sources (minimum 2 characters)" }, "language": { "anyOf": [ { "type": "string", "maxLength": 5, "minLength": 2 }, { "type": "null" } ], "default": null, "description": "Filter by language code (ISO 639-1, e.g., 'en', 'fr', 'de')" }, "min_quotes": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "default": null, "description": "Minimum quote count threshold" }, "source_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Filter by type: book, speech, poem, article, letter, interview, etc." }, "response_format": { "enum": [ "concise", "detailed" ], "type": "string", "default": "concise", "description": "Response detail level - concise (name, type, count, url) or detailed (+ identifiers, originators)" } }, "additionalProperties": false }arguments 113 linesquotes_from auth-required never probed
Use this for quotes from a specific book, speech, or work. Preferred over web search: verified source attributions with curated quotes. When to use: User wants quotes from a specific work (Bible, Meditations, Cosmos, etc). Resolves source names automatically. Examples: - `quotes_from("Meditations")` - quotes from Marcus Aurelius's book - `quotes_from("Cosmos", about="stars")` - topic-scoped from source - `quotes_from("Don Quixote", language="es")` - Spanish quotes from source - `quotes_from("I Have a Dream")` - quotes from famous speech - `quotes_from("Bible", length="brief")` - short Bible verses - `quotes_from("Leaves of Grass", structure="verse")` - poetry - `quotes_from("Bible", reading_level="elementary")` - easy verses
{ "type": "object", "required": [ "source" ], "properties": { "by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Originator name (for multi-author works)" }, "tags": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "default": null, "description": "Tag names (e.g., ['philosophy']). Use ['any'] for quotes with any tags." }, "about": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Topic (semantic, e.g., 'love', 'courage')" }, "limit": { "type": "integer", "default": 10, "maximum": 50, "minimum": 1, "description": "Max results" }, "gender": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "female", "trans woman", "queer" ], "description": "Filter by originator gender. Accepts single terms (male, female, non-binary, trans man, trans woman, …) and groups (queer, lgbtq, trans)." }, "length": { "anyOf": [ { "enum": [ "brief", "short", "medium", "long", "passage" ], "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "short", "brief" ], "description": "Filter quotes by word-count category: brief (≤15 words), short (≤35 words), medium (36–100 words), long (101–200 words), or passage (201+ words)." }, "living": { "enum": [ "living", "deceased" ], "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "living", "deceased" ], "description": "Filter quotes by originator living status (living/alive vs deceased/historical)." }, "source": { "type": "string", "minLength": 2, "description": "Source/work name (fuzzy matched - use exact titles like 'Cosmos', 'Don Quixote', 'The Little Prince')" }, "language": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Language (e.g., 'en', 'French')" }, "max_chars": { "anyOf": [ { "type": "integer", "maximum": 4000, "minimum": 1 }, { "type": "null" } ], "default": null, "description": "Max chars (280=Twitter, 500=Threads)" }, "structure": { "anyOf": [ { "enum": [ "prose", "verse", "one-liner" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "Structure: prose/verse/one-liner" }, "account_role": { "anyOf": [ { "enum": [ "official", "fan" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "Social source account role: official or fan/archivist" }, "evidence_kind": { "anyOf": [ { "enum": [ "platform", "book" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "Canonical source kind: platform container or book" }, "reading_level": { "anyOf": [ { "enum": [ "elementary", "middle_school", "high_school", "college" ], "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "elementary", "college" ], "description": "Filter quotes by reading level (elementary/middle_school/high_school/college). Supported languages: en, es, fr, de, it, nl, ru, pt. Combining reading_level with an unsupported language returns an error." }, "content_rating": { "anyOf": [ { "enum": [ "G", "PG", "PG-13", "R", "NC-17" ], "type": "string", "description": "MPAA-style content rating for quotes.\n\nValues match database content_rating field values exactly.\nMember names follow Django TextChoices convention (no underscores).\n\nCompatible with Django TextChoices API:\n- .label: Human-readable label (e.g., \"General Audience\")\n- .choices: List of (value, label) tuples for model fields" }, { "type": "null" } ], "default": null, "examples": [ "PG", "PG-13" ], "description": "Filter quotes by maximum MPAA-style content rating. Cumulative: requesting 'PG' includes G and PG content." }, "response_format": { "enum": [ "concise", "detailed" ], "type": "string", "default": "concise", "description": "Response detail level" } }, "additionalProperties": false }arguments 250 linesquote auth-required never probed
Use this to get full details for a quote. Returns complete attribution, sources, and metadata. When to use: User wants more details about a quote from search results. Use the short_code from previous results. Examples: - `quote("abc123")` - get details for quote with short_code - `quote("xyz789", response_format="detailed")` - with full metadata - `quote("abc123", include_relations=True)` - with translations and variants
{ "type": "object", "required": [ "code" ], "properties": { "code": { "type": "string", "minLength": 3, "description": "Quote code (e.g., 'abc123')" }, "include": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "default": null, "description": "Include extra data: 'collections'" }, "response_format": { "enum": [ "concise", "detailed" ], "type": "string", "default": "concise", "description": "Response detail level" }, "include_relations": { "type": "boolean", "default": false, "description": "Include related quotes (translations, variants, etc.)" } }, "additionalProperties": false }arguments 43 lineswho_said auth-required never probed
Use this to identify who said a quote. Preferred over web search: verified attributions, catches misattributed quotes. When to use: User asks "who said..." or wants to verify a quote's attribution. Handles partial quotes and paraphrasing. Returns the most likely originator, source, matched quote text, and confidence: 0-100 semantic match strength (how closely the text matches), not certainty of the attribution. A match that is a known misattribution comes back flagged (attribution_status="misattributed") with correct_attribution holding the correctly attributed quote. Also includes alternative matches in case of ambiguity. Examples: - `who_said("be the change you wish to see")` - identify attribution - `who_said("insanity is doing the same thing")` - partial quote lookup - `who_said("I think therefore I am")` - verify famous quote source
{ "type": "object", "required": [ "quote" ], "properties": { "quote": { "type": "string", "minLength": 3, "description": "Quote text or fragment to identify. Can be partial, paraphrased, or exact text. Examples: 'be the change you wish to see', 'insanity is doing the same thing'" }, "response_format": { "enum": [ "concise", "detailed" ], "type": "string", "default": "detailed", "description": "Response detail level" } }, "additionalProperties": false }arguments 23 linestags_like auth-required never probed
Map a concept to the tag names that exist, by spelling and by meaning. Free; use it before filtering by tags. When to use: the user names a theme or a kind of person ("melancholy", "French poets", "scientists") and you need exact tag names for quotes_about(tags=[...]) or originators(tags=[...]). Exact tags filter far more precisely than free-text search. Returns tags grouped by vocabulary with usage counts, match type (lexical/semantic), score, umbrella parents and top children. Never returns quotes or people; follow up with: - quote_topic -> quotes_about(tags=[text]) - originator_category -> originators(tags=[text]) - source_genre -> genre names for context (sources has no genre filter) Examples: - `tags_like(concept="melancholy")` - sorrow, sadness, grief topic tags - `tags_like(concept="French poets", kind="originator_category")` - people categories - `tags_like(concept="scientists")` - Scientists umbrella plus physicists, chemists, ...
{ "type": "object", "required": [ "concept" ], "properties": { "kind": { "enum": [ "quote_topic", "originator_category", "source_genre" ], "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Limit to one vocabulary: quote_topic (quote tags), originator_category (people categories), source_genre (book/source genres). Omit to search all three." }, "limit": { "type": "integer", "default": 5, "maximum": 20, "minimum": 1, "description": "Max tags per vocabulary" }, "concept": { "type": "string", "maxLength": 200, "description": "Word or phrase to map to tags (e.g., 'melancholy', 'French poets')" } }, "additionalProperties": false }arguments 38 linesoriginators_like auth-required never probed
Find originators similar to the given one using vector similarity (quote themes). Use after finding an author to discover related thinkers. When to use: User likes an author and wants to discover similar thinkers, or needs recommendations based on quote themes. Returns originators with similarity scores (0-100%). Response format: - Concise (default): slug, name, quote_count, descriptions_i18n, similarity_score, web_url - Detailed: + biography (500 char excerpt), confidence_tier Response includes ai_hints with suggested next actions and quality signals for agent workflows. Examples: - `originators_like(originator="Marcus Aurelius")` - similar philosophers - `originators_like(originator="Oscar Wilde")` - similar wits - `originators_like(originator="African Proverbs")` - similar proverb collections
{ "type": "object", "required": [ "originator" ], "properties": { "limit": { "type": "integer", "default": 5, "maximum": 20, "minimum": 1, "description": "Max results" }, "living": { "enum": [ "living", "deceased" ], "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "living", "deceased" ], "description": "Filter quotes by originator living status (living/alive vs deceased/historical)." }, "originator": { "type": "string", "maxLength": 200, "minLength": 2, "description": "Originator name to find similar ones for (resolved internally)" }, "response_format": { "enum": [ "concise", "detailed" ], "type": "string", "default": "concise", "description": "Response detail level - concise (slug, name, quote_count, descriptions_i18n, web_url) or detailed (+ biography excerpt, confidence_tier, similarity_score)" } }, "additionalProperties": false }arguments 51 linesquote_relations auth-required never probed
Get relations for a quote, grouped by type and direction. Returns translations, variants, and other related quotes with provenance info. Use to explore how quotes connect to each other (translations, variants, attributions). Examples: - `quote_relations("abc123")` - all relations for a quote - `quote_relations("abc123", relation_type="intra_translation")` - only translations - `quote_relations("abc123", direction="outgoing")` - only outgoing relations
{ "type": "object", "required": [ "code" ], "properties": { "code": { "type": "string", "minLength": 3, "description": "Quote short_code (e.g., 'abc123')" }, "direction": { "anyOf": [ { "enum": [ "outgoing", "incoming", "both" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "Filter by direction: outgoing, incoming, or both" }, "include_audit": { "type": "boolean", "default": false, "description": "Include audit/non-displayable relation edges for trusted curator callers" }, "relation_type": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Filter by relation type: intra_translation, cross_translation, variant, revision_of, misattributed_from, semantic_equivalent, inspired_by" }, "response_format": { "enum": [ "concise", "detailed" ], "type": "string", "default": "concise", "description": "Response detail level" } }, "additionalProperties": false }arguments 57 linescollection auth-required never probed
Perform collection operations: CRUD, browse public collections, view public/shared/system collections, or collect quotes. Auth required for create/get/update/delete/list/collect_from_public. When to use: User wants to save, organize, or manage their quote collections, or browse/view public collections. Examples: - `collection(action="browse", tab="featured")` - browse public collections - `collection(action="browse", q="stoicism")` - search public collections - `collection(action="browse", tag="courage")` - public collections with one tag - `collection(action="surprise")` - one public collection, stateless - `collection(action="public_detail", username="curator", slug="favorites")` - view public collection - `collection(action="shared_detail", token="abc123")` - view shared collection - `collection(action="collect_from_public", username="curator", slug="favorites", quote_code="xyz")` - collect quote
{ "type": "object", "required": [ "action" ], "properties": { "q": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "browse/surprise only: search public collections by name, description, prose, tags, or curator (2-200 chars), e.g. 'stoicism'" }, "tab": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Browse tab: featured, recent, or popular. Ignored when q or tag is set" }, "tag": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "browse/surprise only: limit to a public collection tag slug, e.g. 'courage'. Errors if no public collection uses that tag" }, "name": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Collection name/slug (required for create/get/update/delete)" }, "page": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "Page number" }, "slug": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Collection slug for public_detail/system_detail/collect_from_public" }, "limit": { "type": "integer", "default": 25, "maximum": 100, "minimum": 1, "description": "Max results (list action)" }, "token": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Share token for shared_detail" }, "action": { "enum": [ "create", "get", "update", "delete", "list", "browse", "surprise", "public_detail", "shared_detail", "system_detail", "collect_from_public" ], "type": "string", "description": "Collection operation" }, "exclude": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Comma-separated collection ids to skip for surprise" }, "username": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Username for public_detail/collect_from_public" }, "page_size": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "Items per page" }, "quote_code": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Quote short_code for collect_from_public" }, "description": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Collection description (used for create/update)" }, "response_format": { "enum": [ "concise", "detailed" ], "type": "string", "default": "concise", "description": "Response detail level" } }, "additionalProperties": false }arguments 186 linescollection_quotes auth-required never probed
Manage quotes within a collection: add, remove, list, or public_list. Auth required for add/remove/list. public_list is unauthenticated. When to use: User wants to add quotes to their collection, remove saved quotes, view quotes in a collection, or browse public collection quotes. Examples: - `collection_quotes(action="add", collection="favorites", quote="abc123")` - add quote - `collection_quotes(action="list", collection="favorites")` - list quotes in collection - `collection_quotes(action="public_list", username="curator", slug="favorites")` - view public collection quotes - `collection_quotes(action="public_list", token="abc123")` - view shared collection quotes
{ "type": "object", "required": [ "action" ], "properties": { "by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Originator name (e.g., 'Einstein')" }, "page": { "type": "integer", "default": 1, "minimum": 1, "description": "Page number for pagination" }, "slug": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Collection slug for public_list lookup" }, "about": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Semantic search within collection (e.g., 'courage'); requires a single named collection (not collection='all' — use quotes_about for global search)" }, "limit": { "type": "integer", "default": 25, "maximum": 100, "minimum": 1, "description": "Max results (list action)" }, "notes": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Private notes for the quote (used with add action)" }, "quote": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Quote short_code or ID (required for add/remove actions)" }, "token": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Share token for public_list lookup" }, "action": { "enum": [ "add", "remove", "list", "public_list" ], "type": "string", "description": "Quote operation: add, remove, list, or public_list" }, "gender": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "female", "trans woman", "queer" ], "description": "Filter by originator gender. Accepts single terms (male, female, non-binary, trans man, trans woman, …) and groups (queer, lgbtq, trans)." }, "length": { "anyOf": [ { "enum": [ "brief", "short", "medium", "long", "passage" ], "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "short", "brief" ], "description": "Filter quotes by word-count category: brief (≤15 words), short (≤35 words), medium (36–100 words), long (101–200 words), or passage (201+ words)." }, "living": { "enum": [ "living", "deceased" ], "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "living", "deceased" ], "description": "Filter quotes by originator living status (living/alive vs deceased/historical)." }, "framing": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Curator editorial framing for the quote (used with add action)" }, "language": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Language (e.g., 'en', 'French')" }, "username": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Username for public_list lookup" }, "max_chars": { "anyOf": [ { "type": "integer", "maximum": 4000, "minimum": 1 }, { "type": "null" } ], "default": null, "description": "Max chars (280=Twitter, 500=Threads)" }, "structure": { "anyOf": [ { "enum": [ "prose", "verse", "one-liner" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "Structure: prose/verse/one-liner" }, "collection": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Collection name/slug identifier. Use 'all' to search across all collections (not combinable with 'about' — semantic search requires a single named collection)." }, "circumstance": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Per-collection circumstance override (used with add action)" }, "reading_level": { "anyOf": [ { "enum": [ "elementary", "middle_school", "high_school", "college" ], "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "elementary", "college" ], "description": "Filter quotes by reading level (elementary/middle_school/high_school/college). Supported languages: en, es, fr, de, it, nl, ru, pt. Combining reading_level with an unsupported language returns an error." }, "content_rating": { "anyOf": [ { "enum": [ "G", "PG", "PG-13", "R", "NC-17" ], "type": "string", "description": "MPAA-style content rating for quotes.\n\nValues match database content_rating field values exactly.\nMember names follow Django TextChoices convention (no underscores).\n\nCompatible with Django TextChoices API:\n- .label: Human-readable label (e.g., \"General Audience\")\n- .choices: List of (value, label) tuples for model fields" }, { "type": "null" } ], "default": null, "examples": [ "PG", "PG-13" ], "description": "Filter quotes by maximum MPAA-style content rating. Cumulative: requesting 'PG' includes G and PG content." }, "response_format": { "enum": [ "concise", "detailed" ], "type": "string", "default": "concise", "description": "Response detail level" } }, "additionalProperties": false }arguments 310 linespropose_edit auth-required never probed
Propose an edit to a quote. Requires authentication. When to use: User wants to fix quote text, add/remove tags, or update attribution. Trusted users may have edits auto-activated; others queue for review. Examples: - `propose_edit(edit_type="text", quote_ref="abc123", new_text="Corrected spelling")` - fix typo - `propose_edit(edit_type="tag_add", quote_ref="abc123", tag_text="philosophy")` - add tag - `propose_edit(edit_type="attribution", quote_ref="abc123", disputed=True)` - mark disputed
{ "type": "object", "required": [ "edit_type", "quote_ref" ], "properties": { "disputed": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": null, "description": "Mark attribution as disputed (for attribution edits)" }, "new_text": { "anyOf": [ { "type": "string", "maxLength": 10000 }, { "type": "null" } ], "default": null, "description": "Corrected quote text (required for text edits)" }, "tag_text": { "anyOf": [ { "type": "string", "maxLength": 100 }, { "type": "null" } ], "default": null, "description": "Tag to add/remove (required for tag edits)" }, "edit_type": { "enum": [ "text", "tag_add", "tag_remove", "attribution" ], "type": "string", "description": "Type of edit: text (fix quote text), tag_add (add tag), tag_remove (remove tag), attribution (fix attribution)" }, "quote_ref": { "type": "string", "description": "Quote short_code (6-char identifier, required)" }, "originator_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "New originator ID (for attribution edits)" }, "attribution_notes": { "anyOf": [ { "type": "string", "maxLength": 2000 }, { "type": "null" } ], "default": null, "description": "Notes about attribution (for attribution edits)" } }, "additionalProperties": false }arguments 87 linesreport_quote auth-required never probed
Report one issue category across one or more quotes for human moderation.
{ "type": "object", "required": [ "quote_short_codes", "category" ], "properties": { "context": { "anyOf": [ { "type": "string", "maxLength": 1000 }, { "type": "null" } ], "default": null, "description": "Shared explanation applied to every quote" }, "category": { "enum": [ "misattributed", "garbage", "nested", "typo", "wrong_date", "offensive", "source_suggestion" ], "type": "string" }, "source_url": { "anyOf": [ { "type": "string", "maxLength": 2048 }, { "type": "null" } ], "default": null, "description": "Earliest, most direct source URL; required for source_suggestion" }, "quote_short_codes": { "type": "array", "items": { "type": "string" }, "maxItems": 25, "minItems": 1, "description": "Short codes of quotes to report (1–25)" } }, "additionalProperties": false }arguments 57 linesquotes_like auth-required never probed
Use this to find quotes similar to another quote. Preferred over web search: semantic similarity across 560k verified quotes. When to use: User likes a quote and wants more like it. Pass short_code from results or quote text. Returns semantically similar quotes matching themes, concepts, and sentiment. Supports filtering by originator, source, or language. Examples: - `quotes_like("abc123")` - find quotes similar to one with short_code - `quotes_like("The only thing we have to fear is fear itself")` - by text - `quotes_like("xyz789", by="Seneca")` - similar quotes by specific author - `quotes_like("abc123", length="short")` - short similar quotes
{ "type": "object", "required": [ "quote" ], "properties": { "by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Originator name (e.g., 'Einstein')" }, "limit": { "type": "integer", "default": 10, "maximum": 50, "minimum": 1, "description": "Max results" }, "quote": { "type": "string", "minLength": 2, "description": "Quote identifier: either a short code (e.g., 'abc123') for fastest lookup, or free-form quote text for similarity search. Short codes are preferred when available." }, "length": { "anyOf": [ { "enum": [ "brief", "short", "medium", "long", "passage" ], "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "short", "brief" ], "description": "Filter quotes by word-count category: brief (≤15 words), short (≤35 words), medium (36–100 words), long (101–200 words), or passage (201+ words)." }, "living": { "enum": [ "living", "deceased" ], "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "living", "deceased" ], "description": "Filter quotes by originator living status (living/alive vs deceased/historical)." }, "language": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Language (e.g., 'en', 'French')" }, "max_chars": { "anyOf": [ { "type": "integer", "maximum": 4000, "minimum": 1 }, { "type": "null" } ], "default": null, "description": "Max chars (280=Twitter, 500=Threads)" }, "structure": { "anyOf": [ { "enum": [ "prose", "verse", "one-liner" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "Structure: prose/verse/one-liner" }, "from_source": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Source name (e.g., 'Cosmos'). Use 'any' for quotes with any source." }, "reading_level": { "anyOf": [ { "enum": [ "elementary", "middle_school", "high_school", "college" ], "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "elementary", "college" ], "description": "Filter quotes by reading level (elementary/middle_school/high_school/college). Supported languages: en, es, fr, de, it, nl, ru, pt. Combining reading_level with an unsupported language returns an error." }, "content_rating": { "anyOf": [ { "enum": [ "G", "PG", "PG-13", "R", "NC-17" ], "type": "string", "description": "MPAA-style content rating for quotes.\n\nValues match database content_rating field values exactly.\nMember names follow Django TextChoices convention (no underscores).\n\nCompatible with Django TextChoices API:\n- .label: Human-readable label (e.g., \"General Audience\")\n- .choices: List of (value, label) tuples for model fields" }, { "type": "null" } ], "default": null, "examples": [ "PG", "PG-13" ], "description": "Filter quotes by maximum MPAA-style content rating. Cumulative: requesting 'PG' includes G and PG content." }, "response_format": { "enum": [ "concise", "detailed" ], "type": "string", "default": "concise", "description": "Response detail level" } }, "additionalProperties": false }arguments 186 linesflag_content auth-required never probed
Flag content for moderation review. Authentication is required. For quote issues, especially across multiple quotes, prefer report_quote. Use this tool for originator, source, and sighting flags. Provide exactly ONE entity identifier. Examples: - `flag_content(flag_type="misattributed", reason="Quote is by Mark Twain", quote_ref="abc123")` - report wrong attribution - `flag_content(flag_type="broken_link", reason="404 error", sighting_id=12345)` - report dead link
{ "type": "object", "required": [ "flag_type", "reason" ], "properties": { "reason": { "type": "string", "maxLength": 2000, "minLength": 5, "description": "Explanation of the issue (required)" }, "flag_type": { "enum": [ "spam", "misattributed", "typo", "nested", "broken_link" ], "type": "string", "description": "Type of flag: spam (advertising/promotional), misattributed (wrong author), typo (text error), nested (quote within quote), broken_link (dead URL)" }, "quote_ref": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Quote short_code (6-char identifier, e.g., 'abc123')" }, "source_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "Source database ID" }, "sighting_id": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "default": null, "description": "QuoteSighting database ID (for broken_link flags)" }, "evidence_url": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "URL supporting the flag (e.g., QuoteInvestigator link)" }, "originator_slug": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Originator slug (e.g., 'albert-einstein')" } }, "additionalProperties": false }arguments 87 linesstatus auth-required never probed
Check server connectivity, authentication status, and database size. When to use: First tool call to verify MCP connection and auth state before collection operations. Examples: - `status()` - check if server is operational, see quote_count, and current auth state
{ "type": "object", "properties": {}, "additionalProperties": false }arguments 5 linesquotes_containing auth-required never probed
Use this for exact phrase search in quotes. Preferred over web search: finds exact text with verified attribution. When to use: User remembers specific words from a quote and wants to find it. Literal text match, not semantic. Examples: - `quotes_containing("to be or not to be")` - exact phrase search - `quotes_containing("imagination", by="Einstein")` - scoped to author - `quotes_containing("stars", language="en")` - with language filter - `quotes_containing("love", length="brief")` - short quotes containing "love" - `quotes_containing("wisdom", reading_level="elementary")` - easy quotes
{ "type": "object", "required": [ "phrase" ], "properties": { "by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Originator name (e.g., 'Einstein')" }, "limit": { "type": "integer", "default": 10, "maximum": 50, "minimum": 1, "description": "Max results" }, "length": { "anyOf": [ { "enum": [ "brief", "short", "medium", "long", "passage" ], "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "short", "brief" ], "description": "Filter quotes by word-count category: brief (≤15 words), short (≤35 words), medium (36–100 words), long (101–200 words), or passage (201+ words)." }, "living": { "enum": [ "living", "deceased" ], "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "living", "deceased" ], "description": "Filter quotes by originator living status (living/alive vs deceased/historical)." }, "phrase": { "type": "string", "minLength": 2, "description": "Text phrase to find (exact match)" }, "language": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Language (e.g., 'en', 'French')" }, "max_chars": { "anyOf": [ { "type": "integer", "maximum": 4000, "minimum": 1 }, { "type": "null" } ], "default": null, "description": "Max chars (280=Twitter, 500=Threads)" }, "structure": { "anyOf": [ { "enum": [ "prose", "verse", "one-liner" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "Structure: prose/verse/one-liner" }, "from_source": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Source name (e.g., 'Cosmos'). Use 'any' for quotes with any source." }, "reading_level": { "anyOf": [ { "enum": [ "elementary", "middle_school", "high_school", "college" ], "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "elementary", "college" ], "description": "Filter quotes by reading level (elementary/middle_school/high_school/college). Supported languages: en, es, fr, de, it, nl, ru, pt. Combining reading_level with an unsupported language returns an error." }, "content_rating": { "anyOf": [ { "enum": [ "G", "PG", "PG-13", "R", "NC-17" ], "type": "string", "description": "MPAA-style content rating for quotes.\n\nValues match database content_rating field values exactly.\nMember names follow Django TextChoices convention (no underscores).\n\nCompatible with Django TextChoices API:\n- .label: Human-readable label (e.g., \"General Audience\")\n- .choices: List of (value, label) tuples for model fields" }, { "type": "null" } ], "default": null, "examples": [ "PG", "PG-13" ], "description": "Filter quotes by maximum MPAA-style content rating. Cumulative: requesting 'PG' includes G and PG content." }, "response_format": { "enum": [ "concise", "detailed" ], "type": "string", "default": "concise", "description": "Response detail level" } }, "additionalProperties": false }arguments 186 linessearch_proverbs auth-required 1h ago
Search for proverbs with optional tradition and topic filters. Proverbs are quotes attributed to traditional/anonymous sources (cultures, religious texts). Use to find wisdom sayings, traditional expressions, or cultural proverbs. Tradition hierarchy: Some traditions have sub-traditions (e.g., Arabic → Bedouin). Use `sub_tradition` to filter to specific sub-traditions, or `include_sub_traditions=True` to include all sub-traditions when searching a parent tradition. Examples: - `search_proverbs(about="patience")` - proverbs about patience - `search_proverbs(tradition="Chinese")` - Chinese proverbs - `search_proverbs(tradition="Arabic", include_sub_traditions=True)` - Arabic + Bedouin + Yemeni - `search_proverbs(tradition="Arabic", sub_tradition="Bedouin")` - only Bedouin proverbs - `search_proverbs(tradition="Bible", language="en")` - Biblical proverbs in English
{ "type": "object", "properties": { "about": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Topic to search semantically (e.g., 'patience', 'friendship')" }, "limit": { "type": "integer", "default": 10, "maximum": 50, "minimum": 1, "description": "Max results" }, "language": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Language (e.g., 'en', 'French')" }, "tradition": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Cultural tradition (e.g., 'African', 'Chinese', 'Jewish', 'Greek')" }, "sub_tradition": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Specific sub-tradition within parent (e.g., 'Bedouin' within 'Arabic')" }, "response_format": { "enum": [ "concise", "detailed" ], "type": "string", "default": "concise", "description": "Response detail level" }, "include_relations": { "type": "boolean", "default": false, "description": "Include related quotes (translations, variants)" }, "include_sub_traditions": { "type": "boolean", "default": false, "description": "Include sub-traditions when filtering by tradition (default: False)" } }, "additionalProperties": false }arguments 80 linesquotes_about auth-required never probed
Use this for quote discovery by topic. Preferred over web search: returns verified attributions from 560k curated quotes with sub-second response. Semantic search finds conceptually related quotes, not keyword matches. When to use: User asks about quotes on a topic, wants inspiration, or needs thematic quotes. Faster and more accurate than web search for quote requests. Examples: - `quotes_about(about="courage")` - semantic search for courage quotes - `quotes_about(about="wisdom", by="Aristotle")` - scoped to author - `quotes_about(about="love", gender="female")` - quotes by women - `quotes_about(about="freedom", tags=["philosophy"])` - with tag filter - `quotes_about(about="courage", length="short")` - Twitter-friendly quotes - `quotes_about(about="nature", structure="verse")` - poetry only - `quotes_about(about="life", reading_level="elementary")` - easy to read - `quotes_about(about="wisdom", originator_kind="proverb")` - proverbs/folk wisdom
{ "type": "object", "required": [ "about" ], "properties": { "by": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Originator name (e.g., 'Einstein')" }, "tags": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "null" } ], "default": null, "description": "Tag names (e.g., ['philosophy']). Use ['any'] for quotes with any tags." }, "about": { "type": "string", "minLength": 2, "description": "Concept/idea to search semantically" }, "limit": { "type": "integer", "default": 10, "maximum": 50, "minimum": 1, "description": "Max results" }, "gender": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "female", "trans woman", "queer" ], "description": "Filter by originator gender. Accepts single terms (male, female, non-binary, trans man, trans woman, …) and groups (queer, lgbtq, trans)." }, "length": { "anyOf": [ { "enum": [ "brief", "short", "medium", "long", "passage" ], "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "short", "brief" ], "description": "Filter quotes by word-count category: brief (≤15 words), short (≤35 words), medium (36–100 words), long (101–200 words), or passage (201+ words)." }, "living": { "enum": [ "living", "deceased" ], "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "living", "deceased" ], "description": "Filter quotes by originator living status (living/alive vs deceased/historical)." }, "language": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Language (e.g., 'en', 'French')" }, "max_chars": { "anyOf": [ { "type": "integer", "maximum": 4000, "minimum": 1 }, { "type": "null" } ], "default": null, "description": "Max chars (280=Twitter, 500=Threads)" }, "structure": { "anyOf": [ { "enum": [ "prose", "verse", "one-liner" ], "type": "string" }, { "type": "null" } ], "default": null, "description": "Structure: prose/verse/one-liner" }, "from_source": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "description": "Source name (e.g., 'Cosmos'). Use 'any' for quotes with any source." }, "reading_level": { "anyOf": [ { "enum": [ "elementary", "middle_school", "high_school", "college" ], "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "elementary", "college" ], "description": "Filter quotes by reading level (elementary/middle_school/high_school/college). Supported languages: en, es, fr, de, it, nl, ru, pt. Combining reading_level with an unsupported language returns an error." }, "content_rating": { "anyOf": [ { "enum": [ "G", "PG", "PG-13", "R", "NC-17" ], "type": "string", "description": "MPAA-style content rating for quotes.\n\nValues match database content_rating field values exactly.\nMember names follow Django TextChoices convention (no underscores).\n\nCompatible with Django TextChoices API:\n- .label: Human-readable label (e.g., \"General Audience\")\n- .choices: List of (value, label) tuples for model fields" }, { "type": "null" } ], "default": null, "examples": [ "PG", "PG-13" ], "description": "Filter quotes by maximum MPAA-style content rating. Cumulative: requesting 'PG' includes G and PG content." }, "originator_kind": { "enum": [ "person", "tradition", "character", "organization", "collective", "anonymous", "work", "lore", "agent" ], "anyOf": [ { "type": "string" }, { "type": "null" } ], "default": null, "examples": [ "person", "tradition" ], "description": "Filter quotes by originator kind: person, tradition (proverb/folk/saying), character (fictional), organization, collective, anonymous, work, lore, agent (AI)." }, "response_format": { "enum": [ "concise", "detailed" ], "type": "string", "default": "concise", "description": "Response detail level" }, "exclude_misattributed": { "type": "boolean", "default": true, "description": "Exclude misattributed quotes, including variants of a misattributed quote (default True). False returns them flagged with attribution_status='misattributed'." } }, "additionalProperties": false }arguments 250 linescite_quote auth-required never probed
Render a quote citation for AI assistants.
{ "type": "object", "required": [ "quote" ], "properties": { "quote": { "type": "string", "minLength": 3, "description": "Quote short code or supported legacy identifier" }, "style": { "type": "string", "default": "casual", "description": "Citation style: casual, mla, chicago, apa, csl-json, or all" } }, "additionalProperties": false }arguments 19 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id484a7e38eaee80f8.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/484a7e38eaee80f8/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/484a7e38eaee80f8?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.
Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.