Quotewise
Semantic quote search with 600K quotes. Find quotes by meaning, verify attributions.
| Endpoint | https://mcp.quotewise.io (streamable-http) |
|---|---|
| Registry version | 1.0.3 |
| Now | 21 tools · grade D (57) · pin ts_934e5d6b896f0049754d869cffd526d1 · protocol 2025-06-18 |
| First / last listed | 2026-11-01 03:05 UTC / 2026-11-01 03:05 UTC |
| Grade over time | 2026-11-01: D (57), 21 tools |
Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.
Tools: quotes_about quotes_from quotes_by quotes_containing quote quotes_like who_said quote_random tags_like originators originators_like sources cite_quote quote_relations search_proverbs status collection collection_quotes flag_content propose_edit report_quote
quotes_about | 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 params: about*, by, from_source, tags, gender, living, language, length, structure, max_chars, reading_level, content_rating, originator_kind, exclude_misattributed, limit, response_format |
quotes_from | 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 params: source*, evidence_kind, account_role, about, by, tags, gender, living, language, length, structure, max_chars, reading_level, content_rating, limit, response_format |
quotes_by | 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 Saga params: originator*, about, from_source, tags, gender, living, language, length, structure, max_chars, reading_level, content_rating, originator_kind, exclude_misattributed, limit, response_format |
quotes_containing | 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("st params: phrase*, by, from_source, living, language, length, structure, max_chars, reading_level, content_rating, limit, response_format |
quote | 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 params: code*, include_relations, include, response_format |
quotes_like | 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")` - params: quote*, by, from_source, living, language, length, structure, max_chars, reading_level, content_rating, limit, response_format |
who_said | 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 params: quote*, response_format |
quote_random | 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. params: content_rating, language, length, structure, max_chars, response_format |
tags_like | 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 u params: concept*, kind, limit |
originators | 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` pr params: name, search, language, min_quotes, tags, gender, living, born_on, died_on, born_year_gte, born_year_lte, died_year_gte, died_year_lte, sort, limit, response_format |
originators_like | 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, params: originator*, living, limit, response_format |
sources | 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 params: name, search, by, source_type, language, min_quotes, sort, limit, response_format |
cite_quote | Render a quote citation for AI assistants. params: quote*, style |
quote_relations | 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(" params: code*, relation_type, direction, response_format, include_audit |
search_proverbs | 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 params: about, tradition, sub_tradition, include_sub_traditions, language, limit, include_relations, response_format |
status | 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 params: none |
collection | 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
- `colle params: action*, name, description, limit, response_format, page, page_size, tab, exclude, q, tag, username, slug, token, quote_code |
collection_quotes | 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_quot params: action*, collection, quote, framing, circumstance, notes, about, by, language, gender, living, length, structure, max_chars, reading_level, content_rating, username, slug, token, limit, page, response_format |
flag_content | 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="br params: flag_type*, reason*, quote_ref, originator_slug, source_id, sighting_id, evidence_url |
propose_edit | 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")` - ad params: edit_type*, quote_ref*, new_text, tag_text, originator_id, disputed, attribution_notes |
report_quote | Report one issue category across one or more quotes for human moderation. params: quote_short_codes*, category*, context, source_url |
Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.