Acahti文档
EN中文GitHub自托管

文档接入 Agent

MCP 工具

Acahti 实例 MCP 端点上的全部工具及其参数。产品接口在 /acahti/v1 下提供相同的路由。

每个实例在 <instance>/mcp 提供 Streamable HTTP MCP,使用 OAuth 访问令牌或个人访问令牌授权。Codex/ChatGPT 插件通过 OAuth 发现和 PKCE 连接;Benchyard 的 shell Agent 直接使用个人令牌。两者对应同一个账号的权限。连接时,服务端说明会把 Agent 指向产品 skill。客户端应在每次会话中重新获取工具目录,而不是依赖缓存的列表。

每个工具同时也是 <instance>/acahti/v1 下的 REST 端点。路径段填充对应参数,其余参数放在查询串或 JSON 正文中。必填参数以粗体标出。CLI 为 shell 中的交付循环提供命名命令;Agent 通过 MCP 使用完整目录。

Work 权限与文件#

Work 操作需要已认证的实例账号。网页会话、个人令牌和 OAuth 调用同一个服务。Work 是实例范围内共享的协作数据,与所选的 Git 组织和仓库权限无关。个人列表视图只是筛选。操作者字段来自认证信息,不能在请求正文中指定。

Work 的参数校验会拒绝未知字段和无效 ID。PATCH 保留未提交的字段;显式传入空文本会清空该字段。列表使用稳定排序和数据库分页。已归档的工单拒绝评论和更新。读取评论或附件元数据失败时,整个详情请求失败。

除下列工具路由外,二进制传输使用 POST /work/attachments/{type}/{id}(multipart file,所属类型为 todo 或 document)、GET /work/attachments/{id}/content 和 GET /work/attachments/{id}/preview(PDF 预览:原生 PDF,或经 Gotenberg 转换的 Office 文件)。工单评论接受 JSON body,或 multipart 的 body 加重复的 file 字段(最多九个,每个 200 MiB)。内容和预览地址需要认证,且不包含凭据;唯一无需认证的读取是 /ui/share/{token} 下的外部分享链接。记录不存在返回 404,输入错误返回 400,对已归档对象的修改返回 409,Work 数据库、存储、转换服务或 Aidy 模型不可用时返回 503。

Argos 运行与文件#

所有已登录成员都可以读取 Argos。登记后的用例源码或测试计划只能由其负责人、创建者或组织管理员修改:argos_test_save 需要最新读取得到的 expected_sha256,argos_plan_save 需要当前的 revision。Argos CLI 只通过 REST 上报运行,使用执行者本人的身份:POST /argos/runs(返回 sid 和 url)、POST /argos/runs/{sid}/events、POST /argos/runs/{sid}/finish 和 PUT /argos/runs/{sid}/files/{path}(不超过 1 MiB)。只有该运行的执行者或组织管理员可以写入运行。GET /argos/runs/{sid}/files 列出运行的文件,GET /argos/runs/{sid}/files/{path} 以纯文本返回单个文件。参见 Argos。

工具#

工具说明由代码生成,保留英文原文。

plugin_document#

Read verified documentation for an accessible active plugin.

  • Arguments: id section
  • REST: GET /plugins/{id}/docs/{section}

plugin_list#

List verified plugin releases and actual installation states. Org admin only.

  • REST: GET /plugins

plugin_get#

Read a plugin installation state. Org admin only.

  • Arguments: id
  • REST: GET /plugins/{id}

plugin_operate#

Install, upgrade, enable, disable or uninstall a verified plugin with revision concurrency control. Org admin only.

  • Arguments: action id revision version
  • REST: POST /plugins/{id}/operations

plugin_retry#

Retry an interrupted plugin operation using its current revision. Org admin only.

  • Arguments: id operation revision
  • REST: POST /plugins/{id}/retry

repo_list#

List repositories the token can see.

  • Arguments: page page_size
  • REST: GET /repos

repo_get#

Get one repository.

  • Arguments: name owner
  • REST: GET /repos/{owner}/{name}

repo_create#

Create a private org repo. Optional team attaches access. Does not set branch protection.

  • Arguments: name team
  • REST: POST /repos

repo_rename#

Rename a repo. Repo admin. Moves team access, collaborators, pipeline history, and CI. Clones must git remote set-url.

  • Arguments: name new_name owner
  • REST: PATCH /repos/{owner}/{name}

repo_team_set#

Move a repo to another team. Org admin. The new team's members get access if the old team's grant was on.

  • Arguments: name owner team
  • REST: PUT /repos/{owner}/{name}/team/{team}

repo_archive#

Archive a repo (read-only, hidden from members, skipped by CI) or unarchive it with archived false. Org admin.

  • Arguments: archived name owner
  • REST: PUT /repos/{owner}/{name}/archived

repo_delete#

Delete a repo: its git repository, index, team grants, collaborators, and pipeline history. Org admin. Irreversible.

  • Arguments: name owner
  • REST: DELETE /repos/{owner}/{name}

branch_list#

List branches with default and protected flags from repo settings.

  • Arguments: name owner page page_size
  • REST: GET /repos/{owner}/{name}/branches

ref_delete#

Delete a git ref. ref is dev, heads/dev, or refs/heads/dev.

  • Arguments: name owner ref
  • REST: DELETE /repos/{owner}/{name}/refs/{ref...}

pr_create#

Open a pull request. base defaults to the repo default_branch.

  • Arguments: head name owner title base body
  • REST: POST /repos/{owner}/{name}/pulls

pr_list#

List pull requests.

  • Arguments: name owner page page_size state
  • REST: GET /repos/{owner}/{name}/pulls

pr_get#

Get a pull request with latest commit checks per context.

  • Arguments: name number owner
  • REST: GET /repos/{owner}/{name}/pulls/{pr}

pr_comment#

Comment on a pull request.

  • Arguments: body name number owner
  • REST: POST /repos/{owner}/{name}/pulls/{pr}/comments

pr_comments#

List pull request comments.

  • Arguments: name number owner page page_size
  • REST: GET /repos/{owner}/{name}/pulls/{pr}/comments

pr_merge#

Merge a PR when the latest pipeline round on the head SHA is green.

  • Arguments: name number owner
  • REST: POST /repos/{owner}/{name}/pulls/{pr}/merge

pr_close#

Close a pull request.

  • Arguments: name number owner
  • REST: DELETE /repos/{owner}/{name}/pulls/{pr}

checks_wait#

Snapshot of indexed pipelines for a commit. Poll this tool; it does not block.

  • Arguments: name owner sha
  • REST: GET /repos/{owner}/{name}/checks/{sha}

pipeline_list#

List pipelines for a repo with wait (queue, deps, concurrency) on in-flight runs. sha is a commit prefix.

  • Arguments: repo branch page page_size sha status
  • REST: GET /repos/{owner}/{name}/pipelines

pipeline_get#

Get one pipeline with jobs, steps, and wait (queue, deps, concurrency).

  • Arguments: number repo
  • REST: GET /repos/{owner}/{name}/pipelines/{run}

pipeline_log#

Fetch pipeline logs. Omit step for failed steps only.

  • Arguments: number repo step tail_lines
  • REST: GET /repos/{owner}/{name}/pipelines/{run}/log

pipeline_rerun#

Rerun a pipeline. Needs push access.

  • Arguments: number repo
  • REST: POST /repos/{owner}/{name}/pipelines/{run}/rerun

pipeline_trigger#

Manual run on a ref, the default branch when ref is empty. Needs push access. Official release is still git push.

  • Arguments: repo ref
  • REST: POST /repos/{owner}/{name}/pipelines

pipeline_cancel#

Cancel a running or queued pipeline. Needs push access.

  • Arguments: number repo
  • REST: POST /repos/{owner}/{name}/pipelines/{run}/cancel

pipeline_delete#

Delete a finished pipeline run. Needs push access.

  • Arguments: number repo
  • REST: DELETE /repos/{owner}/{name}/pipelines/{run}

inbox#

Inbox across repositories. pipes: latest failed or blocked run per repo. prs: open PRs whose head SHA latest pipeline is success (ready to merge).

  • Arguments: page page_size section
  • REST: GET /inbox

pkg_publish#

Publish a language package (pypi wheel URL or npm tarball URL).

  • Arguments: kind url filename
  • REST: POST /packages

pkg_list#

List language packages.

  • Arguments: kind owner page page_size
  • REST: GET /packages

pkg_delete#

Delete a language package version. Org admin. Omit version to delete every version of that name.

  • Arguments: kind name owner version
  • REST: DELETE /packages

whoami#

Acahti git identity: git_name, git_email, clone_url_template, skill_url, apply_when_remote_host, setup_local, org_admin and installed plugins.

  • REST: GET /me

agent_status#

Host runners plus queue stats counted per pipeline (running / queued).

  • Arguments: page page_size
  • REST: GET /agents

deploy_approve#

Approve a gated deploy pipeline. Needs push access.

  • Arguments: number repo
  • REST: POST /repos/{owner}/{name}/pipelines/{run}/approve

secret_list#

List pipeline secret names (never values). scope org is org admins. scope repo is the effective set (org inherited plus repo) for repo admins. repo or owner+name for repo scope.

  • Arguments: name owner page page_size repo scope
  • REST: GET /repos/{owner}/{name}/secrets, GET /secrets

secret_put#

Create or replace a pipeline secret. Does not echo value. org scope needs org admin. repo scope needs repo admin. name is the secret.

  • Arguments: value name owner repo scope secret
  • REST: PUT /repos/{owner}/{name}/secrets/{secret}, PUT /secrets/{secret}

secret_delete#

Delete a pipeline secret. org scope needs org admin. repo scope needs repo admin and only deletes the repo override.

  • Arguments: name owner repo scope secret
  • REST: DELETE /repos/{owner}/{name}/secrets/{secret}, DELETE /secrets/{secret}

user_list#

List people by login and display name. q matches either. Does not return email.

  • Arguments: page page_size q
  • REST: GET /users

user_create#

Create an org member. Org admin. author is the git display name. Returns a one-time password; do not put it in skill.md or chat logs.

  • Arguments: login admin author email
  • REST: POST /users

user_update#

Update git author (full_name), email and/or org admin. Org admin for author and admin; self or admin for email. admin cannot change your own account or the gateway service account.

  • Arguments: login admin author email
  • REST: PATCH /users/{login}

user_permissions#

Get creation permissions. Self or org admin.

  • Arguments: login
  • REST: GET /users/{login}/permissions

user_permissions_set#

Set team and repository creation permissions. Org admin only.

  • Arguments: can_create_repo can_create_team login
  • REST: PUT /users/{login}/permissions

team_create#

Create a team and become its admin. Requires can_create_team.

  • Arguments: team
  • REST: POST /teams

team_list#

List teams the caller can see, with repo counts.

  • Arguments: page page_size
  • REST: GET /teams

team_get#

Team members and repositories. A member's permission applies to every repo in the team.

  • Arguments: team
  • REST: GET /teams/{team}

team_delete#

Delete a team. Team admin or org admin. Removes membership and team repo grants.

  • Arguments: team
  • REST: DELETE /teams/{team}

team_member_set#

Add or update a team member. Team admin or org admin. permission is read, write, or admin; omit for write. The grant covers every repository in the team.

  • Arguments: login team permission
  • REST: PUT /teams/{team}/members/{login}

team_member_remove#

Remove a person from a team. Team admin or org admin.

  • Arguments: login team
  • REST: DELETE /teams/{team}/members/{login}

repo_access#

List one repository's inherited team members and direct collaborators.

  • Arguments: name owner
  • REST: GET /repos/{owner}/{name}/access

collaborator_set#

Grant one person access to one repository. Repo admin. permission is read, write, or admin; omit for write. Does not add them to the team.

  • Arguments: login name owner permission
  • REST: PUT /repos/{owner}/{name}/collaborators/{login}

collaborator_remove#

Remove a direct collaborator from one repository. Repo admin. Does not change team membership.

  • Arguments: login name owner
  • REST: DELETE /repos/{owner}/{name}/collaborators/{login}

project_list#

List Work projects in display order with member logins, repository count, open todos and the current iteration (active, else blocked, else planned) with its done/total todos.

  • REST: GET /work/projects

project_reorder#

Set the display order of projects; work managers only. Listed ids come first in order, others keep their relative order after them.

  • Arguments: ids
  • REST: POST /work/projects/order

project_get#

Read a project with members, repositories and whether the caller can edit it.

  • Arguments: id
  • REST: GET /work/projects/{id}

project_create#

Create a project container for people, agents and repositories.

  • Arguments: en id description kind members owner_login repos status zh
  • REST: POST /work/projects

project_update#

Update a project using its current revision; stale edits conflict.

  • Arguments: id revision description en kind members owner_login repos status zh
  • REST: PATCH /work/projects/{id}

project_members_set#

Replace project members (humans and agents).

  • Arguments: id members
  • REST: PUT /work/projects/{id}/members

project_repos_set#

Replace repositories bound to a project.

  • Arguments: id repos
  • REST: PUT /work/projects/{id}/repos

project_context#

Agent briefing: project, open tasks, decisions and related open iterations.

  • Arguments: id
  • REST: GET /work/projects/{id}/context

agent_run_list#

List agent runs for a project.

  • Arguments: page_size project_id
  • REST: GET /work/agent-runs

agent_run_get#

Read an agent run and its activity events.

  • Arguments: id
  • REST: GET /work/agent-runs/{id}

agent_run_create#

Start an agent run for a project task or ticket.

  • Arguments: agent_login project_id evidence status summary ticket_id todo_id trigger
  • REST: POST /work/agent-runs

agent_run_update#

Update agent run status, summary or evidence.

  • Arguments: id evidence status summary
  • REST: PATCH /work/agent-runs/{id}

agent_run_event#

Append a thought, progress or comment to an agent run.

  • Arguments: body id kind
  • REST: POST /work/agent-runs/{id}/events

decision_list#

List non-superseded decisions for a project.

  • Arguments: project_id page_size
  • REST: GET /work/decisions

decision_create#

Record a project decision; optional supersedes_id marks the prior decision superseded.

  • Arguments: project_id title body status supersedes_id
  • REST: POST /work/decisions

decision_update#

Update a decision title, body or status.

  • Arguments: id body status title
  • REST: PATCH /work/decisions/{id}

planning_move_todos#

Atomically move same-project todos to one open iteration; revisions and idempotency required. Todos joining an iteration that has started are out of plan; reason says why.

  • Arguments: items iteration_id request_key reason
  • REST: POST /work/planning/move-todos

Add and remove todo relationships without replacing others: ticket or document by to_id; pull or pipeline by to_key owner/repo#n; argos by run sid. The caller must be able to read a linked repository or run.

  • Arguments: id revision add remove
  • REST: POST /work/planning/todos/{id}/links

planning_todo_time#

Read all authors and dates of a todo's time entries, with full totals and pagination.

  • Arguments: id page page_size
  • REST: GET /work/planning/todos/{id}/time

planning_progress#

Read exact full-dataset status distribution and overdue count for a project or iteration.

  • Arguments: project iteration_id
  • REST: GET /work/planning/progress

planning_brief#

Measured state of a project, or of one of its iterations (default: the current one), for status updates and planning: status counts; the project's latest deliveries and history (such as deleted iterations); risks (overdue, blocked, due day pushed later twice or more); this week's completions and logged time; each assignee's open todos, estimated minutes and capacity left before the iteration's due day; unestimated todos and done todos with no time; and for an iteration its scope against the baseline it started with, every change since, and a daily burndown. Use it to write a project or iteration update.

  • Arguments: project iteration_id
  • REST: GET /work/planning/brief

delivery_submit#

Allocate a project-wide X.Y.Z with immutable changelog, the iteration's todos it delivers (at least one) and repository coordinates, then publish tags through repository pipelines. Draft todo_ids and changelog with delivery_draft.

  • Arguments: changelog iteration_id repositories request_key summary todo_ids
  • REST: POST /work/deliveries

delivery_draft#

Draft a delivery for an iteration: its todos (done first, marking those an earlier delivery carried) and a changelog listing the chosen todo_ids, by default the done todos not yet delivered.

  • Arguments: iteration_id todo_ids
  • REST: GET /work/deliveries/draft

delivery_list#

List an iteration's delivery versions, changelogs and delivered todos.

  • Arguments: iteration_id page page_size
  • REST: GET /work/deliveries

delivery_get#

Read immutable release coordinates, dispatch history and observed pipeline results.

  • Arguments: id
  • REST: GET /work/deliveries/{id}

delivery_retry#

Resume tag dispatch for the same immutable delivery; never allocate another version.

  • Arguments: id
  • REST: POST /work/deliveries/{id}/retry

planning_run_step#

Create or update a structured execution step with optimistic concurrency.

  • Arguments: id step
  • REST: PUT /work/planning/runs/{id}/step

planning_run_steps#

Read structured execution steps and dependencies.

  • Arguments: id
  • REST: GET /work/planning/runs/{id}/steps

iteration_list#

List release history and roadmap for product or ops projects; state is one status or current (planned, active or blocked).

  • Arguments: page page_size project_id state
  • REST: GET /work/iterations

iteration_get#

Read a project iteration and its audit history.

  • Arguments: id
  • REST: GET /work/iterations/{id}

iteration_create#

Plan a release on a product or ops project with repository versions and linked work.

  • Arguments: owner project_id title version description due_at kind links participants start_at status
  • REST: POST /work/iterations

iteration_update#

Update a project iteration using its current revision; stale edits conflict. The first change to active records its todos as the scope baseline. Release or cancel with iteration_close.

  • Arguments: id revision description due_at kind links owner participants project_id start_at status title version
  • REST: PATCH /work/iterations/{id}

iteration_close#

Release or cancel an iteration at its current revision. Every unfinished todo in it (requirement, todo, in_progress, blocked) needs one carry: move to another open iteration of the project, unplan, or keep in this iteration with a reason; list them with todo_list iteration_id and state. The carries and the status change commit together.

  • Arguments: id request_key revision status carry
  • REST: POST /work/iterations/{id}/close

iteration_delete#

Delete a cancelled iteration without deliveries using its current revision; its todos stay in the project, unplanned, and the project's history records the deletion. Project owners, members and Work managers may delete.

  • Arguments: id revision
  • REST: DELETE /work/iterations/{id}

Search shared knowledge, tickets, todos and product iterations with source links; optional assignee, state and scope filters refine ticket and todo hits.

  • Arguments: assignee page page_size q scope state type
  • REST: GET /work/search

Find knowledge articles linking to this document.

  • Arguments: id
  • REST: GET /work/knowledge/{id}/backlinks

knowledge_history#

Read immutable document revisions, newest first.

  • Arguments: id page page_size
  • REST: GET /work/knowledge/{id}/history

knowledge_restore#

Restore a document revision as a new revision.

  • Arguments: id revision
  • REST: POST /work/knowledge/{id}/restore

knowledge_save_chat_file#

Save a file from a conversation the caller belongs to into the knowledge base without copying it; returns the existing document when the same file is already there.

  • Arguments: id folder_id title
  • REST: POST /work/chat-files/{id}/knowledge

List external links to a document, or every link for Work managers when document_id is omitted.

  • Arguments: document_id
  • REST: GET /work/share-links

Create an external read-only link to a document. Expires after expires_in_days (default 7, 0 never); an optional password and allow_download control access. The URL is returned only once.

  • Arguments: document_id allow_download expires_in_days password
  • REST: POST /work/share-links

Revoke an external link; its creator, people who manage the document's access and Work managers may revoke.

  • Arguments: id
  • REST: DELETE /work/share-links/{id}

knowledge_sharing#

Read whether external links are enabled on this instance.

  • REST: GET /work/sharing

knowledge_sharing_configure#

Turn external links on or off for the instance; off makes every existing link unavailable. Administrators only.

  • Arguments: enabled
  • REST: PUT /work/sharing

aidy_settings#

Read Aidy model configuration, with secrets redacted.

  • REST: GET /work/aidy/settings

aidy_configure#

Configure Aidy backbone model and optional API key; org admin only.

  • Arguments: base_url enabled model api_key
  • REST: PUT /work/aidy/settings

aidy_ask#

Ask Aidy in one of your conversations (omit conversation_id to start one). Aidy calls the operations you may call: reads run at once; a write stops the reply as pending until aidy_confirm approves or cancels it.

  • Arguments: question conversation_id
  • REST: POST /work/aidy/ask

aidy_confirm#

Approve or cancel the write a conversation waits on (call_id from aidy_ask pending); Aidy then runs or drops it and continues the reply.

  • Arguments: approve call_id id
  • REST: POST /work/aidy/conversations/{id}/confirm

aidy_conversation_list#

List your Aidy conversations, the last active first.

  • Arguments: page page_size
  • REST: GET /work/aidy/conversations

aidy_conversation_get#

Read one of your Aidy conversations: questions, answers and the operations Aidy ran or proposed.

  • Arguments: id
  • REST: GET /work/aidy/conversations/{id}

aidy_conversation_update#

Rename one of your Aidy conversations.

  • Arguments: id title
  • REST: PATCH /work/aidy/conversations/{id}

aidy_conversation_delete#

Delete one of your Aidy conversations.

  • Arguments: id
  • REST: DELETE /work/aidy/conversations/{id}

track_get#

Trace the delivery flow around a ticket, todo, iteration, delivery or Argos case: its flow type, the stages of that type's template (adjusted by the flow's override, plus any stage with evidence) with state, time and actor, and the linked tickets, todos, pull requests, pipelines, Argos runs and deliveries; id is the record number, or the Argos case id.

  • Arguments: id type
  • REST: GET /work/track/{type}/{id}

track_list#

List open flows with their stage states. view work (default) lists open todos and open tickets no todo carries, tickets lists every open ticket, argos lists Argos cases failing now or fixed in the last 14 days and reports unavailable ["argos"] when Argos cannot be read. project and owner filter work and tickets; pack, group and env filter argos; stuck_days keeps flows without activity for that many days.

  • Arguments: env group owner pack page page_size project stuck_days view
  • REST: GET /work/track

track_template_list#

List the Track flow templates: for each flow type (bug, feature, todo, ops, argos_case, iteration) its stages in order, the built-in stages and whether it was customized, and stage_keys with the evidence each stage reads. A flow shows its template's stages plus any other stage it has evidence for.

  • REST: GET /work/track-templates

track_template_update#

Replace one flow type's template stages; Work managers only. stages are stage keys with an optional label replacing the stage's name (e.g. planned labelled Triaged); they run in the natural stage order whatever order is given.

  • Arguments: stages type
  • REST: PUT /work/track-templates/{type}

track_template_reset#

Restore one flow type's built-in template; Work managers only.

  • Arguments: type
  • REST: DELETE /work/track-templates/{type}

track_flow_update#

Adjust one flow where reality differs from its template: template switches it to another flow type's template, add shows stages the template lacks, skip hides stages even when they have evidence. The call replaces the flow's previous adjustment; send none of template, add and skip to return it to its template. Work managers, and the assignee, delegate or creator of a todo or ticket (owner of an iteration). Returns the flow as track_get does.

  • Arguments: id type add skip template
  • REST: PUT /work/track/{type}/{id}/flow

track_activity#

What one person did over a range of days, for workload questions such as what X did this week: counts (todos and tickets touched, commits pushed, pull requests opened and merged, reviews, pipelines run, failed and fixed, tags, deliveries, minutes logged), the same counts per project and per repository, and a newest-first timeline. login defaults to the caller; reading someone else needs a Work manager. days (1-31, default 7) ends at until (YYYY-MM-DD, default today, Asia/Shanghai). Repository events follow the caller's repository visibility; unavailable names repos when they cannot be read.

  • Arguments: days login page page_size until
  • REST: GET /work/track/activity

work_overview#

Work manager overview of all Work: exact risk counts, status/project/assignee breakdowns and 7/30-day intake and completion trends.

  • Arguments: days
  • REST: GET /work/overview

work_manager_list#

List Work managers who can use global views.

  • REST: GET /work/managers

work_manager_set#

Grant Work manager access; org admin only.

  • Arguments: login
  • REST: PUT /work/managers/{login}

work_manager_remove#

Revoke Work manager access; org admin only.

  • Arguments: login
  • REST: DELETE /work/managers/{login}

time_entry_list#

Read your task entries and standard eight-hour daily reference total.

  • Arguments: work_date
  • REST: GET /work/time-entries

time_entry_save#

Insert a task completion entry for a date; each entry maximum 960 minutes.

  • Arguments: minutes summary todo_id work_date
  • REST: POST /work/time-entries

time_entry_delete#

Delete your own time entry.

  • Arguments: id
  • REST: DELETE /work/time-entries/{id}

time_entry_suggest#

Suggest time entries for a day from what you did: todos in progress or touched that day and commits, pull requests and reviews naming todo#N, with the evidence and the minutes still unlogged against an eight-hour day. Nothing is saved; confirm each with time_entry_save.

  • Arguments: work_date
  • REST: GET /work/time-entries/suggest

notification_nav#

Unread and total Work notification counts for the current account.

  • REST: GET /work/notification-nav

notification_list#

List Work notifications for the current account.

  • Arguments: page page_size
  • REST: GET /work/notifications

notification_mark_read#

Mark one Work notification as read.

  • Arguments: id
  • REST: POST /work/notifications/{id}/read

notification_mark_all_read#

Mark every unread Work notification as read.

  • REST: POST /work/notifications/read-all

ticket_nav#

Ticket counts for the current account.

  • REST: GET /work/ticket-nav

ticket_list#

List tickets in a personal view (mine, created, assigned, open, verifying, rejected, closed, completed_week, archived); work managers may use global_all for all unarchived tickets or global_open for unfinished tickets. project takes one id or a comma-separated set; unassigned_project also keeps tickets without a project.

  • Arguments: assignee order page page_size project sort state unassigned_project view
  • REST: GET /work/tickets

ticket_get#

Read a ticket with its complete comments and attachment metadata.

  • Arguments: id
  • REST: GET /work/tickets/{id}

ticket_create#

Create a ticket as the authenticated account.

  • Arguments: title actual assignee_login description expected kind participants project repos reproduce service source_argos_case source_argos_run_id source_todo_id status status_reason
  • REST: POST /work/tickets

ticket_update#

Update a non-archived ticket. Statuses run todo, in_progress, verifying (fixed, waiting for its reporter), then closed when verification passes or rejected when it fails; rejected goes back to in_progress. Only the ticket's creator or a Work manager closes or rejects, and rejecting needs status_reason.

  • Arguments: id actual assignee_login description expected kind participants project repos reproduce service source_argos_case source_argos_run_id source_todo_id status status_reason title
  • REST: PATCH /work/tickets/{id}

ticket_comment#

Comment on a non-archived ticket; HTTP also accepts multipart body and file parts.

  • Arguments: id body
  • REST: POST /work/tickets/{id}/events

ticket_archive#

Set a ticket's archive state.

  • Arguments: archived id
  • REST: POST /work/tickets/{id}/archive

todo_nav#

Todo counts for the current account.

  • REST: GET /work/todo-nav

todo_list#

List todos in a personal view; project_* views list within a project filter; work managers may use global_* across projects. state takes one status or a comma-separated set; mine_role keeps rows the caller is assigned or created; unplanned keeps todos without an iteration; overdue keeps unfinished todos past their due day; deferred keeps todos whose due day was pushed later; out_of_plan keeps todos added to their iteration after it started; sort takes iteration (by version), deferrals or estimate besides the columns.

  • Arguments: assignee closed deferred iteration_id mine_role order out_of_plan overdue page page_size project sort state unplanned view
  • REST: GET /work/todos

todo_get#

Read a todo, events and attachments.

  • Arguments: id
  • REST: GET /work/todos/{id}

todo_create#

Create a todo under a project. due_at and start_at are days (YYYY-MM-DD, Asia/Shanghai): a todo is overdue once its due day ends. estimate_minutes is the planned effort (480 is one day). A todo joining an iteration that has started is out of plan; iteration_reason says why.

  • Arguments: project title acceptance assignee_login closed delegate_login description due_at due_change_reason estimate_minutes iteration_id iteration_reason links priority request_key revision start_at status ticket_ids
  • REST: POST /work/todos

todo_update#

Update a todo; pushing due_at to a later day requires due_change_reason and counts as a deferral. Moving it into or out of a started iteration records iteration_reason in the iteration's scope.

  • Arguments: id revision acceptance assignee_login closed delegate_login description due_at due_change_reason estimate_minutes iteration_id iteration_reason links priority project request_key start_at status ticket_ids title
  • REST: PATCH /work/todos/{id}

todo_delete#

Delete a todo.

  • Arguments: id
  • REST: DELETE /work/todos/{id}

todo_comment#

Comment on a todo; HTTP also accepts multipart body and file parts.

  • Arguments: id body
  • REST: POST /work/todos/{id}/events

Create a ticket from a todo.

  • Arguments: id
  • REST: POST /work/todos/{id}/link-ticket

document_nav#

List documents the caller can read.

  • REST: GET /work/doc-nav

document_list#

List documents and folders visible to the caller.

  • Arguments: folder_id order page page_size sort
  • REST: GET /work/docs

document_get#

Read a document the caller can access.

  • Arguments: id
  • REST: GET /work/docs/{id}

document_create#

Create a document; visibility is instance or restricted.

  • Arguments: title body folder_id tags visibility
  • REST: POST /work/docs

document_update#

Update a document the caller can edit.

  • Arguments: id body folder_id tags title visibility
  • REST: PATCH /work/docs/{id}

document_delete#

Delete a document the caller can edit.

  • Arguments: id
  • REST: DELETE /work/docs/{id}

document_grants#

List access grants for a document.

  • Arguments: id
  • REST: GET /work/docs/{id}/grants

document_grant_set#

Grant a member view or edit access on a document.

  • Arguments: id login role
  • REST: PUT /work/docs/{id}/grants/{login}

document_grant_delete#

Remove a document access grant.

  • Arguments: id login
  • REST: DELETE /work/docs/{id}/grants/{login}

document_folder_update#

Rename a document folder.

  • Arguments: id title
  • REST: PATCH /work/doc-folders/{id}

document_folder_delete#

Delete an empty document folder; nonempty folders return conflict.

  • Arguments: id
  • REST: DELETE /work/doc-folders/{id}

document_folder_create#

Create a document folder.

  • Arguments: title parent_id
  • REST: POST /work/doc-folders

attachment_get#

Read attachment metadata and an authenticated content URL; use CLI attachment download for bytes.

  • Arguments: id
  • REST: GET /work/attachments/{id}

Search only messages in conversations the caller belongs to.

  • Arguments: q page page_size
  • REST: GET /chat/search

chat_share_document#

Send a knowledge document as a card into a conversation the caller belongs to; restricted documents gain view grants for the members, which needs permission to manage the document's access.

  • Arguments: conversation_id document_id body
  • REST: POST /chat/documents

argos_overview#

Read the newest failing Argos case results, optionally in one environment.

  • Arguments: env
  • REST: GET /argos/overview

argos_catalog#

Read every observed Argos case with its newest result, and the known packs, groups and environments.

  • REST: GET /argos/catalog

argos_case_history#

Page one observed case's results across runs, newest first, with steps.

  • Arguments: id env page page_size
  • REST: GET /argos/cases/{id}/results

argos_run_list#

List Argos runs newest first with a brief summary and case results without steps; read one run with argos_run_get.

  • Arguments: env page page_size status
  • REST: GET /argos/runs

argos_run_get#

Read an Argos run with its case results, steps and comments.

  • Arguments: sid
  • REST: GET /argos/runs/{sid}

argos_run_interrupt#

Interrupt a running Argos run; its unfinished cases become interrupted.

  • Arguments: sid
  • REST: POST /argos/runs/{sid}/interrupt

argos_run_comment#

Comment on an Argos run, optionally on one case.

  • Arguments: body sid case_id
  • REST: POST /argos/runs/{sid}/comments

argos_test_list#

List registered Argos case sources with provenance and owners.

  • Arguments: pack page page_size q
  • REST: GET /argos/tests

argos_test_get#

Read a registered Argos case including its full source.

  • Arguments: id
  • REST: GET /argos/tests/{id}

argos_test_save#

Register or update a case with its complete source; after creation only its owner, creator or an org admin, with expected_sha256 from a fresh read.

  • Arguments: id owner pack path repository revision source title expected_sha256 group tags
  • REST: PUT /argos/tests/{id}

argos_test_source#

Read a retained source snapshot of a registered case by checksum.

  • Arguments: id sha256
  • REST: GET /argos/tests/{id}/source

argos_plan_list#

List shared Argos test plans.

  • Arguments: page page_size
  • REST: GET /argos/plans

argos_plan_save#

Save a shared test plan of registered cases with an owner, environment, status and product iteration; updates pass the current revision.

  • Arguments: cases environment id owner status title iteration revision
  • REST: PUT /argos/plans/{id}

Search registered Argos cases, their source, and runs with their case results.

  • Arguments: q page page_size
  • REST: GET /argos/search

供 Agent 读取: mcp.md编辑此页