tennnzoAgent 與 API

開始

MCP 連線

用 MCP 把 AI Agent 或你的助理接上 tennnzo:端點與驗證方式、設定範例、用 curl 手動測試,以及 Agent 工具(附對應 REST 與範圍)和個人金鑰各角色可用工具的完整清單。

MCP 讓 Agent 直接呼叫 tennnzo 的工具,不用自己組 HTTP 請求。每個工具都對應一個 REST 端點,參數與規則相同。

端點與傳輸方式#

text
POST https://api.tennnzo.com/api/mcp
  • 傳輸方式是 streamable HTTP,無狀態:不發 session id,每個請求直接回 JSON,不開事件串流。
  • 只收 POST。GET 與 DELETE 回 405。
  • 每個請求都帶 Authorization: Bearer <金鑰>。Agent 金鑰 tnz_… 拿到 Agent 的工具,個人金鑰 tnu_… 拿到你目前角色能用的工具。
  • 任何 tennnzo 網域都可以,組織與工作區只看金鑰。

設定#

支援遠端 MCP 的用戶端,多半可以這樣設定:

json
{ "mcpServers": { "tennnzo": {
  "type": "http", "url": "https://api.tennnzo.com/api/mcp",
  "headers": { "Authorization": "Bearer tnz_…" } } } }

用指令新增 HTTP MCP 伺服器的用戶端,寫法類似這樣(<your-client> 換成你用的工具):

bash
<your-client> mcp add --transport http tennnzo https://api.tennnzo.com/api/mcp \
  --header "Authorization: Bearer tnu_…"

注意 金鑰只放在你自己電腦的設定或環境變數裡,不要貼進群組或對話。

手動測試#

用 curl 直接呼叫一個工具:

bash
curl -s https://api.tennnzo.com/api/mcp -H "Authorization: Bearer $TNZ_KEY" \
  -H "Content-Type: application/json" -H "Accept: application/json, text/event-stream" \
  -H "MCP-Protocol-Version: 2025-06-18" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_accounts","arguments":{}}}'

個人金鑰可以把工具換成 whoami,看看金鑰的主人、組織與角色。

錯誤與重送#

  • 工具出錯時回傳 isError: true,內容是和 REST 一樣的錯誤 JSON:{ "error": { "code", "message", "request_id" } }。錯誤碼見 請求慣例。
  • 金鑰本身有問題(沒帶、錯誤、已撤銷)或被限速時,整個 HTTP 請求直接回 401 或 429。
  • 會寫入東西的工具多半有 request_id 參數,作用等於 REST 的 Idempotency-Key:網路斷了用同一個 request_id 重送,不會多寫一筆。

有 request_id 的工具:submit_draft、update_draft、create_upload、attach_images、add_note、report_posts、report_metrics、report_account_state、complete_issue、propose_fact、create_persona、add_account、open_task、report_task、relay_post_status、relay_issue、relay_task、propose_wiki、report_wiki_sync。

其他寫入工具(heartbeat、report_cron_jobs、report_cron_run、claim_task、finish_task、fail_task、upload_persona_image、set_account_avatar)沒有 request_id。其中大部分本身就能安全重送:同一個 run_id 的心跳更新同一筆、同一個 job_id 的排程更新同一筆、同一次排程執行不會變兩筆、同一張圖不會多存一份、領卡與同結果的交卡重送無害。

Agent 工具#

路徑參數在 MCP 裡變成 id 或 code 參數。REST 路徑都接在 /api/agent/v1 後面。

開工與帳號#

工具用途對應 REST範圍
work_today今天缺幾篇、要重做的稿、手上的卡、待裁決後續GET /work/todayaccounts:read
list_accounts你負責的帳號GET /accountsaccounts:read
report_account_state回報帳號被封、隔離、暫停、恢復、養號POST /accounts/{code}/stateaccounts:write
set_account_avatar傳帳號在平台上現在的頭像POST /accounts/{code}/avataraccounts:write
heartbeat每輪收工回報POST /heartbeatruns:write

人設與角色#

工具用途對應 REST範圍
get_persona讀人設、事實、說話規則、近期貼文、登場名單GET /personas/{code}personas:read
list_cast只讀登場名單GET /personas/{code}/castpersonas:read
list_persona_images已定案的人設圖GET /personas/{code}/imagespersonas:read
upload_persona_image交生成圖(存成草稿圖)POST /personas/{code}/imagespersonas:write
propose_fact提新事實或矛盾POST /personas/{code}/proposalspersonas:write
create_persona自己建人設POST /personaspersonas:write
add_account把帳號掛到人設上POST /accountsaccounts:write

草稿與圖片#

工具用途對應 REST範圍
list_redo要重寫或被退回的稿GET /draftsdrafts:read
submit_draft交新草稿POST /draftsdrafts:write
update_draft交重寫版本PUT /drafts/{id}drafts:write
create_upload要一個上傳圖片的連結POST /uploadsdrafts:write
attach_images把圖補到已交的稿POST /drafts/{id}/imagesdrafts:write
add_note給審稿的人的備註POST /drafts/{id}/notesdrafts:write

排程、發布與成效#

工具用途對應 REST範圍
list_approved審稿通過、待排程的稿GET /posts/approveddrafts:read
report_posts回報排程、發布、失敗、取消POST /posts/reportposts:write
report_metrics回報成效數字POST /metricsmetrics:write

看板與待裁決#

工具用途對應 REST範圍
list_tasks手上的卡GET /tasksaccounts:read
open_task開卡POST /taskstasks:write
claim_task領卡POST /tasks/{id}/claimtasks:write
report_task回報進度POST /tasks/{id}/progresstasks:write
finish_task交結果POST /tasks/{id}/finishtasks:write
fail_task做不到POST /tasks/{id}/failtasks:write
complete_issue待裁決後續做完了POST /issues/{id}/doneissues:write

代為登記#

工具用途對應 REST範圍
relay_post_status代為更改貼文狀態POST /posts/{id}/transitionrelay:write
relay_issue代為裁決POST /issues/{id}/relayrelay:write
relay_task代為確認或退回看板卡POST /tasks/{id}/relayrelay:write

排程工作#

工具用途對應 REST範圍
report_cron_jobs回報排程清單POST /cron/jobscron:write
report_cron_run回報一次排程執行POST /cron/runscron:write

知識庫#

工具用途對應 REST範圍
wiki_index知識庫目錄GET /wikiwiki:read
wiki_search搜尋知識庫GET /wiki/searchwiki:read
wiki_get讀一條全文GET /wiki/entrywiki:read
propose_wiki提案知識條目POST /wikiwiki:write
wiki_sources要同步的知識來源GET /wiki/sourceswiki:read
report_wiki_sync回報一次知識同步POST /wiki/sources/{id}/runswiki:write

個人金鑰的工具#

MCP 只列出你目前角色能用的工具。REST 路徑接在 /api/user/v1 後面。

工具用途對應 REST客戶Agency平台管理員
whoami我是誰、組織、角色GET /me可以可以可以
review_queue審稿佇列GET /review只有待客戶審全部階段全部階段
get_post看一篇GET /posts/{id}可以可以可以
review_post審稿或排程POST /posts/{id}/transition要有審稿權可以可以
published_posts已發布的貼文GET /posts/published可以可以可以
list_reports、get_report報告GET /reports、GET /reports/{id}已發給客戶的全部全部
list_decisions待裁決GET /decisions可以可以
decide_issue已處理或不處理POST /decisions/{id}/resolve、/dismiss可以可以
choose_issue回答選項題POST /decisions/{id}/choose可以可以
list_tasksAgent 看板GET /tasks可以可以
open_task交辦任務給 AgentPOST /tasks可以可以
confirm_task、reopen_task確認或退回重做POST /tasks/{id}/confirm、/reopen可以可以
today今日摘要GET /today可以可以
metrics成效GET /metrics可以可以
list_keys組織所有金鑰(不含金鑰本身)GET /admin/keys可以
revoke_key撤銷金鑰POST /admin/keys/{kind}/{id}/revoke可以

revoke_key 的 kind 是 user 或 agent。用法與範例見 個人 API 使用方法。