图书搜索服务

通过Gutendex API搜索和查阅古腾堡计划中的图书,为ChatGPT提供丰富的图书搜索工具。

  • by viteinfinite
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 viteinfinite/chatgpt-apps-sdk-gutendex-example

使用说明

Gutendex 书籍服务(应用软件开发工具包 + MCP)

这个仓库提供了一个ChatGPT连接器,使您能够使用公共API搜索和查阅来自古腾堡计划的书籍 Gutendex(注:此词可能是一个特定项目或平台的名称,直接翻译为“古腾德克斯”或根据上下文可能需要具体解释,但在此处作为专有名词保留原样) API 它使用OpenAI Apps SDK的约定和模型上下文协议(MCP)来提供一个搜索工具,该工具能在聊天中内联渲染一个丰富的控件。

📚 书籍 想自己开发一个ChatGPT应用吗? 查看我们全面的(服务/产品) ChatGPT应用程序开发指南 要学习 帮助您的代理了解 如何从零开始创建自定义的ChatGPT应用程序!

它是如何工作的

  • MCP服务器提供了一个单一的工具: gutendex.books.search。
  • 工具响应包括结构化的JSON以及 _meta.openai/outputTemplate 元数据,以便应用程序软件开发工具包(Apps SDK)能够填充匹配的小部件。
  • 小部件(gutendex-search) 生成一个分页的书籍列表,并提供快速链接以打开如HTML或纯文本等格式。

仓库结构

  • src/ – 小部件源(gutendex-search)。
  • assets/ – 在运行构建步骤后生成HTML、JS和CSS包。
  • gutendex_server_node/ – 使用官方TypeScript SDK实现的Node MCP服务器。
  • build-all.mts – Vite 构建编排器,为小部件生成哈希包。

先决条件

  • Node.js 18及以上版本
  • pnpm(推荐)或 npm/yarn

安装依赖项

pnpm install

构建小部件资源

pnpm run build

这会产生版本化的(结果/文件/数据等) .html, .js,和 .css 内部文件 assets/服务器读取 gutendex-search.html 从这个目录中。

要在本地迭代组件,您也可以启动 Vite 开发服务器:

pnpm run dev

提供静态资源(可选)

如果您想在不使用MCP服务器的情况下预览生成的软件包:

pnpm run serve

资产面临风险于 http://localhost:4444 启用CORS(跨源资源共享),以便本地工具(包括MCP检查器)能够获取它们。

运行MCP服务器(节点)

cd gutendex_server_node
pnpm start

服务器在(某个端点)暴露了一个SSE(Server-Sent Events,服务器发送事件)流 GET /mcp 以及一个位于(某处的)POST端点 POST /mcp/messages?sessionId=...。

在ChatGPT中进行测试

启用 开发者模式 并在设置 > 连接器中将服务器添加为连接器。如果您需要为本地服务器获取一个公共URL,请使用隧道工具(如)将其暴露出来 ngrok 并使用公共资源 /mcp 终端(或端点)。

部署

托管静态资源和MCP服务器。

设置 BASE_URL 在构建时,将其部署到公共源点(或公共原始出处) assets/ 被提供/被服务:

BASE_URL=https://your-public-assets-origin pnpm run build

额外资源

开发指南

文档

许可证

这个项目采用MIT许可证授权。详见 许可证 详情见下文。