mcpField
O
On-Demand-Books

On-Demand-Books

远程服务
gmlewis.github.io游戏娱乐016 周前更新

关于 On-Demand-Books

On-Demand-Books 是用于在商店目录中查找个性化益智书的 MCP 服务,帮助送礼者按收礼人的名字搜索,并获取 Shopify 购买链接。

主要功能

  1. 01按名字搜索书籍
  2. 02推荐有书可选的名字
  3. 03获取书籍购买链接
  4. 04查看封面和 ISBN
  5. 05区分精确匹配与相似名字

适用场景

  1. 01寻找个性化生日礼物
  2. 02拼写不确定时获取名字建议
  3. 03获取书籍的直接购买链接

MCP 相关

该服务向 MCP 客户端提供书籍搜索、名字建议和购买链接查询工具,并通过 Streamable HTTP 端点提供服务。

配置

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

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

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

工具

3
参数类型必填说明
namestring是用于搜索个性化拼图书的名字(例如 'Susan'、'Bob')。不区分大小写;非字母字符会被移除。
utm_sourcestring否可选的 UTM 来源标记,用于营销归因(例如 'mcp.so'、'claude'、'hn')。会以 ?utm_source=<value> 的形式附加到所有 Shopify 产品 URL,以便卖家追踪带来销售的渠道。默认为 'mcp'。

详细介绍

on-demand-books MCP 服务

一个 MCP(Model Context Protocol) 服务,可帮助 AI Agent 从 On-Demand-Books Shopify 商店的目录中找到完美的个性化益智书籍礼物。目录中有100,853 本定制书籍。

将此服务添加到任何兼容 MCP 的 AI Agent(Claude Desktop、opencode 等),你的 Agent 就能按收礼人的名字搜索书籍,并向购买者提供直接的 Shopify 购买链接。

演示

on-demand-books MCP 演示

提供的工具

工具用途
search_books按名字搜索包含 10 万多本个性化书籍的目录。最多返回 9 本匹配的书籍(迷宫、姓名数独,以及 3 种难度级别的单词搜索),并提供直接的 Shopify 购买 URL、封面图片和 ISBN。区分完全匹配和相似名字匹配。
suggest_names推荐有书籍可选的热门名字,也可按前缀筛选。适用于购买者不确定拼写,或想获取礼物收件人名字灵感的情况。
get_book根据产品 handle(由 search_books 返回)重新解析单本书籍的 Shopify 购买 URL。

在线端点

https://on-demand-books-dq2yvpdh.fermyon.app/

托管于 Fermyon Cloud,是一个使用 wasmcp 工具包构建的 Spin + WebAssembly 组件。

添加到 MCP 客户端

Claude Desktop / Claude Code(claude_desktop_config.json)
{
  "mcpServers": {
    "on-demand-books": {
      "url": "https://on-demand-books-dq2yvpdh.fermyon.app/"
    }
  }
}
opencode(opencode.json)
{
  "mcp": {
    "on-demand-books": {
      "type": "http",
      "url": "https://on-demand-books-dq2yvpdh.fermyon.app/"
    }
  }
}
其他 MCP 客户端

让任何支持 Streamable HTTP 传输的 MCP 客户端连接上面的在线端点。此服务遵循 MCP 2025-11-25 规范。

Agent 使用示例

用户: 我想给侄女 Susan 买一份生日礼物。她喜欢益智游戏。

Agent 调用 search_books({ "name": "Susan" }) 并回复:

好消息——有 9 本为 Susan 定制的益智书籍,包括《Susan 趣味迷宫——从简单到中等》和《Susan 趣味姓名数独——从困难到极难》。这是第一本的直接链接: https://on-demand-books.com/products/vz5ygw — 将它加入购物车,然后在 Shopify 结账。

在本地构建和运行

make setup  # Install wasm32-wasip2 target
make build  # Output: target/wasm32-wasip2/release/on_demand_books.wasm
wasmcp compose server target/wasm32-wasip2/release/on_demand_books.wasm -o server.wasm --force
spin up --listen 127.0.0.1:8765   # http://127.0.0.1:8765/

使用 curl 进行冒烟测试:

curl -X POST http://127.0.0.1:8765 -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"curl","version":"1"}}}'

curl -X POST http://127.0.0.1:8765 -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'

curl -X POST http://127.0.0.1:8765 -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"search_books","arguments":{"name":"susan"}}}'

部署

spin deploy

实现

此组件采用 wasmcp 的能力模式,仅实现 tools-capability 接口中的两个方法:

  • list_tools() — 声明上述三个工具。
  • call_tool() — 将调用分发给相应的工具处理程序并返回结果。

wasmcp compose CLI 会使用 tools-middleware 封装该组件,负责 MCP 协议转换、请求委派和响应格式化。

搜索 API 的出站 HTTP 请求使用 WASI HTTP outgoing-handler 接口(而非原始套接字),以确保组件能在 Fermyon Cloud 上正常运行。

完整实现请参阅 src/lib.rs。

架构

MCP client (Claude / opencode / ...)
        │  HTTPS (MCP Streamable HTTP transport)
        ▼
Fermyon Cloud  →  server.wasm  (composed by wasmcp)
        │
        ├─ transport.wasm        (HTTP transport, MCP framing)
        ├─ tools_middleware.wasm (MCP protocol → tool dispatch)
        └─ on_demand_books.wasm  ← THIS COMPONENT
                │
                │  WASI HTTP outgoing-handler
                ▼
        https://on-demand-books-com-kzfxdscz.fermyon.app/search/{name}
                │
                ▼  returns book metadata
        https://on-demand-books.com/products/{handle}  (Shopify store)

评论

支持 Markdown

第一次接触 MCP?

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

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