own-words

io.github.alexslkgit由 GitHub 帳號 alexslkgit 發布v1.0.0更新於 Oct 24, 2026

Turn notes into a study deck: answer each card in your own words, then compare.

已驗證Streamable HTTP可網頁執行效率與工作流知識與記憶

概覽

AI 產生的概覽

遠端 MCP 伺服器,驗證學習卡片組的 JSON 並回傳可分享的 own-words 連結,讓你先用自己的話作答再對照答案。

可以做什麼
  • 驗證學習卡片組的 JSON 物件,並回傳附有卡片數量的可分享 own-words 連結。
  • 卡片組本身壓縮在連結中,助理可直接交付一個打開即可使用的卡片組,而不必產生檔案。
適用情境
適合讓助理把某個主題或筆記整理成可自測的學習卡片組,再在瀏覽器中逐張作答。也適合需要以連結形式分享的短卡片組。
執行需求
需要遠端 MCP 端點;公用執行個體可在 claude.ai 的「設定 > 連接器 > 新增自訂連接器」中填入並選擇免登入。開啟卡片組連結需要現代瀏覽器。不需帳號或 API 金鑰。
安裝前請注意
整個卡片組會壓縮進 URL 的片段部分,卡片組越長連結越長,README 建議長卡片組存成檔案。伺服器不保留任何狀態,作答進度只存在瀏覽器本機儲存空間,清除網站資料即遺失。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 own-words,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.alexslkgit%2Fown-words/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "own-words": {
      "type": "http",
      "url": "https://own-words-mcp.alexslkmain.workers.dev/mcp"
    }
  }
}

README

own-words

own-words turns a topic into a deck of question cards. Each card asks a question, you type your answer, and only then does the prepared answer appear; you mark it "I knew it" or "see again" and go on.

I have ADHD. Reading a prepared answer first always felt like understanding, and then the next real question found out that it was not. Typing my own answer first is what stuck, so the deck now makes me do it before it shows me anything.

New here? Try the 2-minute tutorial.

[A card with the prepared answer open above my own words]

Try it, nothing to install

https://alexslkgit.github.io/own-words/

Two decks are on that page: "How own-words works", 8 cards, and "Claude Code in 30 questions", 30 cards. Open one, answer three or four cards, and you have seen the whole thing.

Make your own deck

No account for any of these.

Paste deck JSON into the box on the landing page. A fenced reply or a line of chat around the JSON is fine; the box finds the deck inside it.

Press "Copy the prompt" on the same page, hand the prompt to any assistant along with your topic, and paste back what it replies with.

Install the Claude Code plugin:

claude plugin marketplace add alexslkgit/own-wordsclaude plugin install own-words@own-words

Then run /own-words with a topic or a file. It writes <topic-slug>.deck.json in the current directory, checks it, and prints the link that opens it.

A deck is one JSON file: a key, a title, and blocks of cards, each card a question and an answer. The two decks above are in decks/ in exactly that form, with nothing in them the format does not give you. The file is also how a deck moves to another device: the link for the 30-card demo is about 17 KB because the whole deck travels inside it, so keep long decks as files and share the link for short ones.

A card may also carry a weight, "w": 1 to 100. When any card in a deck has one, three stops in the header show the whole deck, only cards weighted 60 and up, or only 85 and up, so a short session covers what matters most. A card with no weight is always shown.

When an answer is too hard to read

Once the answer is shown, tap the words you do not follow, or select a phrase, then press "Simpler, not longer". The page builds a request whose word budget is the answer's own length; send it to Claude or any chat and paste the reply back. The page refuses a reply with more words than the budget, so the card gets clearer without growing. With the plugin, Claude Code also writes the simpler version into your .deck.json beside the original answer, which it never changes. For example, with "existential" and "witness table" marked:

Before, 30 words: some names one concrete type that the compiler knows but hides, while any is an existential box resolved at runtime through a witness table, so its calls cannot be specialized.

After, 26 words: some: one real type the compiler knows, just unnamed. any: a box (fits any matching type) opened at run time, so its calls cannot be specialized.

Where the deck lives

The link carries the whole deck inside the URL, after #d=, compressed with lz-string. A URL fragment is never sent in the HTTP request, so a deck link opens without any server ever holding the deck. deck.html renders whatever deck it is handed and knows nothing else.

Every deck you open is kept in this browser's localStorage, under ownwords:decks:<key> and ownwords:index, together with your answers and marks; the landing lists them under "My decks". There is no account and nothing you write is stored on a server. Clearing site data for the page drops the decks and the progress, and "My decks" empties; the .deck.json file or the link brings a deck back, the progress does not come back.

The one time your text moves is the copy button on a card page. It builds a plain text form of the deck: every card you touched, with the question, your own wording, and your mark, then the numbers of the cards you left alone. Nothing is copied until you press it. Pasting that form back into the chat that wrote the deck is how you ask for harder cards.

Plain HTML and JavaScript, no build step, one vendored dependency (lz-string). The pages ask Google Fonts for two typefaces; block that and everything still works in a system font, including from a file:// path.

connector/ is a small remote MCP server so claude.ai can hand you a deck link directly. A public instance runs at https://own-words-mcp.alexslkmain.workers.dev/mcp: in claude.ai open Settings > Connectors > Add custom connector, paste that URL and pick No sign-in. It keeps no state and stores nothing, the deck goes into the link. To run your own, see connector/README.md.

Uninstall

claude plugin uninstall own-words@own-wordsclaude plugin marketplace remove own-words

The site needs nothing installed, so closing the tab is enough.

Requirements

A modern browser, for the site and for any deck link. The plugin needs Claude Code.

This is one person's tool at version 0.3.0. I use it daily on my own decks; the English strings in it are new, so if a line reads oddly, that is why.

If you tried it on something you actually needed to learn, did writing your own answer first change what you remembered a week later? Open an issue and tell me: https://github.com/alexslkgit/own-words/issues

MIT, see LICENSE.

來源:README.md,提交 d3a11b6

工具

1

create_deck

Validate a study-deck JSON object and return the shareable own-words link with the card count.

輸入參數deck必填

版本歷史

1
  1. v1.0.0最新Oct 15, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分