跳到主要内容

集成 ​

Sink 提供已认证的 REST API 和自动生成的 OpenAPI 文档,便于自动化操作。以下项目和示例提供了便捷的入口;使用前请检查第三方代码及其凭据处理方式。

AI Skills ​

使用以下命令安装仓库的 AI Skills 包:

sh
npx skills add miantiao-me/sink

MCP Server ​

Sink 在 POST /api/mcp 提供 Model Context Protocol 端点。它基于官方 @modelcontextprotocol/server SDK v2 入口:新协议客户端走逐请求传输,2025 版旧客户端走无状态兼容回退(JSON 响应),均无需额外配置即可使用。

该端点使用与 REST API 相同的 Bearer 令牌进行认证,无需单独的凭据。详见 API 身份认证。

sh
claude mcp add --transport http sink https://your-domain/api/mcp --header "Authorization: Bearer YOUR_SITE_TOKEN"

任何支持 HTTP 传输与自定义请求头的客户端都可以用同样的方式连接:

json
{
  "mcpServers": {
    "sink": {
      "type": "http",
      "url": "https://your-domain/api/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_SITE_TOKEN"
      }
    }
  }
}

工具 ​

工具说明
list_links按最新优先列出链接,支持游标分页。
search_links按关键字或精确目标 URL 搜索链接。
get_link按 slug 读取单个链接。
count_links统计匹配关键字、URL、标签或状态的链接数量。
list_tags列出正在使用的标签及其链接数量。
create_link创建链接,未提供 slug 时自动生成。
update_link替换现有链接的全部可写字段。
upsert_link返回该 slug 的现有链接,不存在时创建。
delete_link永久删除链接。
check_links按 slug 分页检查已存链接的目标 URL。
get_analytics_counters总访问量、访客数与来源数。
get_analytics_views按分钟、小时或天分桶的访问量与访客数。
get_analytics_metrics某个访问日志维度的 Top 值。
get_analytics_heatmap按星期几和小时分桶的访问量与访客数。

写入类工具与 REST API 一样遵循 NUXT_PUBLIC_PREVIEW_MODE 和 KV 到 D1 的迁移门控;分析类工具读取与仪表盘相同的采样访问日志,因此结果为估算值。对 update_link,password 传空字符串会清除访问密码,省略则保留原有密码。

该端点位于 /api/ 之下,因此不占用短链接命名空间:slug 不能包含斜杠,所以没有短链接会遮蔽它,也无需保留 slug。升级不会夺走实例上已在使用的任何 slug。

OpenAPI 转 MCP ​

当客户端无法访问内置端点时(例如仅支持 stdio 服务端),可以改用 OpenAPI 代理。

需要先安装 uv,以便使用 uvx 命令:

json
{
  "mcpServers": {
    "sink": {
      "command": "uvx",
      "args": ["mcp-openapi-proxy"],
      "env": {
        "OPENAPI_SPEC_URL": "https://your-domain/_docs/openapi.json",
        "API_KEY": "YOUR_SITE_TOKEN",
        "TOOL_WHITELIST": "/api/link"
      }
    }
  }
}

使用你自己的实例 URL 和站点令牌。将公开的路由范围限制为客户端所需的操作,并将客户端配置作为密钥保护。详见 API 身份认证。

应用与扩展 ​

这些集成可能独立于 Sink 核心仓库维护。请通过实例的 OpenAPI 参考确认其与你部署的 API 版本兼容。