ClipNow MCP · 通义千问办公

千问办公接入指南

在千问办公的 MCP 连接器设置中接入 ClipNow,用自然语言完成素材生成、文档配图与视频剪辑。

服务地址 · Streamable HTTP

https://api.zhiyu.art/assets/mcp
纯文本版 ↗

一句话让千问办公自动配置

把下面这句话粘贴到千问办公的会话里,让它按本页指引完成 ClipNow MCP 连接:

中文:
阅读 https://clipnow.art/mcp/qianwen ,帮我接入 ClipNow MCP 并开始创作。

English:
Read https://clipnow.art/mcp/qianwen to connect ClipNow MCP and start creating.

添加 ClipNow MCP 服务

千问办公 支持标准 MCP 连接器(Streamable HTTP)。打开「MCP 连接器 / 自定义服务」,添加远程 Streamable HTTP 服务,填入 ClipNow 服务地址并保存;若支持导入 mcp.json,也可直接使用下方配置。

也可以直接编辑配置文件 千问办公 → MCP 连接器中的自定义服务配置,写入以下配置。若文件中已有 mcpServers 对象,请把 clipnow 条目合并进去,不要覆盖其它服务:

{
  "mcpServers": {
    "clipnow": {
      "type": "streamableHttp",
      "url": "https://api.zhiyu.art/assets/mcp",
      "timeout": 60000,
      "headers": {
        "Accept": "application/json, text/event-stream"
      }
    }
  }
}
提示不同版本的客户端菜单名称可能略有差异,请以实际界面为准;只要支持填写远程 MCP 服务地址(Streamable HTTP),就可以使用同一份配置。

登录知鱼账号并授权

保存配置后,在客户端里点击连接 / 登录(Connect / Login),浏览器会打开知鱼账户授权页(account.zhiyu.art)。登录并点击「同意授权」即可完成绑定。

  • ClipNow 的资源地址为 https://api.zhiyu.art/assets/mcp,授权由知鱼通行证签发(登录态与官网一致)。
  • 授权页默认勾选账户、资产、项目的只读权限;写入与消耗贝壳的权限需要你手动勾选。
  • 如果当前版本没有内置 OAuth 登录按钮,请直接使用下方「手动 OAuth 获取令牌」流程,把 access_token 填入配置的 Authorization 请求头。

手动 OAuth 2.1 获取令牌(适用于静态 Bearer 模式)

如果你的 千问办公 版本暂不支持自动弹出 OAuth 浏览器登录,可以通过以下 4 步在本地终端获取访问令牌(使用本地回调端口 52967,需要终端已安装 curl 与 python3):

1. 动态注册 OAuth 客户端(RFC 7591)

curl -s -X POST "https://api.zhiyu.art/oauth/register" \
  -H "Content-Type: application/json" \
  -d '{
    "client_name": "千问办公",
    "redirect_uris": ["http://127.0.0.1:52967/callback"],
    "grant_types": ["authorization_code", "refresh_token"],
    "response_types": ["code"],
    "token_endpoint_auth_method": "none",
    "scope": "clipnow:account:read clipnow:asset:read clipnow:asset:write clipnow:material:read clipnow:project:read clipnow:project:write clipnow:task:write",
    "resource": "https://api.zhiyu.art/assets/mcp"
  }'

记录返回 JSON 中的 client_id,用于后续步骤替换 <CLIENT_ID>。

2. 生成 PKCE S256 校验参数

python3 -c "
import secrets, hashlib, base64
verifier = base64.urlsafe_b64encode(secrets.token_bytes(32)).rstrip(b'=').decode()
challenge = base64.urlsafe_b64encode(hashlib.sha256(verifier.encode()).digest()).rstrip(b'=').decode()
print(f'VERIFIER={verifier}')
print(f'CHALLENGE={challenge}')
"

3. 浏览器登录知鱼账号并授权

运行下方命令,它会自动打开浏览器进入知鱼账户授权页,并在本地 52967 端口接收授权码(请将 <CLIENT_ID> 和 <CHALLENGE> 替换为上一步的值):

python3 -c "
import http.server, socketserver, urllib.parse, webbrowser
URL = 'https://api.zhiyu.art/oauth/authorize?response_type=code&client_id=<CLIENT_ID>&code_challenge=<CHALLENGE>&code_challenge_method=S256&redirect_uri=http%3A%2F%2F127.0.0.1%3A52967%2Fcallback&scope=clipnow%3Aaccount%3Aread+clipnow%3Aasset%3Aread+clipnow%3Aasset%3Awrite+clipnow%3Amaterial%3Aread+clipnow%3Aproject%3Aread+clipnow%3Aproject%3Awrite+clipnow%3Atask%3Awrite&resource=https%3A%2F%2Fapi.zhiyu.art%2Fassets%2Fmcp&state=clipnow'
captured = {}
class H(http.server.BaseHTTPRequestHandler):
    def do_GET(self):
        q = urllib.parse.parse_qs(urllib.parse.urlparse(self.path).query)
        if 'code' in q:
            captured['code'] = q['code'][0]
            self.send_response(200); self.end_headers()
            self.wfile.write(b'ClipNow MCP authorized - you can close this tab.')
    def log_message(*a): pass
with socketserver.TCPServer(('127.0.0.1', 52967), H) as s:
    s.timeout = 1
    webbrowser.open(URL)
    print('Opened browser authorization page. Sign in and click Approve...')
    for _ in range(180):
        s.handle_request()
        if 'code' in captured: break
print('CODE=' + captured.get('code', '(timed out)'))
"

4. 用授权码换取 access_token

curl -s -X POST "https://api.zhiyu.art/oauth/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=authorization_code" \
  -d "code=<AUTHORIZATION_CODE>" \
  -d "redirect_uri=http://127.0.0.1:52967/callback" \
  -d "client_id=<CLIENT_ID>" \
  -d "code_verifier=<VERIFIER>" \
  -d "resource=https://api.zhiyu.art/assets/mcp"

返回结果中包含 access_token(有效期 1 小时)和 refresh_token(30 天有效,每次刷新轮换)。将 access_token 填入 千问办公 → MCP 连接器中的自定义服务配置:

{
  "mcpServers": {
    "clipnow": {
      "type": "streamableHttp",
      "url": "https://api.zhiyu.art/assets/mcp",
      "timeout": 60000,
      "headers": {
        "Accept": "application/json, text/event-stream",
        "Authorization": "Bearer <access_token>"
      }
    }
  }
}

验证连接

通过 initialize 握手确认服务端能力是否正常返回:

curl -s -X POST "https://api.zhiyu.art/assets/mcp" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Authorization: Bearer <access_token>" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"千问办公","version":"1.0.0"}}}'

工具列表在会话启动时加载,配置完成后请新开一个会话。首次调用建议先跑 clipnow_doctor 与 auth_whoami 自检。

开始第一个创作对话

新建会话后粘贴以下提示词,快速体验 ClipNow 的全链路能力:

ClipNow MCP 已经连接好了。请先调用 clipnow_doctor 检查连接状态与我的贝壳余额,然后向我整体介绍一下你可以做什么,尤其是这四个部分:
1. AI 生成(视频、图片、音乐、人声配音、音效、3D 模型)
2. Studio 无限画布(灵感分镜发散、多节点编排、批量生成、视频深度信息捕捉)
3. Studio 时间线剪辑(口播去水词、智能字幕、MG 动画、花字与片段模板、转场与 LUT 调色)
4. 素材与资产库(搜索知鱼商用素材库、管理我的个人与项目资产、读取音视频理解档案)
之后问我有什么素材、想做什么样的内容,告诉我你可以根据我的具体需求一步步开始制作,并且我也可以随时打开 ClipNow Studio(https://studio.clipnow.art)自己调整画布、时间线、字幕或 MG 动画。