关于 Inoh
Inoh 的远程 MCP 服务让 AI 客户端查询词典,并在用户账户中创建和管理词汇卡片。它支持在对话中进行复习,将查词、制卡和复习进度连接到 Inoh 应用。
主要功能
- 01查询公共词典和个人卡片
- 02搜索及浏览卡组
- 03创建、更新和删除私人卡片
- 04记录复习结果并获取复习词
- 05提交公共词典词条申请
适用场景
- 01阅读文章时查询陌生词并制卡
- 02按卡组查找已有词汇或抽取随机词
- 03与 AI 对话进行每日复习和测验
- 04提交词义建议以供公共词典审核
MCP 相关
作为远程 MCP 服务,Inoh 向兼容的 AI 客户端提供词典查询、卡组管理、制卡和复习工具。用户通过 Inoh 账户授权连接。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.inoh.app/mcpclaude mcp add --transport http app-inoh-inoh https://mcp.inoh.app/mcp{"mcpServers":{"app-inoh-inoh":{"type":"http","url":"https://mcp.inoh.app/mcp"}}}在 Cursor 中打开{"servers":{"app-inoh-inoh":{"type":"http","url":"https://mcp.inoh.app/mcp"}}}在 VS Code 中打开{"mcpServers":{"app-inoh-inoh":{"type":"http","url":"https://mcp.inoh.app/mcp"}}}{"mcpServers":{"app-inoh-inoh":{"serverUrl":"https://mcp.inoh.app/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
inoh-mcp
面向 Inoh 的远程 MCP 服务——为善于表达的人打造的词汇应用。将它连接到 Claude、ChatGPT、Cursor 或任何支持 MCP 的客户端,你的 AI 就能在与它交谈时,用你的账户查找 Inoh 词典中的单词并为你创建抽认卡。
在文章中遇到一个新词时,只需询问,它就会变成一张卡片,包含释义、例句、音频、图片和测验选项,可在手机上的 Inoh 应用中随时复习。
一个单词可以存在于多个卡组中。该单词的复习进度会共享,每个卡组中的条目都会计为一张卡片,占用账户套餐的限额。从一个卡组中移除单词后,只要它仍在其他卡组中,复习进度就会保留。部署此服务之前,请先部署相关的 inoh-backend 迁移。
https://mcp.inoh.app/mcp
连接
你需要一个免费的 Inoh 账户。登录会通过 Inoh 常规的电子邮件流程在浏览器中完成,因此你的 AI 客户端不会看到你的密码;你也可以随时在 Inoh 账户设置中撤销访问权限。
Claude、Cursor、ChatGPT、Gemini、VS Code 等客户端的分步说明请参阅 docs.inoh.app。服务地址和故障排查也见 docs/installation.md。
Grok Bot 插件
Inoh 插件将托管 MCP 连接和词汇技能打包,供 Grok Bot 使用。它采用 Cursor 的插件格式和市场。其清单提供服务地址,因此用户可以通过插件的浏览器登录流程进行连接。根目录中的
.cursor-plugin/marketplace.json 指向 plugins/grok-bot/ 下的独立软件包。插件软件包按目标客户端归类,存放在 plugins/ 下;每个软件包都会连接到同一个托管 MCP 服务。
该插件采用 MIT 许可证,目前尚未上架。仍需完成已登录客户端测试和市场审核。有关步骤和发布者表单的填写内容,请参阅发布与测试。
你可以提出什么请求
| 工具 | 功能说明 |
|---|---|
search_dictionary | 在公开词典和你自己的卡片中查找单词或短语 |
search_deck | 搜索你已有的单词,可跨所有卡组或只搜索一个卡组 |
browse_deck | 不输入搜索词,直接从你的卡组中提取单词 |
record_review | 复习时记录你对单词的记忆情况 |
add_card_to_deck | 将已有卡片添加到你的某个卡组 |
remove_card_from_deck | 将卡片从你的卡组中移除,但保留卡片本身 |
create_private_card | 为一个单词创建完整的抽认卡并存入你的卡组 |
update_private_card | 重做你创建的卡片,同时保留其复习进度 |
request_public_card | 请求将一个单词添加到所有人共用的词典 |
check_card_status | 查看卡片或你提交的请求的处理进度 |
delete_private_card | 永久删除你创建的卡片 |
check_account | 显示你当前登录的是哪个 Inoh 账户 |
人们实际会这样说:
- “把 serendipity 加到我的 Inoh 卡组里。”
- “我在创业文章里总是看到 runway。帮我为它的这个含义制作一张卡片,不要用机场跑道的那个意思。”
- “把那篇文章里我答错的每个单词都做成卡片。”
- “我的 platitudinous 卡片准备好了吗?”
- “我的卡组里已经有 serendipity 了吗?”
- “从我的卡组里随机给我十个单词。”
- “我最近往卡组里加了什么?”
- “我今天应该复习什么?”
- “用今天的单词考考我。”
- “我总是忘记哪些单词?”
- “我的卡组里有带 get 的短语动词吗?”
- “把 banyan 从我的卡组里移除吧,我现在已经认识它了。”
- “我的 moat 卡片解释错了——重新制作一张,说明它在商业领域的含义。”
- “我的 runway 卡片上的那张图没用。重新制作这张卡片。”
- “删除我之前创建的 moat 卡片。”
- “把 banyan 卡片重新放回我的卡组里。”
- “Inoh 里没有 enshittification。你能把它添加到公共词典里吗?”
- “我提议的那个单词后来有被收录进词典吗?”
查询单词时,AI 会先查找;如果 Inoh 已有该单词的卡片,就添加公共词典中的卡片,只有在没有卡片时才会生成一张新的。
search_deck 会搜索你已有的单词,而不是你可以添加的单词,因此它能回答“我已经有这个单词了吗?”,不会让词典中 45,000 条词条淹没你自己的卡片。它会像应用的搜索功能一样容忍拼写错误,并告诉你单词位于哪个卡组。
没有要搜索的单词时,就用 browse_deck。请求随机抽取一些单词,每次都会得到不同的结果;请求最新或最早添加的单词,则会按添加顺序返回;询问今天要复习什么,则会得到今天的复习内容,和应用安排的相同:新卡片,以及在你当天结束前排入计划的单词;询问你总是忘记什么,则会按复习时答错的次数列出卡片,最容易忘记的排在最前面。以这种方式浏览卡组不会影响卡片的复习计划。
在对话中复习
让 AI 帮你复习、过一遍牌组或测验你,它就会直接开始今天的学习,无需额外确认。它会按照适合对话的方式进行学习:可能会说出一个单词并问你它是什么意思,给你一个释义并让你说出单词,或者在句子中使用它。每次回答后,它都会判断你记得如何(记得、记得一部分,或没记住),并立即通过 record_review 保存,因此中途停止也不会丢失任何内容。
这里进行的复习与应用中的复习完全一样。单词会按照相同的规则安排复习,并且在再次到期前不会出现。今天的连续学习目标是复习所有牌组和客户端中共 10 个不同的单词;如果已到期的单词少于 10 个,则复习所有已到期的单词。新卡片会立即进入复习队列。如果其他牌组中还有待复习的单词,只完成一个单词的牌组学习不会达成目标。MCP 服务会在每次回答后报告目标进度,并在还有单词待复习时提供下一次学习。
如果当前没有待复习的单词,现有连续学习天数会保持不变。服务会告知这一点,并提供随机单词供你选择练习;这类练习不会增加连续学习天数。
每次学习最多包含 10 个单词,与应用安排的学习内容相同:如果有新单词,至少包含 3 个;其余为已安排的单词;如果有超过 20 个已到期的单词,则不会加入新单词,让落后的学习者先补上进度。达成目标后,如果还有单词可以复习,学习者仍可开始下一次学习。
每周使用额度
你的套餐包含每周 MCP 工具调用额度。一次工具调用是指 AI 助手在 Inoh 中替你完成的一项操作:记录一次回答、添加单词或查找单词。开始今天的学习以及查看当前登录的账户均免费,因此,包含 10 个单词的完整学习会使用 10 次调用。额度用完后,系统也不会安排今天的学习。额度会在你所在时区的每周一午夜重置。
| 套餐 | 每周工具调用次数 | 说明 |
|---|---|---|
| Free | 35 | 每周 3 次复习,另有 5 次调用可用 |
| Plus | 100 | 每周 10 次复习 |
| Pro | 500 | 每周 50 次复习(约每天 7 次) |
添加、搜索和浏览也会使用工具调用次数。剩余次数不多时,AI 会提醒你;次数用完后,它会告知额度何时恢复以及在哪里升级套餐。
移出与删除
这是两种不同的操作,工具会将它们区分开来。
移出卡片只会将它从你的牌组中移除,不会产生其他影响。公共词典中的卡片会继续保留在 Inoh 中,供所有人使用;你创建的卡片则会继续保留在你的私人词典中。无论哪种卡片,你都可以随时重新添加,但复习进度会从头开始。remove_card_from_deck 对这两类卡片都会执行此操作。
删除仅适用于你创建的卡片,而且是永久操作:卡片会从你的私人词典中移除,其图片和音频也会一并销毁。此操作无法撤销。之后再次请求该单词时,会创建一张全新的卡片,并占用你每月的额度,因此 AI 会在删除前向你确认。如果卡片只是内容有误,而非你不再需要,update_private_card 会就地重制卡片并保留你的复习进度。
你创建的卡片
你在此处创建的卡片只属于你。它会加入你的私人词典,只有你能看到:它不会进入 Inoh 公共词典,也不会出现在其他人的动态或搜索结果中。两个人询问同一个单词,各自会得到自己的卡片。
这是一张完整的卡片,而不是空白模板:包含释义、例句、三段音频、一张图片、音标和两组测验选项。也就是说,卡片一生成,你就能在应用中复习它,与公共词典中的卡片一起使用;它还会显示在应用的「词典」选项卡下的「私人」分类中,并标记为你的卡片。制作一张大约需要 20 秒。
如果一个单词有多种含义,请告诉 AI 你指的是哪一种。「Runway」指现金还能维持几个月,与机场的「runway」是不同的卡片,而且在卡片送达你之前,没有人会审核结果。
如果 Inoh 已经收录了这个单词,或者你之前已经为它制作过卡片,生成会在开始前停止,并引导你查看那张卡片。公共词典卡片由 Inoh 编写并审核,添加卡片也不会占用你的月度额度,所以几乎总是更好的选择。如果你确实想为现有卡片未涵盖的含义制作自己的卡片,请说明这一点,AI 就可以继续生成。
每月可创建的卡片数,按自然月计算:
| 计划 | 每月卡片数 |
|---|---|
| Free | 50 |
| Plus | 300 |
| Pro | 1,000 |
卡片内容有误时
请重新生成,而不是删除。update_private_card 会重新生成释义、例句、图片、音频和测验选项,并覆盖同一张卡片,因此卡片仍保留在牌组中的位置,以及 Inoh 对你记忆情况的所有了解。删除后重新制作会丢失这些内容,还得从头开始学习这个单词。
说明你指的是哪种含义,AI 就会改为讲解该含义。如果不说明,它只会针对原有含义再生成一次;当含义正确,只是例句平淡或图片不太合适时,这正是你需要的。
重新生成会占用月度额度中的一张卡片,因为它会生成一张新图片——这是制作卡片最昂贵的部分。它无法更改卡片要讲解的单词:那是另一张卡片,因此请删除这张,再制作另一张。
删除
删除卡片会将其彻底移除:包括卡片本身、它在牌组中的位置,以及图片和音频文件。已使用的月度额度不会返还。在 Inoh 应用的牌组中移除你自己的卡片,也会在几分钟后、撤销时间结束后将其删除。
为公共词典做贡献
以上内容都与你自己的卡片有关。公共词典——所有 Inoh 用户共享的 45,000 条词条——是另一部分,你也可以为它添砖加瓦。如果你觉得词典里应该有某个词,只要告诉 AI,它就会把你描述的词义一并提交。
这里有一点和创建自己的卡片不同:Inoh 的工作人员会先审核,然后才会发布。 Inoh 会像往常一样制作卡片,然后等待审核人员处理,因此需要几天,而不是一分钟,并且请求也可能被拒绝。如果词条发布了,这张卡片就属于所有 Inoh 用户——它也会加入你的卡组,所以你无需等自己的建议获批,就能学习这个词。
提交建议不会占用你每月的私人卡片额度,因此建议一个词不会用掉你可能想留给自己的卡片额度。(不过有一项上限:你每天向 Inoh 发出的所有制作请求合计不超过 100 个,这是为了阻止脚本失控,而不是限制你。)
该申请哪一种:
| 你的需求 | 申请内容 | 你会得到什么 |
|---|---|---|
| 今天就把这个词加入你的卡组 | 创建自己的卡片 | 大约一分钟内完成,保证可用 |
| 让 Inoh 的所有用户都能看到这个词 | 提交请求 | 几天内处理,前提是请求获批 |
你完全可以两者都做——现在先给自己创建一张卡片,同时也提交这个词。如果词典里已经有这个词,就无需再贡献,AI 会改为向你提供现有卡片;如果你指的是另一种词义,告诉 AI 后,它仍可以提交请求。
问“我的建议处理到哪一步了?”,check_card_status 会同时回答这两类请求:你自己的卡片会显示为已就绪,建议则会显示为审核中、已发布或已拒绝。应用的“我的请求”界面也会显示同一份列表。
隐私与数据处理
- 服务端不会存储任何自己的数据。 它使用你的访问令牌操作你的 Inoh 账户,并通过数据库的行级安全策略确保读取和写入的所有数据都属于你。
- 它不持有任何管理员凭据。 这里没有服务角色密钥,因此工具中的错误无法越权访问你的数据。
- 它不会记录卡片内容、请求正文或令牌。 日志中只会写入启动信息、被拒绝的来源和意外错误。
- 创建卡片时,会将词语和你描述的词义发送到 Inoh 的卡片处理流程,该流程使用 OpenAI 处理文本、使用 Google Cloud 生成语音,并使用 Google Gemini 生成图片。不会发送与你有关的其他信息。
- 你为公共词典建议的词会由 Inoh 的工作人员审核,也会一并查看你写下的词义,因为审核过程本身就需要这些内容。已发布的词条不会留下建议者的任何信息。
- 你的卡片始终属于你。 删除卡片时,其底层媒体文件也会一并删除,除非同一文件被另一张卡片合法共用。
- 你可以随时在 Inoh 账户中撤销访问权限,撤销后,这里的任何内容都不会保留。
安全性
请求通过 OAuth 2.1 持有者令牌进行身份验证;未通过身份验证的请求会收到 401 响应,其中包含指向服务端受保护资源元数据的链接,MCP 客户端可借此发现登录流程。/mcp 端点还会验证 Origin 标头,防止网页通过你的浏览器驱动服务端。
发现问题?请在此代码库中提交一个 issue。
许可协议
MCP 服务源代码已公开,供你审核它如何处理你的账户;该源代码仍保留所有权利。请参阅 LICENSE。连接到托管服务无需许可。
plugins/grok-bot/ 和 .cursor-plugin/marketplace.json 中的独立插件采用 MIT License 授权。此例外不适用于服务端源代码。
推送检查
每次向 main 推送(包括合并拉取请求或直接推送),都会在 GitHub Actions 中启动 Push checks 工作流。质量任务会检查格式和 lint。AI 任务会使用此仓库的 CLAUDE.md 和 ANTHROPIC_API_KEY Actions 密钥审查更改的源代码。这些检查会在更改进入 main 后运行;向功能分支推送不会启动这些检查。
如果质量检查失败,或 AI 审查报告了问题但未进行修改,请检查 Actions 运行记录并进行后续修复。如果 Claude 修改了代码,Actions 会验证这些修改,并创建一个以 main 为目标分支的 ai-fix/* 拉取请求。AI 任务会保持绿色,因为修复拉取请求就是处理信号;只有当审查发现无法修复的问题时,任务才会变红。请手动审查并合并该拉取请求。
如果 AI 修复拉取请求仍处于打开状态时 main 有新提交,下一次 AI 审查会连同新推送一起重新检查尚未解决的更改。它会基于较新的审查提交创建一个替代拉取请求,然后关闭旧拉取请求。如果不再需要修复,它会关闭旧拉取请求;如果审查失败,旧拉取请求会保持打开状态。AI 修复拉取请求不会运行此仅针对 main 的工作流,因此合并前请根据最新的 main 检查替代拉取请求并解决冲突。合并后会启动一次新的 Push checks 运行。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。