mcpField
I
Inoh

Inoh

远程服务
inoh.app科研与教育05 天前更新

关于 Inoh

Inoh 的远程 MCP 服务让 AI 客户端查询词典,并在用户账户中创建和管理词汇卡片。它支持在对话中进行复习,将查词、制卡和复习进度连接到 Inoh 应用。

主要功能

  1. 01查询公共词典和个人卡片
  2. 02搜索及浏览卡组
  3. 03创建、更新和删除私人卡片
  4. 04记录复习结果并获取复习词
  5. 05提交公共词典词条申请

适用场景

  1. 01阅读文章时查询陌生词并制卡
  2. 02按卡组查找已有词汇或抽取随机词
  3. 03与 AI 对话进行每日复习和测验
  4. 04提交词义建议以供公共词典审核

MCP 相关

作为远程 MCP 服务,Inoh 向兼容的 AI 客户端提供词典查询、卡组管理、制卡和复习工具。用户通过 Inoh 账户授权连接。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.inoh.app/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;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 次调用。额度用完后,系统也不会安排今天的学习。额度会在你所在时区的每周一午夜重置。

套餐每周工具调用次数说明
Free35每周 3 次复习,另有 5 次调用可用
Plus100每周 10 次复习
Pro500每周 50 次复习(约每天 7 次)

添加、搜索和浏览也会使用工具调用次数。剩余次数不多时,AI 会提醒你;次数用完后,它会告知额度何时恢复以及在哪里升级套餐。

移出与删除

这是两种不同的操作,工具会将它们区分开来。

移出卡片只会将它从你的牌组中移除,不会产生其他影响。公共词典中的卡片会继续保留在 Inoh 中,供所有人使用;你创建的卡片则会继续保留在你的私人词典中。无论哪种卡片,你都可以随时重新添加,但复习进度会从头开始。remove_card_from_deck 对这两类卡片都会执行此操作。

删除仅适用于你创建的卡片,而且是永久操作:卡片会从你的私人词典中移除,其图片和音频也会一并销毁。此操作无法撤销。之后再次请求该单词时,会创建一张全新的卡片,并占用你每月的额度,因此 AI 会在删除前向你确认。如果卡片只是内容有误,而非你不再需要,update_private_card 会就地重制卡片并保留你的复习进度。

你创建的卡片

你在此处创建的卡片只属于你。它会加入你的私人词典,只有你能看到:它不会进入 Inoh 公共词典,也不会出现在其他人的动态或搜索结果中。两个人询问同一个单词,各自会得到自己的卡片。

这是一张完整的卡片,而不是空白模板:包含释义、例句、三段音频、一张图片、音标和两组测验选项。也就是说,卡片一生成,你就能在应用中复习它,与公共词典中的卡片一起使用;它还会显示在应用的「词典」选项卡下的「私人」分类中,并标记为你的卡片。制作一张大约需要 20 秒。

如果一个单词有多种含义,请告诉 AI 你指的是哪一种。「Runway」指现金还能维持几个月,与机场的「runway」是不同的卡片,而且在卡片送达你之前,没有人会审核结果。

如果 Inoh 已经收录了这个单词,或者你之前已经为它制作过卡片,生成会在开始前停止,并引导你查看那张卡片。公共词典卡片由 Inoh 编写并审核,添加卡片也不会占用你的月度额度,所以几乎总是更好的选择。如果你确实想为现有卡片未涵盖的含义制作自己的卡片,请说明这一点,AI 就可以继续生成。

每月可创建的卡片数,按自然月计算:

计划每月卡片数
Free50
Plus300
Pro1,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 运行。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。