Search thousands of rare pre-modern texts translated to English across philosophy, religion, and science.
Do not connect
A critical issue was found. Do not connect this server as-is.
Scanned 1 month ago Due for re-check
A server can change after it's graded. Re-run the automated scan to refresh this report.
This grade is deterministic and reproducible: the same server surface always yields the same grade under a given algorithm version. It is a real automated assessment computed by the MCPGrade engine from what the probe actually observed — not a fabricated or opinion score. It is not a manual human pentest, so it can miss context-specific risks.
Every signal below was measured directly by the automated probe. The grade is derived only from evidence like this — nothing is assumed.
The source-library MCP server exposes 15 tools, focused primarily on general-purpose capabilities. Its published description reads: "Search thousands of rare pre-modern texts translated to English across philosophy, religion, and science". It communicates over Streamable HTTP using the 2025-06-18 protocol revision, and does not require authorization to connect. MCPGrade currently rates source-library F — a critical issue was found and the server should not be connected as-is. Its most notable findings include "Cross-tool shadowing" and "Cross-tool shadowing". This report is a deterministic, reproducible automated assessment: the same observed surface always yields the same grade under a given algorithm version, and it is refreshed as new scans arrive and free to read — but it is not a substitute for a manual human security review. Always re-check source-library's advertised tools, transport security, and authorization posture before connecting an autonomous agent or sharing sensitive context with it.
Add source-library to an MCP client using the endpoint below. Review the grade and findings above before granting an autonomous agent access.
MCP endpoint
https://sourcelibrary.org/api/mcpStreamable HTTP transport. This is the MCP endpoint, not a website — paste it into your MCP client server list rather than a browser.
Captured passively during the read-only scan. Click any value to find servers that match it.
The tools this server advertises via tools/list — names, purposes, and the parameters each accepts, exactly as enumerated read-only.
RETURNS A LIST OF BOOKS (works on a topic) — NOT passages. PICK THIS to discover which works exist on a subject. → For quotable text use search_translations (exact words) or search_concept (by meaning
Sorted worst-first. Each finding shows its severity, what it means, its OWASP MCP Top-10 mapping, and a recommended fix — the check id links to the exact methodology row that produced it.
tool: search_library
A tool description tries to alter the model’s use of another tool.
otable text use search_translations (exact words) or search_concept (by meaning); iRecommendationDescriptions must describe only their own tool.
tool: search_translations
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: search_concept
A tool description tries to alter the model’s use of another tool.
RecommendationDescriptions must describe only their own tool.
tool: search_within_book
A tool description tries to alter the model’s use of another tool.
book first, use search_library or search_concept, then pass its book_id here.RecommendationDescriptions must describe only their own tool.
tool: list_books
A tool description tries to alter the model’s use of another tool.
opic search use search_library; for passages on a theme use search_translationRecommendationDescriptions must describe only their own tool.
tool: get_book
A tool description tries to alter the model’s use of another tool.
ratus (step 3). search_within_book locates passages inside this book. MULTI-WORK VRecommendationDescriptions must describe only their own tool.
tool: get_book_text
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
ignin or get an API key at sourcelibrary.org/developers for higher limiRecommendationRemove side-channel parameters; constrain tool inputs.
tool: get_book_text
A tool description tries to alter the model’s use of another tool.
ok's text. Call get_book first (step 1) for the chapter list, then comeRecommendationDescriptions must describe only their own tool.
tool: get_quote
A tool exposes a free-text/webhook/feedback parameter with no honest purpose — a classic exfil channel.
parameter "context"RecommendationRemove side-channel parameters; constrain tool inputs.
tool: get_quote
A tool description tries to alter the model’s use of another tool.
wn tongue. Call list_editions to find an original-language witness of the samRecommendationDescriptions must describe only their own tool.
tool: get_quote
The text tells the model WHEN to call this tool relative to others ("always call first", "before any other tool", "chain to X tool") — a toxic-flow injection that hijacks the agent’s orchestration rather than describing the tool.
tion apparatus. ALWAYS use before putting text in quotation marks. The response hRecommendationTool metadata must describe only the tool, never sequence the agent’s calls.
tool: share_findings
A tool description tries to alter the model’s use of another tool.
e it back. Like submit_feedback, this goes to the team for review (not an instaRecommendationDescriptions must describe only their own tool.
tool: propose_collection
A tool description tries to alter the model’s use of another tool.
t book ids from search_library / list_books / get_book. Like submit_feedback aRecommendationDescriptions must describe only their own tool.
tool: get_locus
A tool description tries to alter the model’s use of another tool.
ness the library holds: the Greek reference edition and, where we have oneRecommendationDescriptions must describe only their own tool.
The server accepts tool enumeration (and likely invocation) with no authentication.
RecommendationRequire OAuth 2.1 authorization for any server exposing non-public tools.
tool: get_book
An unusually long description is a common injection-padding tactic.
description length 2024 charsRecommendationKeep descriptions concise.
tool: get_quote
An unusually long description is a common injection-padding tactic.
description length 2501 charsRecommendationKeep descriptions concise.
tool: get_locus
An unusually long description is a common injection-padding tactic.
description length 2107 charsRecommendationKeep descriptions concise.
The server exposes one or more ui:// (MCP Apps) resources whose HTML/JS renders inside the host client — a client-side injection / data-exposure surface most scanners ignore. Flagged for review, not damning on its own.
1 ui:// resource(s); e.g. ui://source-library/gallery-viewerRecommendationReview each ui:// resource’s markup and scripts; treat host-rendered UI as untrusted, sandbox it, and never expose secrets or conversation context to it.
Vantaj uptime monitoring via MCP — manage monitors, heartbeats, incidents, and status pages.
Unified gateway to Algeria's TKAWEN ecosystem: commerce, certification, and AI tools.
Provides access to the Cohereon Doctrine AI safety framework with governance components, tiered access, and agent onboarding.
Agentic rails for complex workflows with receipts, fees, and MCP tool access.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
Structural TC39 spec lookup for ECMA-262 and ECMA-402 in AI agents, SHA-pinned and offline-first.
RETURNS QUOTABLE PASSAGES (page-level snippets + citation URLs), matched by KEYWORD/term. PICK THIS to find a quote or textual evidence on a topic across the whole library. → If the modern word won't
RETURNS QUOTABLE PASSAGES matched by MEANING (cosine similarity on Gemini embeddings, 768d) — paraphrases and adjacent phrasings match even with zero keyword overlap. PICK THIS when the modern term wo
SEARCHES INSIDE ONE BOOK (requires book_id). PRIMARILY KEYWORD: it runs a lexical search over the book's pages plus a narrow scoped-semantic pass (top ~10), interleaved by relevance. PICK THIS when yo
BROWSES/FILTERS THE CATALOG by metadata (author/title fragment, language, category, translation recency) — no content/topic matching. PICK THIS to see WHAT EXISTS by an author or in a tradition. Retur
READ PIPELINE step 1 — DISCOVER. START HERE for any named work or author. Returns the book's AI-generated summary, chapter list, edition metadata, DOI, page counts, IIIF manifest, and the cover image
READ PIPELINE step 2 — READ. Read a book's text. Call get_book first (step 1) for the chapter list, then come here. Preferred: use the chapter param to read one chapter at a time (includes [Page N] ma
READ PIPELINE step 3 — CITE. Get the exact verbatim text of a single page plus its citation apparatus. ALWAYS use before putting text in quotation marks. The response headline is citation_link (the st
Every edition of one work that the library holds — the other witnesses to the same text, across languages and centuries. Give it a book_id (easiest: the id of any edition you already found) or a work_
READ PIPELINE step 3 — CITE, in batch. Get verbatim text + citation_link for SEVERAL pages of a single book in one round-trip, to assemble a multi-passage dossier. Specify either pages (an explicit ar
Search 110,000+ historical illustrations, emblems, engravings, diagrams, AND 23,000+ artworks (paintings, prints, sculptures). Filter by type, subject, figure, symbol, year. Results interleave two col
Submit feedback, bug reports, or feature requests to the Source Library team.
Share a research dossier back to the Source Library team — a title, an optional summary, and an ordered list of citations (the passages your thesis rests on). Each citation is a reference { book_id, p
Propose a themed collection of books to the Source Library team — a title, a rationale (why these books belong together and what thread connects them), and an ordered list of book ids. Get book ids fr
Turn a CANONICAL CITATION into the actual leaves that carry it. Aristotle is cited by Bekker number (1094a8, 1447a) and Plato by Stephanus number (Rep. 328b) — the references scholarship has used for