使用说明
项目简介
OpenAPI Search 是一个基于 Cloudflare Worker 构建的服务,旨在解决 OpenAPI 规范难以发现和访问的问题。它通过预定义的路径列表扫描目标域名,自动发现并缓存 OpenAPI 规范,为 LLM 智能体提供便捷的 API 访问入口。虽然项目名称包含 "openapi-mcp-server" 的关联信息,但 'openapisearch' 仓库本身并非 MCP 服务器的完整实现。它更侧重于 OpenAPI 规范的检索和代理,可以作为 MCP 生态系统中获取 API 资源的一个组件。
主要功能点
- OpenAPI 规范发现:自动探测并验证目标域名下常见的 OpenAPI 规范路径。
- 高效检索:通过预定义的路径列表和缓存机制,快速定位 OpenAPI 规范。
- 内容协商:支持根据客户端请求的 'Accept' 头返回 JSON 或 Markdown 格式的元数据信息。
- CORS 支持:允许跨域访问,方便前端应用和 LLM 客户端集成。
- Cloudflare Worker 部署:基于 Cloudflare Worker 构建,易于部署和扩展。
- Logo 服务:根据 OpenAPI 规范的服务端点动态获取 Favicon 图标。
- 元数据视图:提供 API 提供商的元数据视图,方便浏览和选择 API。
安装步骤
本项目是一个 Cloudflare Worker,无需传统安装步骤,只需将其部署到 Cloudflare Workers 平台即可。
- 安装 Wrangler CLI:确保已安装 Cloudflare Workers 的 CLI 工具 Wrangler。
- 配置 Cloudflare 账号:使用 'wrangler login' 命令登录您的 Cloudflare 账号。
- 创建 Workers 服务:在 Cloudflare 控制台中创建一个新的 Workers 服务。
- 部署代码:将仓库代码上传到 Cloudflare Workers,或使用 'wrangler deploy' 命令部署。
服务器配置
由于 'openapisearch' 不是标准的 MCP 服务器,因此 MCP 客户端不能直接将其作为 MCP 服务器连接。但可以将其作为一个 OpenAPI 资源发现服务,辅助 MCP 客户端获取 OpenAPI 规范。
如果需要将 'openapisearch' 服务集成到 MCP 客户端环境中,您可能需要自行开发适配层,将 'openapisearch' 的 API 转换为 MCP 客户端可以理解的资源访问方式。
以下是一个 假设的、用于描述 'openapisearch' 服务部署信息的 JSON 配置,并非 MCP 客户端的标准服务器配置,仅供参考:
{ "serverName": "OpenAPI Search Service", "description": "Cloudflare Worker for discovering OpenAPI specifications.", "baseUrl": "https://your-cloudflare-worker-domain.workers.dev", "endpoints": { "metadata": "/metaview", "openapi": "/openapi/{providerId}", "redirect": "/redirect/{providerId}", "logo": "/logo/{encodedOpenapiUrl}" }, "notes": "This is NOT a standard MCP server. It provides OpenAPI discovery capabilities. MCP Clients need to interact with it via HTTP requests to the specified endpoints. Adaptation layer may be needed for MCP integration." }
配置参数说明 (非 MCP 标准配置,仅供参考):
- 'serverName': 服务的名称,例如 "OpenAPI Search Service"。
- 'description': 服务的简短描述。
- 'baseUrl': Cloudflare Worker 部署后的域名。
- 'endpoints': 服务提供的不同端点及其路径模板。
- 'metadata': 获取元数据视图的端点,返回 API 提供商列表。
- 'openapi': 获取指定 'providerId' 的 OpenAPI 规范的端点。
- 'redirect': 重定向到指定 'providerId' 的 OpenAPI 规范的端点。
- 'logo': 获取指定 'encodedOpenapiUrl' 的 Favicon 图标的端点。
- 'notes': 关于此服务的重要说明,强调它不是标准 MCP 服务器,需要适配才能在 MCP 环境中使用。
请注意: MCP 客户端通常需要配置 'command' 和 'args' 来启动并连接 MCP 服务器进程。由于 'openapisearch' 是 Cloudflare Worker,它以无服务器方式运行,没有需要客户端启动的服务器进程。 因此,上述 JSON 配置中省略了 'command' 和 'args' 字段,并使用 'baseUrl' 和 'endpoints' 来描述如何访问服务提供的 API。
基本使用方法
-
访问元数据视图:
- 访问 'https://your-worker-domain.workers.dev/' 或 'https://your-worker-domain.workers.dev/index.json' 获取 JSON 格式的 API 提供商元数据。
- 访问 'https://your-worker-domain.workers.dev/index.md' 获取 Markdown 格式的 API 提供商元数据。
-
获取 OpenAPI 规范:
- 使用 'https://your-worker-domain.workers.dev/openapi/{providerId}' 或 'https://your-worker-domain.workers.dev/redirect/{providerId}' 访问特定 'providerId' 的 OpenAPI 规范。
- 其中 '{providerId}' 可以是:
- 预定义的提供商 ID (例如 'npm')
- 域名 (例如 'api.github.com')
- URL (例如 'https__raw.githubusercontent.com__APIs-guru__openapi-directory__main__APIs__amazonaws.com__apigateway.amazonaws.com.json'),URL 中的 '/' 和 ':' 等特殊字符需要进行 URL 编码,或使用 '__' 替换 '/'。
-
获取 Logo:
- 使用 'https://your-worker-domain.workers.dev/logo/{encodedOpenapiUrl}' 获取指定 OpenAPI URL 的 Favicon 图标,其中 '{encodedOpenapiUrl}' 是 OpenAPI 规范 URL 的 URL 编码版本。
示例:
- 获取 'npm' 提供商的 OpenAPI 规范: 'https://your-worker-domain.workers.dev/openapi/npm'
- 获取 'api.github.com' 的 OpenAPI 规范: 'https://your-worker-domain.workers.dev/openapi/api.github.com'
- 获取 GitHub 上某个 OpenAPI 规范的 Logo: 'https://your-worker-domain.workers.dev/logo/https%3A%2F%2Fraw.githubusercontent.com%2FAPIs-guru%2Fopenapi-directory%2Fmain%2FAPIs%2Famazonaws.com%2Fapigateway.amazonaws.com.json'
总结: 'openapisearch' 提供了一个便捷的方式来发现和访问 OpenAPI 规范,可以作为 LLM 应用和 MCP 生态系统中获取 API 资源的实用工具。但它并非一个可以直接对接 MCP 客户端的标准 MCP 服务器,需要根据实际需求进行适配和集成。
信息
分类
网页与API