TinyFish 的 Hana 市场连接器包。这个仓库只发布连接器声明,不附带任何服务端代码,也不携带任何凭据。
一份 connector.json,把 Hana 指向 TinyFish 自己托管的远程 MCP 服务:
https://agent.tinyfish.ai/mcp
装完后 Hana 的 MCP 连接器详情页出现 TinyFish,点一次登录走完 OAuth,工具就进模型工具表。搜索与抓取按 TinyFish 的额度免费。
TinyFish 的 MCP 端点不接受 API key。对 https://agent.tinyfish.ai/mcp 发 MCP initialize:
- 无凭据 →
401带WWW-Authenticate: Bearer resource_metadata="https://agent.tinyfish.ai/.well-known/oauth-protected-resource/mcp" - 带
Authorization: Bearer <API key>→ 仍401,Clerk 报token-invalid,它要的是 JWT 不是 key - 带
X-API-Key: <API key>→ 仍401,Clerk 报session-token-and-uat-missing
凭据这一段由 clerk.tinyfish.ai 校验。它的授权服务器元数据带 registration_endpoint,动态客户端注册实测返回 201,正是 Hana 连接器 authType: "oauth" 一键登录那条路。所以这个包里没有 key 字段,用户的密钥也不会经过这个仓库。
TinyFish 另外可选的 @tiny-fish/mcp(github.com/tinyfish-io/tinyfish-mcp-server)是本机反向代理,它自己的 README 建议优先直连托管端点,只在客户端只说 stdio 或需要用环境变量里的 API key 时才用它。Hana 支持远程 Streamable-HTTP,用不到中转。
tinyfish/
connector.json 连接声明:传输方式、URL、认证方式、版本
icon.png 图标,来自 TinyFish 站点自己的 apple-touch-icon
包目录只有这两份文件。打包器会把 --dir 的整棵目录树装进 zip,所以 connector.json 不放在仓库根目录,dist/ 与 .tmp/ 也不会被误装进包。
需要一个 Hana 检出,复用它的打包器:
node <hana>/scripts/extension-pack.mjs --kind connector \
--dir tinyfish --publisher Nyasers --out dist产物是 dist/connector-tinyfish-<version>.zip 与同名 .entry.json,两个都要上传到 Release。打包是确定性的:同一个目录打两次字节一致,sha256 不变。
把 dist/*.zip 和 dist/*.entry.json 上传到一个正式 GitHub Release,再把 dist/market-records.json 里的记录合到 Hana 市场仓库的 registry.json 与 approvals.json。approvals.json 里的 tag 填这个 Release 的 tag,sha256 照抄 .entry.json 中 archive.sha256 的值,不要自行计算。
自有代码以 Mozilla Public License 2.0 发布,条款见 NOTICE。
本包不包含第三方代码,只有一份连接声明和一个图标。
服务名称与图标归其所有者,此处仅用于标识这个连接器所接入的服务。本包不由 TinyFish 发布或背书。