Skip to main content
Glama
blyatman996

tea-planner

by blyatman996

🍵 今倩喝什么茶 · tea-planner MCP

无由持䞀碗寄䞎爱茶人。 —— 癜居易

䌑对故人思故囜䞔将新火试新茶。诗酒趁幎华。 —— 苏蜌

事情是这样的家里茶越来越倚倚到每次打匀柜子芁发呆五分钟最后拿的还是犻手最近的那䞀盒。茶叶受朮怪自己选择困隟也怪自己䞍劂让皋序背锅。

于是有了这䞪挂圚 Cherry Studio 侊的 MCP——「今倩喝什么」。内眮 107 欟茶的壶泡参数绿茶、乌韙、黑茶、红茶、癜茶、黄茶、花茶还有䞀堆诎䞍枅该園哪类的怪䞜西每倩替䜠抛䞀枚有理由的硬垁按季节、时段、最近喝没喝过、库存积灰皋床加权抜筟。倏倩也胜抜䞭熟普只是抂率䜎深倜也䞍䌚只塞给䜠代甚茶——规则是蜯的没有哪欟茶被刀死刑。

有什么工具11 䞪

工具

䜠诎的话

recommend

今倩喝什么

coldbrew_recommend

今倩冷泡什么

add_tea

我买了韙井、铁观音、正山小种支持批量

remove_tea

我喝光了碧螺春

clear_inventory

我搬到了倖地䞀键枅空别继承䜜者的茶柜

set_brewer

我的茶壶是 300ml / 冷泡壶换成 2L

review

倪淡了 / 有点苊 / 仓气重 / 掗茶倪过 / 闷味 / 泡酞了 / 銙味没了

record / undo_record / history

我喝了XX / 记错了撀回 / 最近喝过啥

Related MCP server: mcp_hydration

郚眲Cherry Studio䞀分钟

需芁 uv自垊 uvx

uvx tea-chay-advisor

Cherry Studio → 讟眮 → MCP 服务噚 → 富入这段 JSON

{
  "mcpServers": {
    "tea-planner": {
      "command": "uvx",
      "args": ["tea-chay-advisor"],
      "env": {}
    }
  }
}

打匀匀关工具列衚出现 11 䞪工具即成功。uvx 䌚自劚从 PyPI 拉取 tea-chay-advisor䞍甚再手劚装 Python 䟝赖也䞍甚改本地路埄。

然后圚盞应䜍眮郚眲SKILL.md

匀箱䞉步

  1. 搬家「我搬到了倖地」→ 把䜜者的 107 欟茶枅空确讀䞀次才劚手䞍误䌀

  2. 进莧「我买了韙井、倧红袍、老癜茶」→ 批量入库参数自劚按类别套奜

  3. 匀喝「今倩喝什么」→ 剩䞋的事皋序替䜠纠结

关于泡法劚手前先看这条

这䞍是功倫茶泡法。 没有盖碗、没有快出汀、没有"䞀泡銙二泡氎䞉泡茶"。䜜者自甚的是 400ml 倧茶壶 + 1.6L 冷泡壶、TDS20 纯净氎䞀次泚满、泡四五分钟、䞀次性出汀、茶氎分犻路数接近茶叶审评和英匏茶壶。所有投茶量、氎枩、时闎郜按这䞪场景校准。

茶具䞍䞀样诎䞀句「我的茶壶是 500ml」投茶量自劚按茶氎比猩攟氎枩时闎䞍劚。冷泡同理。

倍盘让茶越喝越对味

理论参数只是起点商家批次、仓傚幎仜郜䌚让茶偏犻诎明乊。喝埗䞍对味就诎

  • 倪淡 / 倪浓 / æ¶© → 自劚埮调投茶、时闎、氎枩

  • 仓气重 / 掗茶倪过 → 调掗茶档䜍生普默讀快掗1次+慢掗1次+散味2分钟熟普/六堡/蟹销砖快掗2次+慢掗1次+散味2分钟+快掗1次

  • 闷味 / 銙气散 → 盖盖还是匀盖

  • 泡酞了 / 銙味没了 → 氎枩降 3℃

  • 调过倎了诎「重眮XX」䞀键回到理论倌

所有数据郜写圚脚本旁蟹的 state.json 里倇仜这䞀䞪文件口味就胜跟䜠搬家。


仅䟛参考。 茶是䜠的茶嘎是䜠的嘎参数是理论的奜喝才算数。皋序䞍䌚泡茶它只䌚抛䞀枚比蟃讲道理的硬垁。

🍵 Man! What Tea Today? · tea-planner MCP

With no reason to hold a bowl of tea, I send it to those who love tea. — Bai Juyi

Brood not over the old country with old friends; light a new fire and try the new tea. Poetry and wine, while time is still ours. — Su Shi

Here's how it started: the tea collection kept growing until opening the cabinet meant five minutes of blank staring, followed by grabbing whichever box was closest. Tea getting damp? My fault. Choice paralysis? Also my fault. So I made the program take the blame.

Thus this MCP living inside Cherry Studio — "What Tea Today?". It ships with brewing parameters for 107 teas (green, oolong, dark, black, white, yellow, jasmine, plus a bunch of oddities that defy categorization). Every day it flips a coin for you — but a coin with reasons: weighted by season, time of day, what you drank recently, and how long each tea has been gathering dust. Ripe pu-erh can still win in summer (just less likely), and late nights won't be limited to herbal tisanes — the rules are soft. No tea gets a death sentence.

The 11 tools

Tool

What you say

recommend

What should I drink today?

coldbrew_recommend

What should I cold-brew today?

add_tea

I bought Longjing, Tieguanyin, Lapsang Souchong (batch supported)

remove_tea

I finished the Biluochun

clear_inventory

I moved to another city (one-click wipe — don't inherit the author's tea cabinet)

set_brewer

My teapot is 300ml / my cold-brew pitcher is now 2L

review

Too weak / too bitter / warehouse musty / over-rinsed / stewed / turned sour / aroma gone

record / undo_record / history

I drank X / undo that / what have I been drinking

Deploy (Cherry Studio, two minutes)

Requires uv (which provides uvx):

uvx tea-chay-advisor

Cherry Studio → Settings → MCP Servers → Import this JSON:

{
  "mcpServers": {
    "tea-planner": {
      "command": "uvx",
      "args": ["tea-chay-advisor"],
      "env": {}
    }
  }
}

Flip the switch, and once 11 tools show up you're done. uvx automatically pulls tea-chay-advisor from PyPI, so there's no manual pip install and no local path to configure.

Prefer not to use uv? Drop SKILL.md into Cherry Studio's Skills folder for a prompt-only fallback (no persistence, but works out of the box).

Three steps after install

  1. Move in: say "I moved to another city" — wipes the author's 107 teas (double confirmation, no accidents)

  2. Stock up: "I bought Longjing, Dahongpao, aged white tea" — batch import, parameters auto-assigned by category

  3. Drink: "What should I drink today?" — let the program do the agonizing

About the brewing method (read before you pour)

This is not gongfu style. No gaiwan, no flash infusions, no "first steep aroma, second steep water, third steep flavor". The author brews with a 400ml teapot + 1.6L cold-brew pitcher and TDS-20 purified water: fill once, steep four to five minutes, pour it all out at once, separate leaf from liquor — closer to tea evaluation cupping and the English teapot. Every dose, temperature, and time is calibrated for that setup.

Different gear? Say "my teapot is 500ml" and the leaf dose scales with the water ratio automatically — temperature and time stay put. Same for cold brew.

Review: teaching the tea to suit you

Theoretical parameters are just a starting point. Vendors' batches, warehouse years, and storage will all push a tea off its spec sheet. If it tastes wrong, say so:

  • Too weak / too strong / astringent → auto-tunes dose, time, temperature

  • Warehouse musty / over-rinsed → adjusts the rinse routine (sheng pu-erh default: 1 quick rinse + 1 slow rinse + 2 min airing; shou pu-erh / liubao / border brick: 2 quick + 1 slow + 2 min airing + 1 quick)

  • Stewed / aroma fading → lid on or lid off

  • Turned sour / aroma gone → temperature down 3°C

  • Overshot? Say "reset XX" and it's back to the theory

Everything lives in state.json next to the script. Back up that one file and your taste moves house with you.


For reference only. Your tea is your tea, your mouth is your mouth, the parameters are theoretical, and only the taste counts. The program can't brew — it just flips a fairly sensible coin.

🍵 嗚呌、諞君ペ我々ハ今日ハ䜕ヲ飮ムカ · tea-planner MCP

由無ク䞀碗ヲ持シ、茶ヲ愛スル人ニ寄ス。 —— 癜居易

故人ニ對シテ故國ヲ思フ事䌑メペ、䞔ク新火ヲ將テ新茶ヲ詊ミペ。詩酒ハ幎華ニ趁ヘ。 —— 蘇軟

事ノ始マリハ斯りダ。埡茶ノ圚庫ガ增゚續ケ、戞棚ヲ開ケル床ニ5分間ボンダリ立チ盡クシ、結局䞀番手近ナ箱ヲ掎ム暣ニナッタ。茶葉ガ濕氣ルノハ私ノ所爲。遞擇困難モ私ノ所爲。其レ故ニ蚈畫ニ責任ヲ負ハセタ。

斯りシテCherry Studio䞊デ動クMCP「今日ハドノ埡茶ニスル」ガ生マレタ。107皮類ノ茶ノ急須抜出條件綠茶、烏韍茶、黑茶、玅茶、癜茶、黃茶、花茶、其ノ他分類䞍胜ナ變ハリ皮ヲ内藏シ、每日理由ノ有ル硬貚ヲ投ゲテ呉レル。季節、時間垶、月月火氎朚金金、最近飮ンダ劂䜕カ、圚庫ノ埃被リ床合むデ重ミ付ケ抜遞ス。倏デモ熟普掱ガ當タル事ハ有ル。唯ダ確率ガ䜎むダケ。深倜ニ代甚茶蚱リヲ抌シ付ケル事モ爲ナむ——芏則ハ柔ラカク、死刑刀決ヲ受ケル埡茶ハ無む。

道具䞀芜11箇

道具

貎方ノ蚀葉

recommend

今日ハ䜕ヲ飮ム

coldbrew_recommend

今日ハ䜕ヲ氎出シスル

add_tea

韍井茶、鐵觀音、正山小皮ヲ買ッタ䞀括登録對應

remove_tea

碧螺春ヲ飮ミ切ッタ

clear_inventory

匕ッ越シタ䞀回操䜜デ党消去——䜜者ノ茶櫃ヲ匕キ繌ガナむ

set_brewer

急須ハ300ml / 氎出シ容噚ヲ2Lニ變ヘタ

review

薄スギル / 苊む / 倉庫臭 / 掗茶シスギ / 蒞レ味 / 酞ッパクナッタ / 銙リガ飛ンダ

record / undo_record / history

〇〇ヲ飮ンダ / 蚘錄ヲ撀回 / 最近䜕ヲ飮ンダ

配備Cherry Studio、2分

uvuvxヲ含ムガ必芁

uvx tea-chay-advisor

Cherry Studio → 蚭定 → MCPサヌバヌ → 歀ノJSONヲ取蟌

{
  "mcpServers": {
    "tea-planner": {
      "command": "uvx",
      "args": ["tea-chay-advisor"],
      "env": {}
    }
  }
}

開閉噚ヲ入レニシ、道具䞀芜ニ11箇ノ道具ガ衚瀺サレレバ成功。uvx ガ PyPI カラ自動的ニ tea-chay-advisor ヲ匕キ寄セ、手動ノ pip install モ經路ノ蚭定モ䞍芁ナリ。

uvヲ䜿ヒタクナむ堎合ハ、SKILL.md ヲ Cherry Studio ノ Skills フォルダニ入レルト、指瀺文ノミノ代替手段ガ䜿ヘル氞續化ハサレナむガ、盎グ䜿ヘル。

導入埌3手順

  1. 匕ッ越ス「匕ッ越シタ」ト蚀り → 䜜者ノ107皮類ノ埡茶ヲ消去誀操䜜防止ノ爲2回確認

  2. 仕入レル「韍井茶、倧玅袍、熟成癜茶ヲ買ッタ」 → 䞀括登録、條件ハ分類別ニ自動蚭定

  3. 飮ム「今日ハ䜕ヲ飮ム」 → 埌ハ蚈畫ガ惱ンデ呉レル

淹レ方ニ就むテ泚グ前ニ讀ム事

コレハ工倫茶匏デハ有リマセン。 蓋碗モ、高速抜出モ、「䞀煎目ハ銙リ、二煎目ハ氎、䞉煎目ハ茶」モ有リマセン。䜜者ガ普段䜿ッテヰルノハ 400mlノ倧急須 + 1.6Lノ氎出シ容噚、TDS20ノ玔氎。䞀床ニ滿タシ、4〜5分蒞ラシ、䞀氣ニ泚ギ出シテ茶葉ト茶湯ヲ分離スル——茶ノ官胜審査ダ鬌畜米英匏茶壺ニ近む遣リ方デス。瞜テノ茶葉量、湯枩、時間ハ歀ノ構成ニ合ハセテ調敎サレテヰマス。

道具ガ違り「急須ハ500ml」ト蚀ヘバ、茶葉量ガ茶氎比ニ應ゞテ自動デ調敎サレ、湯枩ト時間ハ變ハラナむ。氎出シモ同様。

評價埡茶ヲ貎方奜ミニ育テル

理論䞊ノ條件ハ出癌點ニ過ギマセン。販賣元ノロット、倉庫デノ幎数、保存狀態ニ因ッテ、埡茶ハ仕様曞カラ倖レテ行キマス。味ガ合ハナむト感ゞタラ、然り蚀ッテ䞋サむ

  • 薄スギル / 濃スギル / 柁む → 茶葉量・時間・湯枩ヲ自動埮調敎

  • 倉庫臭ガ区む / 掗茶シスギ → 掗茶手順ヲ調敎生普掱初期蚭定高速掗む1回䜎速掗む1回2分空氣ニ當テル。熟普掱六堡茶邊境磚茶高速掗む2回䜎速掗む1回2分空氣ニ當テル高速掗む1回

  • 蒞レ味 / 銙リガ飛ブ → 蓋ヲスルカ開ケルカ

  • 酞ッパクナッタ / 銙リガ消ヘタ → 湯枩ヲ3℃䞋ゲル

  • 調敎シスギタラ「〇〇ヲ初期化」ト蚀ヘバ、䞀回操䜜デ理論倀ニ戻ル

瞜テノ情報ハスクリプトノ隣ニ有ル state.json ニ保存サレマス。歀ノファむル䞀ツヲ控ヘトシテ保存スレバ、貎方ノ味ノ奜ミモ䞀緒ニ匕ッ越セマス。


埡參考マデニ。 埡茶ハ貎方ノ埡茶、口ハ貎方ノ口、條件ハ理論倀、而シテ矎味シサコ゜ガ正矩。蚈畫ハ埡茶ヲ淹レラレマセン。唯ダ、゜コ゜コ理屈ノ有ル硬貚ヲ投ゲルダケデス。

🍵 キョり サ、ドノ ティヌ ニ スル · tea-planner MCP

ワケ モ ナク ティヌ ヲ むッパむ むレテ、ティヌ ガ スキ ナ ヒト ニ プレれント。—— ハク キョむ

フルむ トモダチ ト フルサト ノ コト ナンカ シンク スル ノ ダメテ、アタラシむ ヒ デ アタラシむ ティヌ ヲ トラむ シペり。ポ゚トリヌ ト ワむン ハ、タむム ガ ダング ナ りチ ニ ゚ンゞョむ シロ。—— ゜ ショク

コト ノ ハゞマリ ハ コり。ティヌコレクション ガ ドンドン グロヌ シテ、キャビネット オヌプン スル タビ ニ 5ミニッツ ボヌッ ト スタンド シテ、ケッキョク むチバン テゞカ ナ ボックス グラブ スル ペり ニ ナッタ。ティヌリヌフ ガ ダンプ ニ ナル ノ ハ マむ フォヌルト。チョむスパララむシス モ マむ フォヌルト。ダカラ プログラム ニ レスポンシビリティ オシッツケタ。

コりシテ Cherry Studio ノ り゚ デ ラン スル MCP「キョり ワ ドノ ティヌ」ガ ボヌン シタ。107タむプ ノ ティヌ ノ ポットブリュヌ パラメヌタグリヌンティヌ、りヌロンティヌ、ダヌクティヌ、ブラックティヌ、ホワむトティヌ、む゚ロヌティヌ、フラワヌティヌ、゜ノタ クラシファむ フノり ナ りィアヌド ナ ダツヲ ビルトむン シテ、゚ブリデむ リヌズナブル ナ コむン ヲ トス シテ クレル。シヌズン、タむムオブデむ、レセントリヌ ドリンク シタカ、むンベントリヌ ノ ダスト レベル デ りェむテッド ロット スル。サマヌ デモ ラむププヌアル ガ ヒット スル コト アル。タダ プロバビリティ ガ ロヌ ナ ダケ。レむトナむト ニ ハヌバルティヌ バッカリ プッシュ スル コト モ シナむ——ルヌル ワ ゜フト デ、デス センテンス ヲ むむワタサレル ティヌ ハ ナむ。

ツヌルリスト11コ

ツヌル

アナタ ノ コトバ

recommend

キョり ワ ナニ ドリンク スル

coldbrew_recommend

キョり ワ ナニ コヌルドブリュヌ スル

add_tea

ロンゞン、テツカンノン、ラプサンスヌチョン ゲット シタバッチ サポヌト ツキ

remove_tea

ビヌルオチュン フィニッシュ シタ

clear_inventory

ムヌブ シタワンクリック ワむプ——オヌサヌ ノ ティヌキャビネット ヲ むンヘリット シナむ

set_brewer

マむ ティヌポット ハ 300ml / コヌルドブリュヌポット ヲ 2L ニ チェンゞ シタ

review

りィヌクスギル / ビタヌ / りェアハりスムスティ / リンス シスギ / スチュヌド / サワヌ ニ ナッタ / アロマ ガ ゎヌン

record / undo_record / history

〇〇 ドリンク シタ / レコヌド アンドゥ / レセントリヌ ナニ ドリンク シタ

デプロむCherry Studio、2ミニッツ

uvuvx モ アルガ むル

uvx tea-chay-advisor

Cherry Studio → セッティング → MCPサヌバヌ → コノ JSON ヲ むンポヌト

{
  "mcpServers": {
    "tea-planner": {
      "command": "uvx",
      "args": ["tea-chay-advisor"],
      "env": {}
    }
  }
}

スむッチ オン ニ シテ、ツヌルリスト ニ 11コ アピア シタラ サクセス。uvx ガ PyPI カラ オヌト デ tea-chay-advisor ヲ ゲット スル カラ、ゞブン ノ パス モ pip モ むラナむ。

uv ヲ ツカむタクナむ ヒト ワ、SKILL.md ヲ Cherry Studio ノ Skills フォルダ ニ パット スレバ、プロンプトオンリヌ ノ フォヌルバック ガ ナヌズ デキルパヌシステンス ハ ナむ ケド、アりトオブボックス デ ナヌズ デキル。

むンストヌル ノ アト 3ステップ

  1. ムヌブむン「ムヌブ シタ」ト む゚バ → オヌサヌ ノ 107タむプ ノ ティヌ れンブ ワむプミステむク フセグ タメ ニ 2ã‚«ã‚€ コンファヌム

  2. ストック「ロンゞン、ダヌホンパオ、゚むゞドホワむトティヌ ゲット シタ」 → バッチ むンポヌト、パラメヌタ ワ カテゎリヌ ベツ ニ オヌト セット

  3. ドリンク「キョり ワ ナニ ドリンク スル」 → アト ワ プログラム ガ ワリヌ シテ クレル

ブリュヌむング ニ ツむテポア スル マ゚ ニ リヌド シテ

コレ ワ ゎンフヌスタむル ゞャ ナむ。 ガむワン モ、フラッシュむンフュヌゞョン モ、「ファヌスト むンフュヌゞョン ワ アロマ、セカンド ワ りォヌタヌ、サヌド ワ フレヌバヌ」モ ナむ。オヌサヌ ガ ナヌズ シテル ノ ワ 400ml ノ ビッグ ティヌポット + 1.6L ノ コヌルドブリュヌポット、TDS20 ノ ピュアりォヌタヌ。ワンタむム デ フィル シテ、4〜5ミニッツ スティヌプ シテ、ワンゎヌ デ ポアアりト シテ ティヌリヌフ ト リカヌ ヲ セパレヌト スル——ティヌ キュッピング ダ ブリティッシュ ティヌポット ニ クロヌス ナ アプロヌチ。スベテ ノ リヌフリョり、テンペラチャヌ、タむム ワ コノ セットアップ ニ キャリブレヌション サレテル。

ギア ガ ディファレント「マむ ティヌポット ハ 500ml」ト む゚バ、リヌフリョり ガ ティヌりォヌタヌレシオ ニ オりゞテ オヌト デ スケヌル サレル。テンペラチャヌ ト タむム ワ チェンゞ シナむ。コヌルドブリュヌ モ セむム。

レビュヌティヌ ヲ ナア テむスト ニ グロヌ サセル

セオリヌ ノ パラメヌタ ワ タダ ノ スタヌトポむント。ベンダヌ ノ ロット、りェアハりス むダヌ、ストレヌゞ コンディション ニ ペッテ、ティヌ ワ スペックシヌト カラ デビ゚ヌト シテ むク。テむスト ガ ヘン ダト フィヌル シタラ、゜ノママ セむ シテ むむ

  • りィヌクスギル / ストロングスギル / アストリンゞェント → リヌフリョり・タむム・テンペラチャヌ ヲ オヌト ファむンチュヌン

  • りェアハりスムスティ / リンス シスギ → リンス ルヌチン ヲ アゞャストナマ プヌアル デフォルトクむック リンス 1ã‚«ã‚€ + スロヌ リンス 1ã‚«ã‚€ + 2ミニッツ ゚アリング。ラむプ プヌアル / リュりバオ / ボヌダヌブリッククむック 2ã‚«ã‚€ + スロヌ 1ã‚«ã‚€ + 2ミニッツ ゚アリング + クむック 1カむ

  • スチュヌド / アロマ フェヌディング → リッド オン カ リッド オフ カ

  • サワヌ ニ ナッタ / アロマ ゎヌン → テンペラチャヌ ヲ 3℃ ダりン

  • オヌバヌチュヌン シタラ「〇〇 リセット」テ む゚バ、ワンクリック デ セオリヌ ニ バック

デヌタ ワ れンブ スクリプト ノ トナリ ノ state.json ニ セヌブ サレテル。コノ ファむル ダケ バックアップ スレバ、ナア テむスト プリファレンス モ むッショ ニ ムヌブ デキル。


マゞ、サンコり ニ シテ ネ。 ティヌ ワ ナア ティヌ、マりス ワ ナア マりス、パラメヌタ ワ セオリヌ、オむシサ コ゜ ガ ゞャスティス。プログラム ワ ティヌ ヲ ブリュヌ デキナむ。タダ ゜コ゜コ リヌズナブル ナ コむン ヲ トス シテル ダケダペ。

🍵 였늘은 뭘 마싀까 · tea-planner MCP

읎유(理由) 없읎 한 사발을 듀얎, ì°š(茶)륌 사랑하는 읎에게 부치녞띌. — 백거읎(癜居易)

고읞(故人)곌 ê³ êµ­(故國) 생각은 귞만두고, 새 불로 새 ì°š(茶)륌 시험(詊驗)하띌. 시(è©©)와 술, 청춘(靑春)읎 바로 지ꞈ읎닀. — 소식(蘇軟)

사정(事情)은 읎렇습니닀: 집에 ì°š(茶)가 점점(挞挞) 많아젞서, 찬장(饌欌)을 ì—Ž 때마닀 5분(五分鐘) 동안 멍하니 있닀가, ê²°êµ­(結局) 손(手)에 가장 가까욎 한 통(æ¡¶)을 집게 됩니닀. ì°š(茶)가 습Ʞ(濕氣)륌 뚹는 걎 제 탓, 선택(遞擇) 장애(障瀙)도 제 탓읎니, 프로귞랚(program)읎 뒀집얎쓰게 만든 겁니닀.

귞래서 Cherry Studio 위에 얹은 읎 MCP(엠시플) — “였늘은 뭘 마싀까”. 107가지 ì°š(茶)의 혞포(壺泡) 맀개변수(媒介變敞)륌 낎장(內藏)하고 있습니닀 (녹찚(綠茶), 우롱찚(烏韍茶), 흑찚(黑茶), 홍찚(玅茶), 백찚(癜茶), 황찚(黃茶), 화찚(花茶), 귞늬고 얎디에 넣얎알 할지 애맀한 ꎎ상한 것듀까지). 맀음(每日) 여러분 대신 읎유(理由) 있는 동전(銅錢) 을 던젞쀍니닀: 계절(季節), 시간대(時間垶), 최귌(最近)에 마셚는지 여부(與吊), 재고(圚庫)가 뚌지륌 뒀집얎쓎 정도(皋床)륌 가쀑(加重)핮 추첚(抜籀)합니닀. 여늄에도 숙볎(熟普)가 뜑힐 수 있지만, 확률(確率)읎 낮을 뿐입니닀. 늊은 밀에도 대용찚(代甚茶)만 떠안Ʞ지 않습니닀. 규칙(芏則)은 부드럜고, ì–Žë–€ ì°š(茶)도 사형(死刑) 선고(宣告)륌 받지 않습니닀.

도구(道具) 11개

도구(道具)

읎렇게 말하섞요

recommend

였늘 뭐 마싀까요?

coldbrew_recommend

였늘 냉포(冷泡) 뭐 할까요?

add_tea

용정(韍井), 철ꎀ음(鐵觀音), 정산소종(正山小皮) 샀얎요 (음ꎄ(䞀括) 지원(支揎))

remove_tea

벜띌춘(碧螺春) ë‹€ 마셚얎요

clear_inventory

왞지(倖地)로 읎사(移埙)했얎요 (한 번에 비우Ʞ — 작가(䜜家)의 ì°š(茶) 찬장(饌欌)을 묌렀받지 마섞요)

set_brewer

제 닀ꎀ(茶眐)은 300ml예요 / 냉포(冷泡) 죌전자륌 2L로 바꿚얎요

review

너묎 연핎요 / 좀 썚요 / 찜고(倉庫) 냄새가 나요 / 섞찚(掗茶)가 곌핎요 / 믌믞(悶味)가 나요 / 시얎졌얎요 / 향(驙)읎 없얎졌얎요

record / undo_record / history

XX 마셚얎요 / 잘못 Ʞ록(蚘錄)했윌니 되돌늬Ʞ / 최귌(最近)에 뭐 마셚죠

배포(郚眲) (Cherry Studio, 2분(分))

uv(uvx 포핚(包含)) 필요(必芁):

uvx tea-chay-advisor

Cherry Studio → 섀정(蚭定) → MCP 서버(server) → 읎 JSON(제읎슚) 가젞였Ʞ:

{
  "mcpServers": {
    "tea-planner": {
      "command": "uvx",
      "args": ["tea-chay-advisor"],
      "env": {}
    }
  }
}

슀위치륌 쌜고 도구(道具) 목록(目錄)에 11개 도구(道具)가 나타나멎 성공(成功)입니닀. uvx가 PyPI에서 tea-chay-advisor륌 자동(自動)윌로 가젞였므로, 수동(手動) pip 섀치(蚭眮)도 로컬 겜로(經路) 섀정(蚭定)도 필요(必芁) 없습니닀.

귞런 닀음 핎당(該當) 위치(䜍眮)에 SKILL.md륌 배포(郚眲)하섞요.

개뎉(開封) 3닚계(䞉段階)

  1. 읎사(移埙): “왞지(倖地)로 읎사(移埙)했얎요” → 작가(䜜家)의 107가지 ì°š(茶)륌 비웁니닀 (두 번 확읞(確認) 후 싀행(寊行), 싀수(倱手) 방지(防止))

  2. 입고(入庫): “용정(韍井), 대홍포(倧玅袍), 녞백찚(老癜茶) 샀얎요” → 음ꎄ(䞀括) 입고(入庫), 맀개변수(媒介變敞)는 자동(自動)윌로 분류(分類)에 따띌 섀정(蚭定)됩니닀

  3. 시음(詊飮): “였늘 뭐 마싀까요?” → 나뚞지는 프로귞랚(program)읎 대신(代身) 고믌(苊悶)합니닀

포법(泡法)에 ꎀ핎 (따륎Ʞ 전에 뚌저 읜윌섞요)

읎것은 공푞찚(工倫茶) 포법(泡法)읎 아닙니닀. 개완(蓋碗)도 없고, 빠륞 출탕(出湯)도 없고, “첫 우늬 향(驙), 둘짞 묌, ì…‹ì§ž ì°š(茶)”도 없습니닀. 저자(著者)가 쓰는 것은 400ml 대형(倧型) 닀ꎀ(茶眐) + 1.6L 냉포(冷泡) 죌전자, TDS20 정제수(淚補氎) 입니닀. 한 번 가득 붓고, 4~5분(分) 우늬고, 한 번에 전부 출탕(出湯)하고, ì°š(茶)와 묌을 분늬(分離)합니닀. ì°š(茶) 심사(審査)나 영국식(英國匏) 티포튞(teapot)에 가깝습니닀. 몚든 투찚량(投茶量), 수옚(氎溫), 시간(時間)은 읎 시나늬였(scenario)에 맞춰 볎정(補正)되얎 있습니닀.

ì°š 도구(道具)가 닀륎멎? "낮 닀ꎀ(茶眐)은 500ml예요"띌고 말하멎 투찚량(投茶量)읎 자동(自動)윌로 찚수(茶氎) 비윚(比率)에 따띌 조정(調敎)됩니닀. 수옚(氎溫)곌 시간(時間)은 귞대로입니닀. 냉포(冷泡)도 동음(同䞀)합니닀.

복Ʞ(埩碁): ì°š(茶)륌 마싀수록 입맛에 맞게

읎론적(理論的) 맀개변수(媒介變敞)는 출발점(出癌點)음 뿐입니닀. 상읞(商人) 배치(batch), 찜고(倉庫) 연도(幎床), 저장(貯藏) 상태(狀態)에 따띌 ì°š(茶)가 섀명서(說明曞)에서 벗얎납니닀. 맛읎 읎상하멎 말하섞요:

  • 너묎 연핚 / 너묎 진핚 / 떫음 → 투찚량(投茶量), 시간(時間), 수옚(氎溫) 자동(自動) 믞섞 조정(埮现 調敎)

  • 찜고(倉庫) 냄새 / 섞찚(掗茶) 곌닀(過倚) → 섞찚(掗茶) 닚계(段階) 조정(調敎) (생푞(生普) Ʞ볞(基本): 빠륞 섞찚 1회(䞀回) + 느며 섞찚 1회(䞀回) + 2분(分) 산믞(散味); 숙푞(熟普)/육볎(六堡)/변소전(邊銷磚): 빠륞 2회(二回) + 느며 1회(䞀回) + 2분(分) 산믞(散味) + 빠륞 1회(䞀回))

  • 믌믞(悶味) / 향(驙)읎 흩얎짐 → 뚜껑을 덮거나 엶

  • 시얎짐 / 향(驙)읎 사띌짐 → 수옚(氎溫) 3℃ 하띜(䞋萜)

  • 곌하게 조정(調敎)했윌멎 "XX 늬셋"읎띌고 말하섞요 — 읎론값(理論값)윌로 복귀(埩歞)

몚든 데읎터(資料)는 슀크늜튞 옆 state.json에 저장(貯藏)됩니닀. 읎 파음(文件) 하나만 백업(backup)하멎 입맛읎 읎사(移埙)핮도 따띌갑니닀.


ì°žê³ (參考)만 하섞요. ì°š(茶)는 당신의 ì°š(茶), 입은 당신의 입, 맀개변수(媒介變敞)는 읎론적(理論的)읎고, 맛있얎알 진짜입니닀. 프로귞랚(program)은 ì°š(茶)륌 우늬지 못합니닀. ê·žì € 제법 사늬(事理) 있는 동전(銅錢) 하나륌 던질 뿐입니닀.

🍵 HÃŽm nay uống gì · tea-planner MCP

无由持䞀碗寄䞎爱茶人。 (KhÃŽng cớ gì mà nâng chén trà茶, xin gá»­i tặng người yêu trà茶.) —— Bạch Cư Dị癜居易

䌑对故人思故囜䞔将新火试新茶。诗酒趁幎华。 (Đừng đối diện cố nhân故人 mà nhớ cố quốc故國, hãy nhóm lá»­a mới pha thá»­ trà茶 mới. Thơ詩 và rượu, kịp lúc tuổi xuân春.) —— TÃŽ Thức蘇軟

Chuyện là thế này: trà trong nhà ngày càng nhiều, nhiều đến mức mỗi lần mở tá»§ là ngẩn người năm phút, cuối cùng vẫn lấy hộp gần tay nhất. Trà bị ẩm thì trách mình, khó chọn cÅ©ng trách mình, chi bằng để chương trình章皋 gánh tội.

Thế là có MCP này treo trên Cherry Studio —— 「HÃŽm nay uống gì」. Tích hợp集合 sẵn tham số參敞 pha trà茶 cho 107 loại tràtrà xanh綠茶, ÃŽ long烏韍, hắc trà黑茶, hồng trà玅茶, bạch trà癜茶, hoàng trà黃茶, hoa trà花茶, cùng một đống thứ kỳ quái khó phân loại分類), mỗi ngày thay bạn tung một đồng xu có lÜ do理由: theo mùa, thời điểm時點 trong ngày, gần đây có uống hay khÃŽng, mức độ bám bụi tồn kho存庫 mà gia quyền加權 rút thăm. Mùa hÚ vẫn có thể trúng Phổ NhÄ© thục普掱熟, chỉ là xác suất確率 thấp; đêm khuya cÅ©ng khÃŽng nhét cho bạn toàn trà thay thế茶代替 —— quy tắc芏則 mềm, khÃŽng có loại trà nào bị kết án tá»­ hình死刑.

Có những cÃŽng cụ工具 gì (11 cái)

CÃŽng cụ工具

Bạn nói gì

recommend

HÃŽm nay uống gì?

coldbrew_recommend

HÎm nay pha lạnh gì?

add_tea

TÃŽi mua Long Tỉnh韍井, Thiết Quan Âm鐵觀音, Chính SÆ¡n Tiểu Chá»§ng正山小皮 (hỗ trợ互助 nhập hàng loạt行率)

remove_tea

TÃŽi uống hết Bích La Xuân碧螺春 rồi

clear_inventory

TÃŽi chuyển nhà đến nÆ¡i khác (một nút xóa sạch, đừng kế thừa繌承 tá»§ trà cá»§a tác giả䜜者)

set_brewer

Ẁm trà cá»§a tÃŽi là 300ml / bình pha lạnh đổi thành 2L

review

Quá nhạt / hÆ¡i đắng / mùi kho nặng / rá»­a trà quá tay / mùi hầm / bị chua / mất hương銙

record / undo_record / history

TÃŽi uống XX / Ghi nhầm thì thu hồi收回 / Gần đây đã uống gì

Triển khai展開 (Cherry Studio, hai phút)

Cần uv (có sẵn uvx):

uvx tea-chay-advisor

Cherry Studio → Cài đặt → MCP Servers → Nhập đoạn JSON này:

{
  "mcpServers": {
    "tea-planner": {
      "command": "uvx",
      "args": ["tea-chay-advisor"],
      "env": {}
    }
  }
}

Bật cÃŽng tắc工則, danh sách名冊 cÃŽng cụ工具 xuất hiện出珟 11 cÃŽng cụ工具 là thành cÃŽng成功. uvx tá»± động自動 lấy tea-chay-advisor từ PyPI, nên khÃŽng cần cài pip thá»§ cÃŽng手動 cÅ©ng khÃŽng cần sá»­a đường dẫn路匕 cục bộ.

KhÃŽng muốn dùng uv? Thả SKILL.md vào thư mục曞目 Skills cá»§a Cherry Studio để dùng bản fallback chỉ chạy prompt (khÃŽng lưu trạng thái狀態, nhưng dùng được ngay).

Ba bước sau khi cài

  1. Chuyển nhà: 「TÃŽi chuyển nhà đến nÆ¡i khác」→ xóa sạch 107 loại trà cá»§a tác giả䜜者 (xác nhận確認 hai lần mới thá»±c hiện寊珟, khÃŽng xóa nhầm)

  2. Nhập hàng入行: 「TÃŽi mua Long Tỉnh韍井, Đại Hồng Bào倧玅袍, lão bạch trà老癜茶」→ nhập kho入庫 hàng loạt, tham số參敞 tá»± động自動 phân loại分類 theo chá»§ng loại皮類

  3. Uống trà茶: 「HÃŽm nay uống gì?」→ việc còn lại để chương trình章皋 thay bạn đau đầu

Về cách pha (đọc trước khi rót)

Đây khÃŽng phải cách pha trà cÃŽng phu功倫茶. KhÃŽng có gaiwan蓋碗, khÃŽng có rót nhanh, khÃŽng có “nhất phao hương, nhị phao thá»§y, tam phao trà䞀泡銙二泡氎䞉泡茶”. Tác giả䜜者 tá»± dùng ấm trà lớn 400ml + bình pha lạnh 1.6L, nước tinh khiết玔朔 TDS20, một lần rót đầy, pha bốn năm phút, rót ra một lần, tách trà茶 khỏi nước, lối pha gần với đánh giá cảm quan trà茶葉審評 và ấm trà kiểu Anh. Mọi lượng trà, nhiệt độ溫床, thời gian時間 đều được hiệu chỉnh校正 theo bối cảnh背景 này.

Dụng cụ trà茶具 khác ư? Nói một câu「Ẁm trà cá»§a tÃŽi là 500ml」, lượng trà tá»± động自動 co giãn theo tá»· lệ比䟋 trà-nước, nhiệt độ溫床 và thời gian時間 giữ nguyên. Pha lạnh cÅ©ng tương tự盞䌌.

Phục bàn埩盀: để trà càng uống càng hợp khẩu vị口味

Tham số參敞 lÜ thuyết理論 chỉ là điểm xuất phát出癌點; lÃŽ hàng cá»§a người bán, năm tồn kho存庫 đều khiến trà lệch khỏi sách hướng dẫn向匕. Uống thấy khÃŽng hợp khẩu vị口味 thì nói:

  • Quá nhạt / quá đậm / chát → tá»± động自動 vi chỉnh埮敎 lượng trà, thời gian時間, nhiệt độ溫床

  • Mùi kho nặng / rá»­a trà quá tay → điều chỉnh調敎 cấp độ rá»­a trà (Phổ NhÄ© sinh普掱生 mặc định默定: rá»­a nhanh 1 lần + rá»­a chậm 1 lần + tản mùi散味 2 phút; Phổ NhÄ© thục普掱熟/ Lục Bảo六堡/ biên tiêu chuyên邊銷磚: rá»­a nhanh 2 lần + rá»­a chậm 1 lần + tản mùi散味 2 phút + rá»­a nhanh 1 lần)

  • Mùi hầm / hương thÆ¡m tản → đậy nắp hay mở nắp

  • Bị chua / mất hương銙 → nhiệt độ溫床 nước giảm 3℃

  • Chỉnh quá tay thì nói「reset XX」, một nút quay về giá trị價倌 lÜ thuyết理論.

Mọi dữ liệu資料 đều ghi trong state.json cạnh script, sao lưu備仜 một file này, khẩu vị口味 có thể theo bạn chuyển nhà.


Chỉ để tham khảo參考. Trà là trà cá»§a bạn, miệng là miệng cá»§a bạn, tham số參敞 là lÜ thuyết理論, uống ngon mới tính. Chương trình章皋 khÃŽng biết pha trà, nó chỉ tung một đồng xu khá biết lÜ lẜ理䟋.

🍵 今日䜕茶飲 · tea-planner MCP

無由持䞀碗寄與愛茶人。——癜居易

䌑對故人思故國䞔將新火詊新茶。詩酒趁幎華。——蘇軟

惟家䞭之茶日增乃至啟櫝茫然凝立半晌終取去手最近者。茶受朮咎圚己擇之難咎亊圚己䞍劂委其過斌皋序。遂有歀掛斌 Cherry Studio 之 MCP名曰「今日飲䜕茶」。內眮癟有䞃品茶之壺泡參敞綠茶、青茶、黑茶、玅茶、癜茶、黃茶、花茶又有難歞䜕類之異品若干每日代君擲䞀有據之錢以季節、時蟰、邇日飲吊、庫藏積塵之久暫權其茕重而抜籀。盛倏亊或埗熟普特其機埮深倜亊䞍惟以代甚茶盞塞——法床柔軟無䞀茶遭棄。

噚甚十䞀

噚

君之所蚀

recommend

今日飲䜕茶

coldbrew_recommend

今日冷泡䜕茶

add_tea

吟賌韍井、鐵觀音、正山小皮可䞊列

remove_tea

吟飲盡碧螺春

clear_inventory

吟遷居異地䞀鍵枅空毋承䜙之茶櫝

set_brewer

吟壺䞉癟毫升 / 冷泡壺易二升

review

倪淡 / 埮苊 / 倉氣重 / 掗茶過甚 / 悶味 / 泡酞 / 銙氣盡

record / undo_record / history

吟飲某茶 / 誀蚘撀回 / 近飲䜕茶

郚眲法Cherry Studio頃刻可成

須 uv內含 uvx

uvx tea-chay-advisor

Cherry Studio → 蚭眮 → MCP 服務噚 → 導入歀 JSON

{
  "mcpServers": {
    "tea-planner": {
      "command": "uvx",
      "args": ["tea-chay-advisor"],
      "env": {}
    }
  }
}

啟其開關工具列衚珟十䞀噚即成功。uvx 自 PyPI 自動取 tea-chay-advisor無須手動 pip亊無須配眮本機路埑。

埩斌盞應處郚眲 SKILL.md。䞍願甚 uv 者亊可眮 SKILL.md æ–Œ Cherry Studio 之 Skills 目錄埒以提瀺詞權充無持久之功然開箱即甚。

初甚䞉步

  1. 遷居「吟遷居異地」→ 枅空䜙之䞀癟䞃品茶兩床確認乃行䞍誀傷

  2. 進貚「吟賌韍井、倧玅袍、老癜茶」→ 成批入庫參敞䟝類自定

  3. 開飲「今日飲䜕茶」→ 逘事付皋序躊躇

論泡法操壺前先觀歀

歀非工倫茶法也。 無蓋碗無疟出湯無「䞀泡銙二泡氎䞉泡茶」之說。䜙自甚 四癟毫升倧壺、䞀升六冷泡壺、TDS 二十玔氎䞀泚而滿瀹四五分鐘䞀傟而盡茶氎分離其路敞近茶葉審評與英匏茶壺。投茶之量、氎溫、時長悉按歀境校定。

茶具有異䜆蚀「吟壺五癟毫升」投茶量即按茶氎比增損氎溫與時長䞍改。冷泡亊然。

埩盀䜿茶愈飲愈合口

玙䞊參敞埒為起點。商戶批次、倉儲幎仜皆足䜿茶背離譜籍。飲之䞍合䟿盎蚀

  • 倪淡 / 倪濃 / 柀 → 自動埮調投茶、時長、氎溫

  • 倉氣重 / 掗茶過甚 → 調掗茶之檔生普默認快掗䞀次+慢掗䞀次+散味二分鐘熟普/六堡/邊銷磚快掗二次+慢掗䞀次+散味二分鐘+快掗䞀次

  • 悶味 / 銙氣散 → 加蓋抑或開蓋

  • 泡酞 / 銙氣盡 → 氎溫降䞉床

  • 調之過甚蚀「重眮某茶」䞀鍵埩歞玙䞊之倌

諞敞據咞存斌腳本旁之 state.json 䞭䜆備仜歀䞀文件口味䟿可隚君遷埙。


僅䟛參酌。 茶乃君之茶口乃君之口參敞乃玙䞊之談甘旚方為準。皋序䞍胜瀹茗惟擲䞀枚皍近情理之錢耳。

Available Tools

11 tools
add_teaA

「我买了XX」新茶入库。支持批量「我买了韙井、铁观音、正山小种」䞀次入库倚欟。 䞎内眮茶党名盞同的䌚恢倍原参数搬家枅空后可甚新茶自劚按类别套默讀壶泡参数。 参数: name: 茶名必填。倚䞪茶名可甚顿号/逗号/分号/换行分隔 category: 可选类别可暡糊「普掱」䌚園到黑茶批量富入时甚于无法从茶名掚断的茶 note: 可选倇泚劂「明前」「2024幎」「朋友送的」 g/temp/minutes/rinse: 可选自定义壶泡参数400ml䞀泡。0 或 -1 衚瀺甚类别默讀批量暡匏䞍支持星匏参数

ParametersJSON Schema
NameRequiredDescriptionDefault
gNo
nameYes
noteNo
tempNo
rinseNo
minutesNo
categoryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/5

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

With no annotations provided, the description carries full responsibility and does so thoroughly. It discloses that exact-name matches with built-in teas restore original parameters, that new teas get category-default brewing parameters, that 0/-1 means use defaults, and that batch mode does not support explicit parameters.

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

Conciseness5/5

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

The description is front-loaded with a concrete usage example, followed by concise behavioral notes and a structured parameter list. Every sentence adds useful information, and the format is easy for an agent to parse.

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?

Given the tool's complexity—batch mode, defaults, fuzzy categories, restore behavior—the description covers the crucial operational details well. It does not explain every edge case, such as duplicate non-built-in tea names, but the core invocation path is complete and the output schema exists to cover return values.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must fully compensate. It explains name separators, fuzzy category matching with an example, note content examples, and the special semantics of g/temp/minutes/rinse, including batch-mode restrictions. This goes far beyond the bare parameter names in the schema.

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?

The description states a specific verb and resource: adding new tea to inventory, with a natural-language trigger 「我买了XX」. It also clarifies batch addition with examples, which clearly distinguishes this from sibling tools like remove_tea or record.

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?

The opening examples make the intended invocation context clear: when the user reports buying tea, including batch purchases. It does not explicitly name alternatives or exclusions, but the context is unambiguous enough for an agent to select this tool over siblings.

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

clear_inventoryA

「我搬到了倖地」枅空党郚库存内眮107欟党郚标记移陀、自莭茶删陀䞎喝茶历史、倍盘调校。 枅空后可甚「我买了XX、YY、ZZ」批量富入新茶单䞎内眮茶党名盞同的䌚自劚恢倍原参数。

参数: confirm: 必须䞺 True 才真正执行防误觊。銖次调甚返回预览。

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so well: it discloses exactly what gets destroyed, the built-in items are marked removed, self-purchased items are deleted, and history/review tuning is cleared. It also discloses the confirm-before-execute safeguard and the first-call preview behavior, which is strong transparency for a destructive tool.

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

Conciseness5/5

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

The description is compact and front-loaded: it opens with the scenario, states the full effect, then gives the post-condition and parameter rule. Every sentence earns its place and there is no filler.

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

Completeness5/5

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

For a one-boolean-parameter destructive tool with an output schema available, the description is complete: it defines the action, the scope, the safety mechanism, the preview flow, and the recovery/import path. No critical call-relevant information is missing.

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

Parameters5/5

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

The schema provides no parameter descriptions (0% coverage), so the description must compensate. It fully explains the single `confirm` parameter: it must be True to actually execute, it prevents accidental triggering, and the first call returns a preview. This is complete semantic coverage.

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?

The description uses a clear verb, 枅空 (clear), and precisely defines the affected scope: all inventory (built-in and self-purchased), drinking history, and review tuning. This explicitly distinguishes it from the single-item sibling tools like remove_tea and undo_record.

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?

It provides a concrete trigger scenario, 「我搬到了倖地」, and explains the intended post-condition: the user can batch-import a new tea list afterward. It does not explicitly name alternatives or exclusions, so it falls just short of full guidance.

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

coldbrew_recommendA

「今倩冷泡什么」䞺 1.6L 冷泡壶掚荐冷泡茶冷藏层纊4℃。 蟓出投茶量、冷藏时长、预计可饮时闎。抹茶/可可/茶膏/药茶䞞䞍适合冷泡壶自劚排陀。

参数: datetime_str: 可选ISO 栌匏 '2026-08-16T21:30'猺省甚系统圓前时闎甚于计算"几点胜喝" randomness: 0~1 随机皋床默讀 0.6 count: 返回几欟䞻掚+倇选默讀 1最倚 5

ParametersJSON Schema
NameRequiredDescriptionDefault
countNo
randomnessNo
datetime_strNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden and does so well: it discloses auto-exclusion of matcha/cocoa/tea paste/medicinal tea pills, the default-current-time behavior for datetime_str, and the meaning of randomness and count. It only omits edge-case behaviors such as empty inventory, which is minor for a recommendation tool.

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

Conciseness5/5

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

The description is front-loaded with a short purpose phrase, then gives outputs, exclusions, and parameter meanings in a tight structured list. No sentence is wasted or redundant with the schema.

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

Completeness5/5

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

For a tool with no required parameters and an output schema, the description covers the essential invocation context: defaults, ranges, output fields, and excluded inputs. Missing behavior like empty-inventory errors is not necessary for correct selection and invocation.

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

Parameters5/5

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

Schema description coverage is 0%, but the description fully compensates by explaining datetime_str's ISO format/default, randomness's 0-1 range/default, and count's max/default. This is exactly the semantic information an agent needs beyond the bare schema fields.

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?

Description states a specific action: recommend cold-brew tea for a 1.6L cold-brew pot at refrigerator temperature, and names concrete outputs (tea amount, cold-brew duration, ready-to-drink time). This clearly separates it from the generic sibling `recommend` by scoping it to cold brewing.

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?

The intended scenario is explicit: use when the user wants a cold-brew tea recommendation for the 1.6L pot, with automatic exclusion of unsuitable tea forms. It does not explicitly name sibling alternatives or state when to use `recommend` instead, so it stops short of full alternative routing.

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

historyA

查看最近喝茶记圕。

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the burden. '查看' makes clear this is a read operation, and '最近' implies recency ordering, but the description does not disclose whether results are sorted, how the limit applies, or what happens when there are no records. Basic behavior is transparent, but details are left out.

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

Conciseness5/5

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

A single, front-loaded sentence that states the tool's purpose with no filler. It is appropriately sized for a simple read tool and every word contributes meaning.

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

Completeness3/5

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

The tool is simple, has one optional parameter, and an output schema exists, so return details do not need explanation. Still, the description fails to explain the `limit` parameter and gives no explicit usage guidance beyond the obvious purpose, leaving minor but real gaps.

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

Parameters2/5

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

The single `limit` parameter has 0% schema description coverage and is not mentioned in the tool description. The name and default value are self-explanatory, but the description adds no meaning about how the limit is applied or what range of values is acceptable.

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?

The description uses a specific verb ('查看' = view) and a concrete resource ('最近喝茶记圕' = recent tea-drinking records), making it clear this is a read-oriented history tool. It is easily distinguishable from siblings like `record` or `inventory`, which imply writing or current stock rather than past records.

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

Usage Guidelines3/5

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

The context for use is implied: call it when you need to see recent tea-drinking logs. However, it does not explicitly name alternatives or state when not to use it, so an agent must infer the boundary against siblings like `record` or `review`.

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

inventoryA

列出库存茶品及壶泡参数。category 可选绿茶/调味绿茶/花茶/癜茶/黄茶/乌韙茶/红茶/调味红茶/黑茶/代甚茶。

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description must carry the behavioral burden. The verb 列出 clearly signals a read-only query operation and names what is returned, which is sufficient for a simple list tool. It does not explicitly discuss ordering, pagination, or live-vs-snapshot semantics, but these are minor for this low-complexity operation.

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

Conciseness5/5

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

The description is one compact sentence that front-loads the action and resource, then adds the only parameter information an agent needs. Every clause contributes; there is no filler.

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 one-parameter list operation with an output schema, the description covers the core behavior and filter values completely. It stops just short of full completeness by not explicitly stating that an omitted category returns all items and by not framing when inventory should be preferred over sibling tools.

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

Parameters5/5

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

The input schema provides only a bare string with an empty default and no enum, while the tool description supplies the full parameter meaning: category is an optional filter and all ten accepted values are enumerated. This fully compensates for the 0% schema description coverage.

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?

The description opens with the explicit verb 列出 and names the exact resource 库存茶品及壶泡参数, making the tool's function unmistakable. This also separates it from mutation siblings like add_tea, remove_tea, and clear_inventory, which clearly imply write operations rather than listing.

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

Usage Guidelines2/5

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

No guidance is given about when to choose inventory over siblings such as history, recommend, or coldbrew_recommend, and no exclusions or alternative conditions are stated. The only usage hint is the optional category filter, which is parameter-level guidance rather than tool-selection guidance.

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

recommendA

掚荐今倩或指定日期时闎喝什么茶蟓出 400ml 壶泡䞀泡的完敎参数。

参数: datetime_str: 可选ISO 栌匏 '2026-02-14T20:30'猺省甚系统圓前时闎 randomness: 0~1 随机皋床。0=非垞应季规埋1=非垞随机惊喜。默讀 0.6 count: 返回几欟䞻掚+倇选默讀 1最倚 5 mood: 可选偏奜词劂 '想喝銙的' / 'æž…æ·¡' / '暖胃' / '提神' / '安神'

ParametersJSON Schema
NameRequiredDescriptionDefault
moodNo
countNo
randomnessNo
datetime_strNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations provided, the description carries the behavioral burden. It usefully discloses default current-time usage, randomness semantics (0=regular, 1=surprise), count limits, and mood options, which is meaningful. However, it does not state whether the recommendation uses inventory data, whether it has side effects, or what constraints apply beyond the parameters.

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

Conciseness5/5

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

The description is one purpose line plus a tight parameter list with no filler. The primary function is front-loaded, and each bullet adds distinct, useful information.

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?

The description covers all parameters and the high-level return shape, and an output schema exists to handle return details. It is slightly incomplete because it does not explicitly route between hot-brew recommend and coldbrew_recommend, nor state whether inventory is considered, but it remains highly usable.

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

Parameters5/5

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

Input schema coverage is 0%, but the description compensates fully by documenting all four parameters: datetime_str ISO syntax and fallback, randomness range with default 0.6, count default and max 5, and mood examples. This gives an agent everything needed to form correct arguments.

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?

The opening line states a specific verb ('掚荐') and a concrete resource: what tea to drink today or at a given datetime, plus the exact output shape (400ml 壶泡䞀泡的完敎参数). The '壶泡' detail implicitly differentiates it from the sibling coldbrew_recommend, so an agent can tell them apart.

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to-use guidance is given, and no sibling alternative such as coldbrew_recommend is named. The '壶泡' wording implies hot-brew usage and the datetime parameter implies current-time behavior, but the choice is left to inference rather than spelled out.

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

recordA

记圕「我刚喝了XX」甚于疲劳降权䞎库存蜮换。茶名可暡糊匹配。

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full disclosure burden. It does reveal meaningful side effects (fatigue weighting, inventory rotation) and fuzzy matching, but it does not detail exactly what is modified, whether duplicate records are allowed, or how reversible the action is.

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

Conciseness5/5

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

One compact sentence packs the action, purpose, and matching behavior with no filler. The action pattern is front-loaded, making it immediately scannable for an agent.

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 one-parameter tool with an output schema and low complexity, the description covers the essentials for selection and invocation. It could add a pointer to undo_record for accidental entries, but nothing critical is missing.

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?

The input schema only lists 'name' with no description, and schema coverage is 0%. The description compensates by identifying the parameter as a tea name and noting that fuzzy matching is supported, which adds meaning beyond the schema. It omits format or matching details, but with only one parameter the core meaning is clear.

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

Purpose4/5

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

The description uses a concrete pattern ('我刚喝了XX') to define the tool as recording a tea-drinking event, and clearly states the downstream purpose (fatigue downweighting and inventory rotation). It is distinguishable from siblings like add_tea and undo_record despite not explicitly naming them.

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?

The description implies the trigger condition (the user has just drunk a tea) and gives clear context for when the tool is relevant. However, it does not explicitly say when not to use it or point to alternatives such as undo_record for correcting mistakes.

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

remove_teaA

「我喝光了XX」把茶移出库存。内眮茶标记䞺喝光可诎「我买了XX」恢倍自莭茶盎接删陀。茶名暡糊匹配。

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full behavioral burden. It discloses that built-in teas are reversibly marked as consumed, self-purchased teas are directly deleted, and names use fuzzy matching. It does not mention no-match handling or whether the action is logged, but core safety-relevant behavior is covered.

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

Conciseness5/5

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

The entire description is one compact sentence that front-loads the trigger phrase and packs in operation, conditional behavior, restoration path, and match semantics. There is no filler or redundant restating of the tool name.

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 destructive one-parameter tool with no annotations, it covers the key user-facing differences: reversible built-in consumption, irreversible self-purchased deletion, and fuzzy matching. An output schema exists, so return details are not required; however, ambiguous/no-match outcomes and interaction with undo_record/history are not addressed.

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?

The schema provides only 'name: string' with 0% coverage, so the description must add meaning. The 'XX' template in 'I drank up XX' maps the parameter to a tea name, and 'fuzzy match' explains acceptable input behavior. It could be more explicit about the field name, but the command-template approach is sufficient.

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?

The description states a concrete verb and resource ('remove tea from inventory') and gives a natural trigger phrase ('I drank up XX'). It further distinguishes built-in teas (marked consumed) from self-purchased teas (deleted), making the tool's purpose clear relative to add_tea and clear_inventory.

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?

The trigger phrase and the parenthetical restoration note ('I bought XX' to restore) communicate when to use remove_tea and suggest add_tea as the inverse. It does not explicitly mention when not to use it or how record/undo_record relate, so it falls short of full guidance.

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

reviewA

「倍盘」记圕喝感评价并自劚埮调该欟茶的热泡/冷泡参数持久化到 state.json。 理论参数只是起点——商家䌘劣、陈化、傚存变莚郜䌚让实际口感偏犻倍盘让参数莎合䜠的真实杯子。

参数: name: 茶名必填暡糊匹配库存 feedback: 喝感反銈词。'倪淡'/'䞍借味'→加量延时加枩'倪浓'/'苊'→减量延时降枩'æ¶©'→降枩减时 '仓气重'/'仓味'/'堆味'/'霉味'→掗茶档䜍+1'掗茶倪过'/'銙味掗掉'→掗茶档䜍-1 '闷味'/'闷熟'→改匀盖泡'銙气散'/'跑銙'→改盖盖泡 '泡酞'/'发酞'→降枩红茶高枩出酞'銙味没了'/'没銙气'→降枩高枩毁銙 '正奜'/'奜喝'→记圕䞍调含'重眮'→枅陀调校。倚绎可组合劂'仓气重还淡'、'銙味没了还淡'。 mode: hot=热泡壶泡默讀cold=冷泡 reset: True 盎接枅陀该茶该场景的调校等价 feedback 含'重眮' g/temp/minutes: 盎接指定热泡目标参数投茶g/氎枩℃/浞泡min>=0 才生效䌘先于自劚调敎 hours: 盎接指定冷泡冷藏小时数>=0 生效 prewash: 盎接指定掗茶档䜍 0~60=䞍掗2=生普默讀4=熟普/六堡/砖茶默讀>=0 生效 lid: 盎接指定盖盖/匀盖1=盖盖存銙保枩0=匀盖散气防闷>=0 生效 note: 可选倇泚劂 '商家这批偏淡' / '攟久了仓气重'

ParametersJSON Schema
NameRequiredDescriptionDefault
gNo
lidNo
modeNohot
nameYes
noteNo
tempNo
hoursNo
resetNo
minutesNo
prewashNo
feedbackNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so thoroughly. It discloses persistence to state.json, automatic adjustment logic, reset semantics, direct parameter precedence over auto-adjustment, and mode-specific behaviors such as prewash ranges and lid settings.

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

Conciseness5/5

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

The description is long, but justifiably so for 11 parameters with substantial behavior semantics. It is front-loaded with the core purpose, followed by a well-organized parameter list where every line adds necessary decision and invocation information.

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

Completeness5/5

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

Given the high complexity, absent schema descriptions, and no annotations, the description covers side effects, defaults, precedence, resets, and all 11 parameter semantics. An output schema exists, so return-value documentation is not required. The only minor unstated edge case is behavior when a name fails fuzzy matching, but this does not undermine overall completeness.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate, and it does comprehensively. Each parameter—name, feedback, mode, reset, g/temp/minutes, hours, prewash, lid, and note—is explained with meaning, defaults, valid ranges, and behavioral effects.

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?

The description opens with a specific verb and resource: 「记圕喝感评价并自劚埮调该欟茶的热泡/冷泡参数」, making it clear this is a review/refinement tool. It also distinguishes itself from siblings by emphasizing automatic parameter adjustment persisted to state.json, rather than just recording.

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?

The description clearly establishes when to use this tool: when actual drinking experience deviates from theoretical parameters due to merchant quality, aging, or storage issues. It provides detailed conditional behavior for different feedback words, but it does not explicitly name sibling alternatives or state when not to use it, so it stops short of a 5.

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

set_brewerA

修改壶具容量「我的茶壶是500ml」/「冷泡壶换成2L」。投茶量按茶氎比自劚等比猩攟氎枩/时闎䞍变。 默讀 400ml 茶壶 + 1.6L 冷泡壶存傚的投茶量始终是 400ml/1.6L 基准倌仅星瀺时折算。

参数: pot_ml: 茶壶容量 ml1003000>=0 才生效 cold_ml: 冷泡壶容量 ml5006000>=0 才生效 reset: True 恢倍默讀 400ml / 1.6L

ParametersJSON Schema
NameRequiredDescriptionDefault
resetNo
pot_mlNo
cold_mlNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden—and it delivers. It discloses that tea amount scales proportionally, water temperature and time stay unchanged, stored values are always baseline amounts, conversion happens only at display time, and reset restores defaults. This goes well beyond a typical setter description.

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

Conciseness5/5

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

The description is well-structured: purpose and examples first, then storage/default behavior, then a clean parameter list. Every line adds operational value and there is no filler or repetition of schema fields.

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

Completeness5/5

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

The tool is simple and the description covers defaults, scaling semantics, storage normalization, reset behavior, and parameter constraints. Since an output schema exists, explaining return values is unnecessary. No critical calling information is missing.

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

Parameters5/5

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

Schema description coverage is 0%, but the description fully compensates by documenting each parameter's unit, valid range, activation condition ('>=0 才生效'), and reset behavior. An agent can correctly construct calls without any external knowledge.

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?

The description opens with a specific verb and resource ('修改壶具容量') and gives concrete user-phrase examples, making the tool's function unmistakable. It is clearly distinct from all listed siblings, which concern records, inventory, recommendations, and reviews.

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?

The description supplies clear trigger examples ('我的茶壶是500ml' / '冷泡壶换成2L') that tell an agent exactly when to invoke this tool. It does not explicitly name alternatives or state when not to use it, so it falls just short of a 5.

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

undo_recordA

撀销最近䞀条喝茶记圕记错了可悔。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does state that only the most recent record is affected, but it omits critical traits like whether the action is destructive, irreversible, or what happens if no record exists yet. For a mutation tool, this is a significant gap.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that states the core action and follows with a brief use-case clarification. Every word contributes meaning, and there is no redundancy or irrelevant information.

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 stateless, zero-parameter tool that has an output schema, the description is nearly sufficient. However, because there are no annotations, it would benefit from explaining edge-case behavior (e.g., attempted undo with no records) or explicitly noting irreversible side effects.

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?

The tool accepts zero parameters, so there is no schema detail for the description to clarify. The empty schema already provides complete coverage of the parameter space, making the baseline 4 appropriate.

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?

The description clearly states a specific action (撀销/undo) applied to a specific resource (最近䞀条喝茶记圕 / most recent tea-drinking record). The parenthetical '记错了可悔' reinforces the use case, and the tool is unambiguously distinct from siblings like record, history, and inventory-related commands.

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

Usage Guidelines3/5

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

The description implies the tool should be used when a tea-drinking record was made by mistake, but it does not explicitly compare with alternatives such as record or history, nor does it define exclusion conditions. Usage guidance relies on the parenthetical hint rather than a clear statement of when to choose this tool over others.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 11 tool updatesv0.1.0
    • First observedadd_tea
    • First observedclear_inventory
    • First observedcoldbrew_recommend
    • First observedhistory
    • First observedinventory
    • First observedrecommend
    • First observedrecord
    • First observedremove_tea
    • First observedreview
    • First observedset_brewer
    • First observedundo_record

TDQS

A4.1/5.0
Disambiguation5/5

Each tool targets a distinct action or resource: logging, undo, inventory, history, hot recommendation, cold recommendation, add/remove/clear inventory, brewer settings, and feedback tuning. Even the closely related record and review tools are clearly separated by purpose—one logs a drink event, the other records feedback and adjusts brewing parameters.

Naming Consistency4/5

Most tools follow a clear lower_snake_case verb pattern like add_tea, remove_tea, clear_inventory, and set_brewer. Minor deviations exist: inventory and history are noun-style commands rather than verb_noun, and undo_record is a prefixed form, but the overall naming remains readable and predictable.

Tool Count5/5

With 11 tools, the server is well-scoped for a personal tea planning application. Each tool covers a distinct workflow from inventory management and drinking logs to hot/cold recommendations and brew parameter tuning, with no obvious redundancy.

Completeness4/5

The tool surface covers the core lifecycle: add/remove/clear/list inventory, log/undo/history drinking, recommend hot and cold brews, adjust brewer capacity, and record tasting feedback. A minor gap is the lack of a direct tea parameter editing tool, though re-adding teas and review-based tuning mitigate this.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/blyatman996/Tea-Chay-Advisor'

If you have feedback or need assistance with the MCP directory API, please join our Discord server