Skip to main content
Glama

Save a word to Koboshi

save_word
Idempotent

Adds one word, phrase or idiom to the user's own Koboshi vocabulary, so their spaced-repetition reviews bring it back. The word is saved in the one language it is written in. Koboshi looks it up as part of this call: when it already holds a card the save completes, and when it is new the result carries the card rules and the call is repeated with the finished card. Saving the same word twice does not create a second entry. One call saves the one word it was given and nothing else, unless "save_languages" names the words the user picked. Several different words from one request belong in save_words instead. A saved phrase or idiom counts one word for every 10 words it holds toward the account's 100-word daily limit, so a long one can use up more than one. The result shows the word in every language on the account, for reading. Cards Koboshi lacks are written by the AI in the chat from Koboshi's rules and sent in "translations"; Koboshi checks them and keeps them for its own review, and they add nothing to the vocabulary by themselves. Optional: "sense" names which meaning of an ambiguous word was wanted: a new word is saved with it, and a word already saved adds that meaning (its first meaning stays); "context_sentence" keeps the sentence the word appeared in as the user's own private example.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cardNoThe card you wrote, only needed when the word is new to Koboshi.
wordYesThe word, phrase or idiom to save, written in its own language.
senseNoWhich meaning the user wants, in a few words, e.g. "the body-tissue sense, not the paper one". Only when they have said so. For a word they already saved it adds that meaning as one more, keeping the first.
conceptNoThe shared English label for this meaning, one word where one exists: "echo" covers yamabiko, eco and goonj alike. Koboshi links words carrying the same label, so the user sees this word beside the same concept in their other languages.
translationsNoCards for this word in the account's other languages, written from the translation card rules a result gave, one per language, each with "language". Koboshi keeps them for its check; they reach the vocabulary only through save_languages.
save_languagesNoThe languages of the words the user picked from the result: the word itself and its words in the account's other languages. Given, it is the whole list: the word in each language named is saved, and the word itself only when its own language is in the list. Left out, the save covers the one word.
context_sentenceNoThe sentence the word appeared in, when it came from text in this conversation. Kept as the user's own example on their saved word: private to them and never added to the shared dictionary. Up to 500 characters.
primary_languageNo
learning_languageNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / primary_language / enum
      Previous value: -[
      -  "en",
      -  "es",
      -  "ja",
      -  "de",
      -  "ko",
      -  "zh",
      -  "ur",
      -  "hi",
      -  "pt",
      -  "fr",
      -  "it",
      -  "ru",
      -  "nl",
      -  "tr",
      -  "vi",
      -  "fil",
      -  "bn",
      -  "nb",
      -  "ar",
      -  "id",
      -  "th"
      -]New value: +[
      +  "en",
      +  "es",
      +  "ja",
      +  "de",
      +  "ko",
      +  "zh",
      +  "ur",
      +  "hi",
      +  "pt",
      +  "fr",
      +  "it",
      +  "ru",
      +  "nl",
      +  "tr",
      +  "vi",
      +  "fil",
      +  "bn",
      +  "nb",
      +  "ar",
      +  "id",
      +  "th",
      +  "kk",
      +  "fa"
      +]
  2. Changed3 schema fields changed
    • changedInput schema / properties / learning_language / enum
      Previous value: -[
      -  "en",
      -  "es",
      -  "ja",
      -  "de",
      -  "ko",
      -  "zh",
      -  "ur",
      -  "hi",
      -  "pt",
      -  "fr",
      -  "it",
      -  "ru",
      -  "nl",
      -  "tr",
      -  "vi",
      -  "fil",
      -  "bn",
      -  "nb",
      -  "ar",
      -  "id",
      -  "th"
      -]New value: +[
      +  "en",
      +  "es",
      +  "ja",
      +  "de",
      +  "ko",
      +  "zh",
      +  "ur",
      +  "hi",
      +  "pt",
      +  "fr",
      +  "it",
      +  "ru",
      +  "nl",
      +  "tr",
      +  "vi",
      +  "fil",
      +  "bn",
      +  "nb",
      +  "ar",
      +  "id",
      +  "th",
      +  "kk",
      +  "fa"
      +]
    • changedInput schema / properties / save_languages / items / enum
      Previous value: -[
      -  "en",
      -  "es",
      -  "ja",
      -  "de",
      -  "ko",
      -  "zh",
      -  "ur",
      -  "hi",
      -  "pt",
      -  "fr",
      -  "it",
      -  "ru",
      -  "nl",
      -  "tr",
      -  "vi",
      -  "fil",
      -  "bn",
      -  "nb",
      -  "ar",
      -  "id",
      -  "th"
      -]New value: +[
      +  "en",
      +  "es",
      +  "ja",
      +  "de",
      +  "ko",
      +  "zh",
      +  "ur",
      +  "hi",
      +  "pt",
      +  "fr",
      +  "it",
      +  "ru",
      +  "nl",
      +  "tr",
      +  "vi",
      +  "fil",
      +  "bn",
      +  "nb",
      +  "ar",
      +  "id",
      +  "th",
      +  "kk",
      +  "fa"
      +]
    • changedInput schema / properties / translations / items / properties / language / enum
      Previous value: -[
      -  "en",
      -  "es",
      -  "ja",
      -  "de",
      -  "ko",
      -  "zh",
      -  "ur",
      -  "hi",
      -  "pt",
      -  "fr",
      -  "it",
      -  "ru",
      -  "nl",
      -  "tr",
      -  "vi",
      -  "fil",
      -  "bn",
      -  "nb",
      -  "ar",
      -  "id",
      -  "th"
      -]New value: +[
      +  "en",
      +  "es",
      +  "ja",
      +  "de",
      +  "ko",
      +  "zh",
      +  "ur",
      +  "hi",
      +  "pt",
      +  "fr",
      +  "it",
      +  "ru",
      +  "nl",
      +  "tr",
      +  "vi",
      +  "fil",
      +  "bn",
      +  "nb",
      +  "ar",
      +  "id",
      +  "th",
      +  "kk",
      +  "fa"
      +]
  3. Changed1 schema field changed
    • addedInput schema / properties / word / description
      Added value: +"The word, phrase or idiom to save, written in its own language."
  4. First observed

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover the safety profile (readOnly=false, destructive=false, idempotent=true, openWorld=false), so the bar is lower; the description still adds real context: the two-phase lookup/save flow with card rules and repeat call, the quota rule (a phrase counts one word per 10 words toward the 100-word daily limit), and that translations are kept only for Koboshi's check. The idempotency sentence ('Saving the same word twice does not create a second entry') restates idempotentHint rather than adding to it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core purpose is front-loaded in the first clause, but the description then becomes a dense wall of interleaved rules about quota, cards, translations and optional parameters. Given the tool's 9-parameter complexity some length is warranted, yet several sentences bundle multiple distinct rules and would read better as separated points.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 9-parameter mutation with nested objects and no output schema, the description covers the important gaps: what the call returns on a new versus existing word, what the card-rules repeat call means, the quota impact, and the privacy of context_sentence. It stops short of describing failure modes or what to do if translation cards are rejected.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 78% schema coverage and rich per-parameter schema text, baseline is 3, but the prose adds meaning beyond it: sense distinguishes adding a new meaning from extending an existing one ('its first meaning stays'), save_languages is specified as a whole-list replacement behavior when supplied, and context_sentence is clarified as user-private with a 500-character limit.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Adds one word, phrase or idiom to the user's own Koboshi vocabulary') and immediately distinguishes itself from save_words by routing multi-word requests elsewhere. An agent can identify the tool's job and its boundary against the closest sibling without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Names the alternative for multi-word requests ('Several different words from one request belong in save_words instead') and explains that save_languages is the mechanism for saving the user's picked words. It lacks any guidance relative to lookup_word/get_languages and never states when not to save at all, so it is clear but not fully complete.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources