Resolve documentation ownership, edit roots, checks, and human handoffs before an agent edits code.
Lingard Vocab 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
Build and enrich your Lingard vocabulary: topic collections, flashcards, translations, examples.
Quickstart
# 1 — add it to Claude Code
claude mcp add --scope user --transport http lingard-vocab-mcp https://lingard.app/mcp
# 2 — ask your agent for something these tools do
# search, fetch, lingard_get_learning_context and 12 more
Lingard Vocab 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 lingard-vocab-mcp https://lingard.app/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.
15 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.
Searches the user's live Lingard account: vocabulary, learning context, English profile, totals, collection titles, saved words, flashcards, and missing vocabulary fields. Results are read from Firestore at the time of the call.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| query | string | no | Search query, for example "English learning context" or "saved vocabulary collections". |
| q | string | no | Alias for query. |
| targetLang | string | no | Lingard target language code such as en, de, es, fr, it, pl, or pt. Defaults to en when the prompt asks about English. |
Fetches the full live Lingard JSON record for a search-result id (e.g. "learning-context:en") or a Lingard resource URI such as lingard://learning-context/en.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| id | string | no | Preferred selector: a search-result id, e.g. "learning-context:en". Takes id OR uri (not both); if both are given, id wins. |
| uri | string | no | Alternative selector, used only when id is omitted: a Lingard resource URI, e.g. "lingard://learning-context/en". |
| targetLang | string | no | Fallback used only when neither id nor uri is provided: a language code (en, de, es, fr, it, pl, pt) whose learning context to fetch. |
Returns the user's current Lingard learning context, read live from their account: English profile, vocabulary totals, saved collections and their titles, card counts, and missing-field stats. Earlier answers in the conversation may be out of date; this is the account as it stands now. The list covers every collection the account has, so the per-collection counts add up to the card total (totals.t
| Parameter | Type | Required | Notes |
|---|---|---|---|
| targetLang | string | yes | — |
Returns live cards from one Lingard vocabulary collection by UUID or title, including curated Lingard collections and the "Words not in a collection" bucket of cards saved while reading. With includeExamples:true it also returns each card's example sentences and their translations, which editing examples starts from.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| targetLang | string | yes | — |
| collectionUuid | string | no | Collection selector (preferred): its UUID. One of collectionUuid or collectionTitle is required. |
| collectionTitle | string | no | Collection selector (alternative to collectionUuid): the collection title. |
| limit | integer | no | Optional max number of cards to return (1–1000). |
| includeExamples | boolean | no | Default false. True returns the full example rows (examples: example text, translation line, enabled flag) for every card instead of just the exampleCount. |
Returns live Lingard cards in a collection that are missing requested fields such as translation, POS, pronunciation, examples, or image. A curated Lingard collection always reports zero gaps: its words come from the Lingard catalog and are not the user's to fill.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| targetLang | string | yes | — |
| collectionUuid | string | no | Collection selector: its UUID. One of collectionUuid or collectionTitle is required (UUID wins if both are given). |
| collectionTitle | string | no | Collection selector (alternative to collectionUuid): the collection title. |
| fields | array | no | Optional. An ARRAY of field-name strings, not a bare string: e.g. ["translation"] for one field or ["translation","image"] for several. Returns cards missing ANY listed field; without it every field i |
| limit | integer | no | — |
Returns live Lingard profile level, topic, collection context, and the words the user already has: the context for suggesting level-appropriate new cards that are not duplicates.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| targetLang | string | yes | — |
| topic | string | no | — |
| level | string | no | — |
| count | integer | no | — |
| collectionUuid | string | no | — |
| collectionTitle | string | no | — |
| excludeLimit | integer | no | — |
Previews a Lingard vocabulary collection/card change without writing to Firestore. Cards are checked as on commit. Unless allowIncompleteCards is true, a new card needs title, translate, pos, pron/ipa, syns, and examples with translations; image is optional. A German or Romance noun title carries its dictionary article when one is used, e.g. der Hund, die Reise, das Haus. In example text and examp
| Parameter | Type | Required | Notes |
|---|---|---|---|
| targetLang | string | yes | — |
| change | object | yes | — |
Commits a previously previewed or freshly supplied Lingard vocabulary change. Unless allowIncompleteCards is true, a new card needs title, translate, pos, pron/ipa, syns, and examples with translations; image is optional. A German or Romance noun title carries its dictionary article when one is used, e.g. der Hund, die Reise, das Haus. In example text and example translation the target word and th
| Parameter | Type | Required | Notes |
|---|---|---|---|
| targetLang | string | yes | — |
| change | object | yes | — |
Creates a Lingard vocabulary collection, optionally with initial cards; commit=true writes it. Unless allowIncompleteCards is true, a new card needs title, translate, pos, pron/ipa, syns, and examples with translations; image is optional. A German or Romance noun title carries its dictionary article when one is used, e.g. der Hund, die Reise, das Haus. In example text and example translation the t
| Parameter | Type | Required | Notes |
|---|---|---|---|
| targetLang | string | yes | — |
| collectionTitle | string | yes | — |
| topic | string | no | — |
| color | string | no | — |
| pic | string | no | — |
| icon | string | no | — |
| cards | array | no | — |
| allowIncompleteCards | boolean | no | Default false. True marks the cards as a sparse import that the user asked for; it lets them through without the complete-card fields (everything except image, the dictionary article on a German/Roman |
| commit | boolean | no | — |
Adds cards to an existing Lingard collection, deduplicating by normalized word title; commit=true writes them. Only collections with writable="full" accept new cards: curated Lingard collections are read-only and the unfiled bucket takes no new cards. Unless allowIncompleteCards is true, a new card needs title, translate, pos, pron/ipa, syns, and examples with translations; image is optional. A Ge
| Parameter | Type | Required | Notes |
|---|---|---|---|
| targetLang | string | yes | — |
| collectionUuid | string | no | — |
| collectionTitle | string | no | — |
| cards | array | yes | — |
| mergeMode | string | no | What to do with a word that is already in the collection: "fill_missing" (default) fills its empty fields, "add_only" leaves it as it is. |
| allowIncompleteCards | boolean | no | Default false. True marks the cards as a sparse import that the user asked for; it lets them through without the complete-card fields (everything except image, the dictionary article on a German/Roman |
| commit | boolean | no | — |
Fills empty fields on existing Lingard cards. It never overwrites or clears a field that already has a value. Works on the user's own collections and on the "Words not in a collection" bucket; curated Lingard collections are read-only because their content comes from the Lingard catalog. commit=true writes.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| targetLang | string | yes | — |
| collectionUuid | string | no | — |
| collectionTitle | string | no | — |
| cards | array | yes | — |
| commit | boolean | no | — |
Rewrites only the translation line of examples that already exist on Lingard cards; the example sentence, its {} highlights and its audio/typing markers are left exactly as they are. It changes, adds, or removes example translations; an empty translation is a supported card state, not an error. translations holds one entry per existing example, in order, so it is built from the card's current ex
| Parameter | Type | Required | Notes |
|---|---|---|---|
| targetLang | string | yes | — |
| collectionUuid | string | no | Optional default collection for cards addressed by title. |
| collectionTitle | string | no | Optional default collection title for cards addressed by title. |
| cards | array | yes | One entry per card to edit. Each entry needs a card selector (cardId, or title plus a collection when the word occurs in several) and translations. |
| commit | boolean | no | True writes. Default false returns the resulting examples without saving. |
Attaches supplied images to existing Lingard cards. It does not generate images: each entry carries the image itself as imageBase64 or dataUri, or an imageUrl that the server downloads. PNG, JPEG, WebP, and SVG inputs are converted to WebP and uploaded as private custom card images; an image the card already has is replaced. commit=true writes.
| Parameter | Type | Required | Notes |
|---|---|---|---|
| targetLang | string | yes | — |
| collectionUuid | string | no | — |
| collectionTitle | string | no | — |
| images | array | yes | One entry per card to illustrate. Each entry needs a card selector (cardId or title) and exactly one image source (imageBase64, dataUri, or imageUrl). |
| commit | boolean | no | True uploads and attaches. Default false returns a dry-run preview without writing. |
Lists, for one language, the user's collections and sources (books, the news) and which of them are on pause. A collection or source on pause gives the automatic «Now learning» sessions no words — no new words and no reviews — and is not counted in the day's goals or reminders; opening it in the app still studies it as usual. Each entry carries the exact uuid, bookKey, and title that pause changes
| Parameter | Type | Required | Notes |
|---|---|---|---|
| targetLang | string | yes | The learned language, e.g. en, de, es, fr. |
Puts collections and sources on pause or takes them off it, for one language — e.g. "study only my Travel collection this week", "pause the news words", "resume everything". action: "pause" or "resume" the listed ones; "only" — resume the listed ones and pause every other collection and source of the language; "resume_all" — take every pause off (lists ignored). Collections are named by uuid or ex
| Parameter | Type | Required | Notes |
|---|---|---|---|
| targetLang | string | yes | The learned language, e.g. en, de, es, fr. |
| action | string | yes | — |
| collections | array | no | Collections by uuid or exact title. |
| sources | array | no | Sources by bookKey (catalog:… / imported:…) or exact title. |
| commit | boolean | no | True writes. Default false returns a preview without writing. |
- 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 Lingard Vocab 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.
| Term | Level | What it prices | Points |
|---|---|---|---|
| capability-exposure | moderate | capability blast radius (moderate) — client exposure if the model is manipulated | −3 |
| coverage-honesty | manifest | inspection depth (manifest) — how much of the target the scan could see | −4 |
What the scan could actually read
A grade is only as meaningful as its coverage, so the scanner publishes its own depth before it publishes its result.
The scan read each tool’s name, description, input schema and annotations exactly as the server listed them the last time it answered us; no code was reviewed. We ask the server again about once a month, and a list that changed is graded again.
The implementation source was not read — this reflects the declared tool metadata only.
Capability — what it could do if the model were manipulated
Tags derived from each tool’s schema and the implementation, not from what the tool calls itself. moderate is the level these add up to.
| Tool | Capability tags | Why the tag was assigned |
|---|---|---|
| search | no tags | |
| fetch | untrusted-input | untrusted-input: keyword "fetch" |
| lingard_get_learning_context | no tags | |
| lingard_get_vocab_collection | no tags | |
| lingard_get_collection_gaps | no tags | |
| lingard_get_word_suggestion_context | no tags | |
| lingard_preview_vocab_changes | no tags | |
| lingard_commit_vocab_changes | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| lingard_create_vocab_collection | state-write | state-write: declares readOnlyHint: false |
| lingard_add_words_to_collection | state-write | state-write: declares readOnlyHint: false |
| lingard_fill_missing_card_fields | state-write | state-write: declares readOnlyHint: false |
| lingard_update_example_translations | state-write | state-write: declares readOnlyHint: false, destructiveHint: true |
| lingard_attach_card_images | external-sink | external-sink: declares readOnlyHint: false, destructiveHint: true, openWorldHint: true |
| lingard_get_learning_pauses | no tags | |
| lingard_set_learning_pauses | state-write | state-write: declares readOnlyHint: false |
Toxic-flow graph
The lethal trifecta, checked as a graph rather than as a checklist: untrusted input, a sensitive source and an external sink have to meet before there is a path worth worrying about.
Supply chain and provenance
This is the first scan of this surface here, so there is nothing yet to compare it against.
Every result on this tab comes from one deterministic pass over the published package — offline, rule by rule, and auditable line by line above. Same methodology version, same bytes, same score.
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 0.5.8.
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 Lingard Vocab 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.