mcpbeat

Quotewise MCP Server

io.github.quotewise/mcp
answering

Quotewise is answering right now. Last checked 10 min ago. It exposes 20 tools. Last commit 10 Feb 2026.

Semantic quote search with 600K quotes. Find quotes by meaning, verify attributions.

Uptime history 43 hours of history · worst hour 75%
43 hours agonow
100.0%
Uptime 24h
91 of 91 checks
20
Tools
read from the server
674 ms
Response time
average over 24h
1
Stars
last commit 10 Feb 2026

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 10 min ago.

run in your terminal
claude mcp add mcp --transport http https://mcp.quotewise.io/
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://mcp.quotewise.io/"
    }
  }
}
~/.codex/config.toml
[mcp_servers.mcp]
url = "https://mcp.quotewise.io/"
.cursor/mcp.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://mcp.quotewise.io/"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "mcp": {
      "url": "https://mcp.quotewise.io/"
    }
  }
}

Available tools 20

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

quotes
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(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
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 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
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("stars", language="en")` - with language filter - `quotes_containing("love", length="brief")` - short quotes containing "love" - `quotes_containing("wisdom", reading_level="elementary")` - easy quotes
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 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
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")` - 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
quote
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 translations and variants
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.
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("abc123", direction="outgoing")` - only outgoing relations
collection
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 - `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
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_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
originators
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` 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
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, 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
cite
cite_quote
Render a quote citation for AI assistants.
flag
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="broken_link", reason="404 error", sighting_id=12345)` - report dead link
propose
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")` - add tag - `propose_edit(edit_type="attribution", quote_ref="abc123", disputed=True)` - mark disputed
proverbs
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=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
report
report_quote
Report one issue category across one or more quotes for human moderation.
sources
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 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
status
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
who
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 score. 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

Endpoints

URLTransportStateLatencyChecked
https://mcp.quotewise.io/ streamable-http answering 640 ms 10 min ago

Quotewise — questions

Answers built from our own checks of this server.

What can Quotewise do?
It exposes 20 tools, read directly from the server on our last check. Among them: cite_quote, collection, collection_quotes, flag_content, originators, originators_like and 14 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Quotewise mostly used for?
Its tools cluster around quotes, quote and collection. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Quotewise working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 91 of 91 checks got a reply (100.0%), average response time 674 ms. The bar chart above shows every period we have measured.
How do I connect Quotewise?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Quotewise need an API key?
No. Quotewise completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 20 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Quotewise?
It answers our handshake in 674 ms on average, which is faster than 13% of all working MCP servers we measure. That is on the slow side — worth knowing if the tool sits inside an interactive loop. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Quotewise open source?
Yes — it is published under the MIT licence, written in JavaScript and 1 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.