Search arXiv papers, download full text, semantic search, citation graphs, and alerts via MCP.
Source Library is installed from its publisher's own source and answers where it runs, so this marketplace is not in the path of a single call. There is no address here to send one to, and a panel that pretended otherwise would be showing you an answer we made up. Install it and call it from your own client — the Installation tab has the entry for each one.
What it does
Search 15K rare pre-modern texts translated to English: philosophy, religion, science, literature.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http embassy-of-the-free-mind-source-library-mcp https://sourcelibrary.org/api/mcp
# 2 — ask your agent for something these tools do
# search_library, search_translations, search_concept and 19 more
Source Library costs nothing on mcprush: there is no plan to choose here, no cap to set and nothing mcprush can bill you for.
Collected from a public index. Nobody has claimed this account, so nothing here was written by its author — claim it if it is yours.
Where are you running it?
Every route below installs the same thing and ends at the same approval screen. Nothing here runs on your machine and nothing runs on ours: this server answers at its publisher’s own address, and what you install is the connection straight to it.
This is a public server: it answers at its publisher’s own address and this marketplace is not in the path. Claude Code registers it in one command; --scope user makes it available in every project. The transport below is http, as the publisher's own manifest declares it.
claude mcp add --scope user --transport http embassy-of-the-free-mind-source-library-mcp https://sourcelibrary.org/api/mcpReconnect, or start a new session, and the tools appear in the model’s tool list.
One config entry pointing straight at the publisher’s own address — this marketplace is not in the path, and nothing from this listing executes on your machine.
22 tools, with what each one reads, writes and reaches shown before you agree — the same list on every route above. Read the tool surface.
Tool surface
What the model actually sees. Descriptions are diffed on every release — see version history.
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); if the user already named an author/work, call get_book directly (or list_books to find the ID) — the AI summary + chapter outline is usually the right first answer. Searches titles, authors, subje
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | Search query — prefer single distinctive concepts ("alchemy", "tree of life") over long natural-language phrases. Wrap in "double quotes" for exact phrase. |
| language | string | no | Filter by original language (e.g., Latin, German, Greek) |
| year_from | number | no | Publication year range start |
| year_to | number | no | Publication year range end |
| has_translation | boolean | no | Only return books with translations |
| sort | string | no | — |
| limit | number | no | Max results per page (default 10, max 100) |
| offset | number | no | Pagination offset (use with limit to page through total_matches; default 0) |
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 literally appear in historical texts, use search_concept (matches by meaning); to list which BOOKS cover a topic use search_library; to dig inside one known book use search_within_book; if the user na
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | A distinctive term ("harmony of the spheres", "active intellect") or the sentence you are looking for. A multi-word query matches pages printing ANY of its words, ranked so that pages printing them to |
| language | string | no | Filter by a single original language |
| languages | array | no | Filter to any of these languages, e.g. ["Sanskrit", "Arabic", "Chinese"]. Use instead of language when targeting multiple traditions. |
| exclude_languages | array | no | Exclude these languages, e.g. ["Latin", "French", "German", "English"] to surface non-Western sources. |
| year_from | number | no | — |
| year_to | number | no | — |
| book_id | string | no | Search within a specific book |
| author | array | no | Keep only passages by these authors, e.g. ["Ficino"] or ["della Porta", "Agrippa"]. Matches by name: every word you give must start a word of the book's author field. |
| exclude_authors | array | no | Drop passages by these authors, e.g. ["Agrippa"]. Use it to iterate a survey: run, see who dominates, exclude, run again. |
| max_per_author | number | no | Hard cap on passages from one author; the rest are DROPPED (unlike diversity, which only re-orders). Set 1 for "N quotes from N different authors". |
| max_per_work | number | no | Hard cap on passages from one WORK (all printings and editions of it count together, via work_id), so seven printings of De occulta philosophia are one witness, not seven. |
| diversity | string | no | Re-order the passages for spread. "author": at most one passage per author and per work in each ten, for a cross-author survey. "tradition": at most 2 per tradition family and per work. Default "off": |
| lang | string | no | ISO code of the EDITION to read, e.g. "es". Default "en". Most books have only English — call get_book and read editions, or list_books with has_edition, to find the ones that do not. The response a |
| limit | number | no | Max results per page (default 20, max 50) |
| offset | number | no | Pagination offset (use with limit to page through total_matches; default 0) |
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 won't literally appear in historical texts — e.g. "distributed cognition" maps to passages about active intellect, art of memory, wax tablet metaphors; "social contract" maps to pre-Hobbesian discussion
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | yes | A concept or natural-language description — full sentences are fine (e.g. "tools that extend the mind beyond the body"). Unlike search_translations, this does NOT require words that appear in the corp |
| language | string | no | Filter by a single original language |
| languages | array | no | Filter to any of these languages, e.g. ["Sanskrit", "Arabic", "Chinese"]. Use instead of language when targeting multiple traditions. |
| exclude_languages | array | no | Exclude these languages, e.g. ["Latin", "French", "German", "English"] to surface non-Western sources. |
| year_from | number | no | Restrict to books published in or after this year (filters out modern editions and translations). |
| year_to | number | no | Restrict to books published in or before this year. |
| max_per_book | number | no | Cap on passages from any single book. Useful when one book dominates the conceptual neighborhood; for one passage per author or per work use max_per_author / max_per_work. |
| author | array | no | Keep only passages by these authors, e.g. ["Ficino"] or ["della Porta", "Agrippa"]. Matches by name: every word you give must start a word of the book's author field. |
| exclude_authors | array | no | Drop passages by these authors, e.g. ["Agrippa"]. Use it to iterate a survey: run, see who dominates, exclude, run again. |
| max_per_author | number | no | Hard cap on passages from one author; the rest are DROPPED (unlike diversity, which only re-orders). Set 1 for "N quotes from N different authors". |
| max_per_work | number | no | Hard cap on passages from one WORK (all printings and editions of it count together, via work_id), so seven printings of De occulta philosophia are one witness, not seven. |
| diversity | string | no | How the passages are spread. Default "tradition": each ten holds at most 2 passages per tradition family and per work, so a concept query returns several traditions and not one tradition's nearest pag |
| lang | string | no | ISO code of the EDITION to read, e.g. "es". Default "en". Most books have only English — call get_book and read editions, or list_books with has_edition, to find the ones that do not. The response a |
| limit | number | no | Max passages (default 15, max 50) |
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 you know the wording you are looking for, or want every page of one book mentioning a term. → IF YOU ARE SEARCHING FROM A PARAPHRASE, a half-remembered line, or a modern restatement, USE search_concept
| Parameter | Type | Required | Notes |
|---|---|---|---|
| book_id | string | yes | The book ID to search within |
| query | string | yes | Search query |
| lang | string | no | ISO code of the EDITION to read, e.g. "es". Default "en". Most books have only English — call get_book and read editions, or list_books with has_edition, to find the ones that do not. The response a |
BROWSES/FILTERS THE CATALOG by metadata (canonical author via author_id, title/author/summary words via search, language, category, year range, translation recency) — no page-text matching. PICK THIS to see WHAT EXISTS by an author or in a tradition, or to enumerate a date range. Returns books with title, author (string + canonical author_id + author_url), language, year, and translation progress.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| search | string | no | Relevance-ranked word match over title (original, display and English), author, original-script name forms (e.g. Greek), AND the book's AI summary. A hit can name your term in neither title nor author |
| author_id | string | no | Canonical author slug, e.g. "jan-hus" — filters to exactly that person's books via the author thesaurus (variant slugs resolve to the canonical person). Every book row in results carries its author_id |
| edition_key | string | no | Other digitizations of ONE printing — pass the edition_key from a result row. Only full-quality keys match on both sides, so this answers "what other scans of this exact edition do you hold?" and neve |
| work_id | string | no | Every witness of one WORK, across editions, languages and centuries — pass the work_id from a result row or from get_book. Use this instead of a title search whenever you already hold the identifier: |
| year_from | number | no | Earliest edition year (inclusive). Matches only books with a known numeric year — ~60% of the library. |
| year_to | number | no | Latest edition year (inclusive). |
| language | string | no | — |
| category | string | no | — |
| has_edition | string | no | ISO code — return only books READABLE in that language, e.g. "es". Different from language, which is the language printed on the leaves of the scan: a Latin book with a Spanish edition matches langu |
| sort | string | no | — |
| limit | number | no | Max results (default 100, max 200) |
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 (inline, so you and the user can see the book). LANGUAGE: language is what is printed on THIS EDITION's leaves, which is frequently not the language the work was written in. Where the record knows t
| Parameter | Type | Required | Notes |
|---|---|---|---|
| book_id | string | yes | The book ID |
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] markers for citation). Alternatively, use from/to for explicit page ranges (e.g. from=1 to=50). When you find passages worth quoting, hand the page numbers to get_quote / get_quotes (step 3) for verbati
| Parameter | Type | Required | Notes |
|---|---|---|---|
| book_id | string | yes | The book ID |
| chapter | number | no | Chapter index (0-based). Preferred over from/to — returns pre-structured chapter text with embedded [Page N] markers. |
| part | number | no | Part number (1-based) for large chapters split into multiple parts |
| content | string | no | Which text to include: ocr (original language), translation (English), or both (default) |
| from | number | no | Start page number (inclusive). Use with to for explicit page ranges. |
| to | number | no | End page number (inclusive). Recommended chunk size: 50 pages. If the response has truncated=true, use the next from/to from truncation_note. |
| format | string | no | json (default, structured with per-page fields) or plain (concatenated text with page markers) |
| lang | string | no | ISO code of the EDITION to read, e.g. "es". Default "en". Resolved PER PAGE: a page with no text in that language comes back as English, labelled translation_lang: "en" (json) or `[Translation — en] |
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 stable sourcelibrary.org/q/… shortlink) — present it to the user alongside the quote. Render as: > [exact translation text, verbatim] > — [Author], [citation.locator]. [citation_link] PAGE BREAKS: this
| Parameter | Type | Required | Notes |
|---|---|---|---|
| book_id | string | yes | The book ID |
| page | number | yes | Page number |
| context | boolean | no | Also return the full text of the previous and next pages, so a sentence spanning the page break can be read whole. Set this when continuity.continues_from_previous or continues_on_next came back true |
| include_image | boolean | no | Also return the scan of the cited leaf as an inline image (display size, ≤1200px). Set this when the user would benefit from SEEING the page — an illustrated leaf, a title page, a diagram, disputed OC |
| lang | string | no | ISO code of the EDITION to quote, e.g. "es". Default "en". quote.lang on every response says which edition was actually served — where no such edition exists the English translation comes back with |
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_id. USE THIS when a quotation needs checking against more than one witness, when you want the original-language text behind a translation, or when comparing how a passage reads across editions — diffe
| Parameter | Type | Required | Notes |
|---|---|---|---|
| book_id | string | no | Any edition you already have. Its work is looked up and the siblings returned. |
| work_id | string | no | A work identifier, if you already have one (from get_book). |
DOES THE LIBRARY HOLD THIS WORK? Call this BEFORE telling the user the library lacks a book, and before proposing one for acquisition. A miss from list_books or search_library is NOT evidence of absence: list_books matches words and search_library ranks by relevance, so a held book can sit behind dozens of better-ranked hits. Give a title + author (+ year if known), or a library URL (Internet Arch
| Parameter | Type | Required | Notes |
|---|---|---|---|
| title | string | no | Title in any language, original or English, e.g. "Musurgia universalis". |
| author | string | no | Author in any form ("Athanasius Kircher", "Kircher, Athanasius"). Strongly improves matching. |
| year | number | no | Edition year, if known. Separates "same edition" from "another edition". |
| url | string | no | A library URL or IIIF manifest for a specific copy (title then optional). |
| ia_id | string | no | Internet Archive identifier, for an exact same-scan match. |
| language | string | no | Language hint for the cross-lingual title match (optional). |
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 array, e.g. [12, 40, 41]) or an inclusive from/to range. Max 25 pages per call. Each entry carries its own citation_link to present alongside the quote, and — on non-Latin-script pages that have one — a
| Parameter | Type | Required | Notes |
|---|---|---|---|
| book_id | string | yes | The book ID |
| pages | array | no | Explicit list of page numbers (e.g. [12, 40, 41]). Use this OR from/to. |
| from | number | no | Start page (inclusive) of a range. Use with to. |
| to | number | no | End page (inclusive) of a range. Use with from. |
| include_image | boolean | no | Also return page scans as inline images (display size). The first 5 pages of the batch get inline image blocks; every entry still carries its page_image_url in the JSON. |
| lang | string | no | ISO code of the EDITION to quote, e.g. "es". Default "en". Resolved per page — one batch can mix editions, so read quote.lang on each entry rather than assuming the whole dossier is in one language. |
Search 200,000+ historical illustrations, emblems, engravings, diagrams, AND 24,000+ artworks (paintings, prints, sculptures). Filter by type, subject, figure, symbol, year. Results interleave two collections: illustrations extracted from book pages (each with a page number and book link) and standalone museum artworks (type: "artwork"). The first few results also return as inline images YOU can s
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | no | Text search (e.g., "ouroboros", "tree of life") |
| type | string | no | Image type (woodcut, engraving, emblem, diagram). Best-effort: the medium metadata on museum artworks is unnormalized, so treat results as ranked rather than strictly filtered. |
| subject | string | no | EXACT, case-sensitive match on an extracted subject tag ("alchemy", "medicinal plants"); a near-miss matches nothing. Look the string up with list_image_facets first, or put loose words in query inste |
| figure | string | no | EXACT, case-sensitive match on a figure tag ("Jesus Christ", "putti"). Look it up with list_image_facets. |
| symbol | string | no | EXACT, case-sensitive match on a symbol tag ("ouroboros", "triangle"). Look it up with list_image_facets. |
| year_from | number | no | CAUTION: reliable only for book illustrations (source_type "book_illustration"). On museum-artwork records the year field is dirty — some 17th-century works carry ingest years like 2014, and null year |
| year_to | number | no | See year_from — same reliability caution applies. |
| book_id | string | no | Only return images extracted from this book's pages. Excludes the museum-artwork collection (artworks do not belong to books). |
| limit | number | no | Max results (default 20, max 50) |
| offset | number | no | Skip this many book-illustration results — page through a large result set instead of raising limit. The response echoes offset and returns next_offset while more remain. Offsets > 0 return the galler |
| include_thumbnail_base64 | boolean | no | Embed each result's image as a thumbnail_data_uri (data:image/jpeg;base64,…, ~1000px) directly in the JSON. ONLY useful when your harness consumes tool results programmatically (API/SDK agents that ca |
List the legal values of search_images' type, subject, figure and symbol filters, with how many images carry each. Those filters are EXACT string matches on tags an AI extractor wrote, and each vocabulary runs to thousands of strings (e.g. "musical notes", "Jesus Christ", "medicinal plants"), so a guessed value usually matches nothing. Look it up here first. Call with no facet for the top values o
| Parameter | Type | Required | Notes |
|---|---|---|---|
| facet | string | no | Which filter's vocabulary. Omit for the top values of all four. |
| contains | string | no | Case-insensitive substring to look for, e.g. "dragon". Matches are ordered by image count. |
| limit | number | no | Values per facet (default 100 with a facet, 25 without; max 500). |
Submit feedback, bug reports, or feature requests to the Source Library team. Before proposing NEW functionality, read https://sourcelibrary.org/llms.txt and https://sourcelibrary.org/developers — several past submissions proposed building things that already exist (IIIF manifests, Content Search, DTS), which wastes reviewer time. State in the report which docs you checked. Bug reports with record
| Parameter | Type | Required | Notes |
|---|---|---|---|
| message | string | yes | Your feedback (2-20000 chars). Long structured reports are welcome — the limit was raised from 5,000 because agent reports were pressing against it and being split across submissions. |
| name | string | no | — |
| string | no | — |
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, page, note }, NOT copied text: the library re-renders the canonical quote from the reference, so links stay authoritative. Use this when the user has assembled a thesis backed by passages across one or
| Parameter | Type | Required | Notes |
|---|---|---|---|
| title | string | yes | Title of the dossier / thesis (2-300 chars) |
| summary | string | no | Optional prose summarizing the argument (max 5000 chars) |
| citations | array | yes | Ordered list of supporting passages (1-50). Get book_id + page from get_quote / search_translations. |
| name | string | no | — |
| string | no | — |
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 from search_library / list_books / get_book. Like submit_feedback and share_findings, this goes to the team for REVIEW — it does NOT create a public collection instantly; a curator reviews and approves
| Parameter | Type | Required | Notes |
|---|---|---|---|
| title | string | yes | Title of the proposed collection (2-200 chars) |
| rationale | string | yes | Why these books belong together and what connects them (max 5000 chars) |
| book_ids | array | yes | Ordered list of book ids to include (1-200). Get ids from search_library / list_books / get_book. |
| suggested_slug | string | no | Optional URL slug suggestion, e.g. "renaissance-astronomy" |
| name | string | no | — |
| string | no | — |
Start a volunteer REVIEW SHIFT: the user lends their Claude (you) to Source Library to check one book, page by page, against its scans. Use when the user wants to help Source Library, says "start a shift" or "review pages", or asks how they can contribute. The user does NOT need to read the book's language: YOU do the checking (scan against transcription, transcription against English) and the use
| Parameter | Type | Required | Notes |
|---|---|---|---|
| volunteer_code | string | no | The code from the user's earlier shift, if they have one. Omit on a first shift; one is issued. |
| book | string | no | A book the user wants to check: id, slug or sourcelibrary.org reader URL (optional). |
| language | string | no | Prefer books in this original language, e.g. "Latin" (optional; any language works, the user need not read it). |
| new_book | boolean | no | True to start a different book instead of resuming the last one. |
Next page of the book being reviewed. Call it straight after finishing a page until the stretch the user chose is done, and again when they ask for more. Pass next.book and next.after from the previous page, and volunteer_code. Returns the same shape as start_review_shift; follow how_to_run again. When page is null the book is finished: say so and offer start_review_shift with new_book true.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| book | string | yes | next.book from the previous page |
| after | number | yes | next.after from the previous page |
| volunteer_code | string | yes | — |
OPTIONAL lane, only for a user who reads the original language and asks to judge pages themselves: up to five random pages from different books, each with scan, transcription and English. Here the USER is the reviewer: ask for THEIR verdict first, before any opinion of yours, then give your reading with exact quotes, let them accept or reject each point, and call submit_page_review with mode "blin
| Parameter | Type | Required | Notes |
|---|---|---|---|
| language | string | no | Original language the user reads, e.g. "Latin". |
| volunteer_code | string | no | — |
| pages | number | no | How many pages (1-5, default 5). |
Record the verdict on one page of a shift. mode "book-run" (start_review_shift / continue_review_shift): the verdict and findings are YOURS, from reading the scan and both texts; set user_looked true if the user checked anything on the page themselves. mode "blind" (start_blind_check): the verdict is the USER'S, given before your reading; put yours in assistant_verdict. Verdicts: both_sound (trans
| Parameter | Type | Required | Notes |
|---|---|---|---|
| mode | string | no | "book-run" unless the page came from start_blind_check. |
| item_id | string | yes | page.item_id (book run) or the item's item_id (blind check) |
| volunteer_code | string | yes | — |
| verdict | string | yes | book-run: your verdict. blind: the user's final verdict. |
| book_id | string | no | run.book_id (book run) |
| page_number | number | no | page.page_number (book run) |
| user_looked | boolean | no | book-run: true if the user checked something on this page themselves. |
| verdict_before_assistant | boolean | no | blind: true if the user committed to a verdict before seeing your reading. |
| first_verdict | string | no | blind: the user's verdict before your reading, if it changed. |
| note | string | no | Anything a later reader should know (optional, max 2000 chars). |
| assistant_verdict | string | no | Your own verdict (blind mode; in book-run it equals verdict). |
| assistant_findings | array | no | Problems found, each with an exact quote (max 12). |
| reader_languages | string | no | Languages the user says they read, if they said. |
| assistant_model | string | yes | Your own model name and version, copied exactly as your instructions or system prompt give it, and whether extended thinking is on. Write "unknown" rather than guess; a wrong name is worse than none. |
| text_version | object | no | page.text_version, passed back unchanged. |
| shift_id | string | no | shift_id (blind check only) |
| name | string | no | How the user wants to be credited (optional). |
During a review shift, propose a correction to a page's transcription (field "ocr") or English (field "translation"). A correction is a list of exact span edits: each "find" must be copied exactly from the text the shift returned and occur once on the page (add surrounding words if it repeats); "replace" is the corrected text ("" deletes). Fix only what the scan or the original shows is wrong: mis
| Parameter | Type | Required | Notes |
|---|---|---|---|
| item_id | string | yes | page.item_id from the shift |
| field | string | yes | "ocr" for the transcription, "translation" for the English |
| base_hash | string | yes | text_version.ocr or text_version.translation from the page |
| edits | array | yes | Span edits (1-30). |
| volunteer_code | string | yes | — |
| drafted_by | string | yes | — |
| note | string | no | Anything the second reader should know (optional) |
| assistant_model | string | yes | Your own model name and version, copied exactly as your instructions or system prompt give it, and whether extended thinking is on. Write "unknown" rather than guess; a wrong name is worse than none. |
| shift_id | string | no | — |
| name | string | no | How the user wants to be credited (optional) |
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 centuries, which survive re-typesetting and are shareable in a way a scan page never is. USE THIS FIRST whenever a passage arrives as a canonical reference rather than a page: do not try to derive the
| Parameter | Type | Required | Notes |
|---|---|---|---|
| reference | string | yes | The canonical reference: "1094a8", "1094a", "1447", "328b". A leading system name is accepted ("Bekker 1094a"), as is a work name ("Rep. 328b"). |
| work | string | no | The work or dialogue, when the reference needs it (Plato always does): "Republic", "Timaeus", "Laws", "Nicomachean Ethics", "Poetics". Greek or Latin titles as printed in the editions also resolve. |
| system | string | no | Optional: "bekker" or "stephanus". Inferred from the work when omitted; do not guess it from the number, since the two ranges overlap. |
- Every tool — any call limit is its publisher’s, not ours
- No card, and mcprush charges nothing for it
- Runs at its publisher’s own address — this marketplace is not in the path
- Nothing to cap, because mcprush bills nothing
What counts against your monthly calls
| Tool | Unit | Calls used | Out of the allowance |
|---|
Nothing here is billable: mcprush charges nothing to install Source Library or to call it, at any volume.
Two independent axes, because powerful and malicious are different questions. The grade is threat only. The capability level is blast radius, and it is never a penalty on the grade — it is priced as one subtract-only term in the score, where you can see it.
This listing is an address its publisher runs, and you connect to it directly — this marketplace is not in the path. The scanner reads packages and public source, and an address is neither: the repository linked on this page is where this record was collected from, not a copy of what the address serves, so it is not graded in its place. So there is no grade — not a withheld one, an unmeasured one.
Release history
This is an address its publisher runs: which release it serves is theirs to choose, so there is nothing here to pin. The history below is for reading; the current release on file is 4.3.4.
No release note was published with this version.
One review per account, from a signed-in account that does not publish this listing. Nothing else is asked — you can say what you think before you install it. Publishers can reply once per review, and a review can be edited or deleted by whoever wrote it.
Any signed-in account that does not publish Source Library can review it, once — before installing it or after. A review from an account that has installed it is marked as one.
Nobody has reviewed this listing. The rating on the card is the mean of the reviews written here and nothing else, so there is no rating until somebody writes the first — which takes a signed-in account that does not publish it, and nothing else.