Bỏ qua để đến nội dung

Công cụ MCP

cc_server vận hành một sổ đăng ký công cụ MCP (JSON-RPC 2.0), được phục vụ trên cổng chính của máy chủ (mặc định 9030) tại POST /mcp và GET /sse, phiên bản giao thức 2024-11-05. Mọi máy khách đều tiếp cận cùng một sổ đăng ký: ứng dụng desktop, bản web, các máy khách MCP bên ngoài và runtime agent tích hợp. Các máy chủ MCP bên ngoài có thể được bắc cầu vào cùng sổ đăng ký như một lớp động.

Chỉ số Số lượng
Công cụ do cc_server đăng ký 110
Đến từ packages/cc_mcp 108
Đến từ packages/cc_mcp_client (khám phá công cụ) 2
Được đăng ký trong sổ đăng ký cơ sở (server_mcp_registry.dart) 63
Được đăng ký sau khi khởi động, khi các dịch vụ của chúng sẵn sàng (cc_server_runtime.dart) 47
Trong số 63 công cụ của sổ đăng ký cơ sở, phụ thuộc vào một kho mã đồ thị mã 5

Năm công cụ đồ thị mã chỉ được đăng ký khi máy chủ truyền một kho mã đồ thị mã cho buildServerMcpRegistry. cc_server luôn truyền một kho như vậy, nên cả 110 công cụ đều hoạt động trong bản nhị phân phát hành.

Toàn bộ sổ đăng ký được quảng bá trong tools/list mà không có cổng gác khám phá nào. Các thao tác chỉnh sửa phiếu là công cụ có kiểu.

Bắt buộc trên mọi công cụ chạm tới dữ liệu thuộc phạm vi không gian làm việc. Một workspace_id thiếu hoặc không hợp lệ sẽ trả về lỗi tường minh, và một giá trị không khớp với không gian làm việc của thực thể đích sẽ bị từ chối thay vì bị bỏ qua trong im lặng. Hãy bỏ qua nó ở những công cụ thực sự toàn cục: list_workspaces và sáu công cụ bảng tin (list_feeds, list_articles, get_article, set_article_read, set_article_saved, refresh_feeds), vốn dùng danh sách nguồn cấp theo từng người dùng của chủ máy chủ. Các công cụ khám phá (search_tool_bm25, list_my_tools) nhận nó một cách tùy chọn để có thể phân loại khả năng gọi được theo chế độ hội thoại. Khi máy chủ điều phối một agent, không gian làm việc được ép buộc ở phía máy chủ, nên agent không thể chạm tới một không gian làm việc khác bằng cách truyền vào một id lạ.

Cả hai đều đến từ cc_mcp_client chứ không phải cc_mcp, và cả hai đều hỏi bộ gác chế độ nên chúng báo cáo những gì có thể gọi được trong chế độ hội thoại hiện tại.

Công cụ Mô tả
search_tool_bm25 Tìm kiếm danh mục công cụ theo từ khóa; trả về các công cụ khớp, lược đồ đối số của chúng và liệu mỗi công cụ có thể gọi được ngay bây giờ hay không
list_my_tools Liệt kê những công cụ có thể gọi được ngay bây giờ trong cuộc hội thoại này, đã lọc theo chế độ của nó

Công cụ khám phá thứ ba, search_tools, chỉ tồn tại bên trong harness tích hợp và không thuộc sổ đăng ký MCP này. Nó xếp hạng chính bề mặt công cụ của lượt chạy và, khác với search_tool_bm25, nạp lược đồ của những gì nó tìm thấy để agent có thể gọi một kết quả khớp ngay ở lượt kế tiếp. Agent chạy trên harness nên ưu tiên nó; máy khách MCP thì có search_tool_bm25.

Công cụ Mô tả
list_agents Liệt kê các agent đã đăng ký trong một không gian làm việc

Các agent nói chuyện với nhau qua space (bền vững, hiển thị trên danh sách thành viên). ask_agent là dạng yêu cầu/trả lời với thời gian chờ bắt buộc; delegate_task được gác ở phía máy chủ bằng giới hạn độ sâu, phát hiện chu trình, phong bì ngân sách và mức trần tự chủ.

Công cụ Mô tả
send_to_agent Gửi một tin nhắn một chiều tới agent khác, định địa chỉ bằng to_agent_id hoặc to_agent_name chính xác
ask_agent Hỏi một agent khác một câu và chờ câu trả lời, hoặc hết thời gian chờ
delegate_task Ủy thác một nhiệm vụ cho agent khác dưới dạng một phiếu con được theo dõi
consult_agent Thêm chuyên gia khớp nhất theo kỹ năng vào space và điều phối nó bằng một bản giao việc tập trung
todo_read Đọc danh sách việc cần làm đã lưu của cuộc hội thoại này

Mọi lần cài đặt và cập nhật đều đi qua một cổng quét đóng-khi-lỗi trước khi bất kỳ nội dung kỹ năng nào chạm tới đĩa hay prompt của agent.

Công cụ Mô tả
list_skills Liệt kê các slug kỹ năng có sẵn trong một không gian làm việc
create_skill Tạo một kỹ năng mới từ nội dung markdown
install_skill Cài đặt toàn bộ thư mục của một kỹ năng từ một kho mã GitHub tại một ref đã ghim
update_skill Cập nhật một kỹ năng GitHub đã cài đặt lên một ref mới, quét lại và ghim lại
list_skill_updates Liệt kê các kỹ năng có phiên bản mới hơn
verify_skills Đối chiếu các kỹ năng đã khóa với hash nội dung trên đĩa của chúng
pin_skill Băm một kỹ năng đang có trên đĩa vào skills-lock.json
Công cụ Mô tả
submit_plan Hợp đồng đầu ra của chế độ Kế hoạch: phát ra một PlanDocument có kiểu, mở được trong Plan Studio
create_playbook Lưu một kế hoạch thành mẫu có tên và có phiên bản với các chỗ giữ chỗ {{param}} có kiểu
run_playbook Khởi tạo một playbook với các giá trị tham số, tạo ra một kế hoạch để người vận hành phê duyệt
publish_artifact Xuất bản một danh sách có thứ tự gồm các khối có kiểu (markdown, table, chart, mermaid, code, JSON) được hiển thị gốc trong máy khách
revise_artifact Thay thế nội dung của một artifact đã xuất bản
list_artifacts Liệt kê các artifact của không gian làm việc
get_artifact Đọc một artifact
complete_goal Tuyên bố mục tiêu bền vững đang hoạt động của cuộc hội thoại (khởi tạo bằng /goal hoặc /loop) đã đạt được
Công cụ Mô tả
list_workspaces Liệt kê mọi không gian làm việc cùng id và tên của chúng (toàn cục; không cần workspace_id)
Công cụ Mô tả
list_repos Liệt kê các kho mã đã đăng ký trong một không gian làm việc. Bên gọi là agent nhận được đường dẫn worktree copy-on-write tách biệt của cuộc hội thoại mình, không bao giờ là các bản checkout gốc
Công cụ Mô tả
list_spaces Liệt kê các space nhắn tin trong một không gian làm việc
get_messages Lấy tin nhắn từ một space
send_message Gửi một tin nhắn tới một space với tư cách một agent gửi có tên
get_space_notes Đọc tài liệu bàn giao dùng chung của một space
update_space_notes Thay thế tài liệu bàn giao dùng chung của một space
todo_write Thay thế danh sách việc cần làm của cuộc hội thoại này trong một lần gọi (truyền toàn bộ danh sách)
Công cụ Mô tả
start_ai_review Bắt đầu đánh giá bằng AI cho một PR: tính toán các vùng đánh giá, tỏa các người đánh giá chuyên môn vào space PR, soạn bản dẫn dắt và chốt lại
add_review_node Thêm một phát hiện đánh giá có cấu trúc (tệp, dòng, mức ưu tiên P0–P3) vào một space đánh giá
confirm_review_node Xác nhận phát hiện của một agent ngang hàng; tác giả không thể tự xác nhận
resolve_review_node Đánh dấu một phát hiện đã được sửa sau khi thực sự thực hiện thay đổi; đăng một dấu vết vào space đánh giá
dismiss_review_node Bỏ qua một phát hiện không áp dụng; ghi lại một dữ kiện ức chế để những người đánh giá thôi đánh dấu lại nó
request_peer_review Yêu cầu một agent đánh giá khác xem lại một phát hiện
dispatch_reviewers Điều phối đồng thời các agent đánh giá khớp vào một space đánh giá
submit_reviewer_verdict Đăng phán quyết ship/hold/block cho từng người đánh giá kèm độ tin cậy và một phần giải thích
finalize_review Tính đồng thuận theo từng node và phán quyết theo từng PR rồi đóng cuộc đánh giá
set_cohort_summary Đặt bản tóm tắt bằng ngôn ngữ đơn giản cho một cohort đánh giá
add_review_diagram Gắn một sơ đồ có cấu trúc, đã được đồ thị mã kiểm chứng (sequence, entityRelation, stateMachine) vào một cohort
publish_review_to_github Xuất bản bản đánh giá đã chốt lên GitHub dưới dạng bình luận nội tuyến cùng một phần thân tóm tắt
Công cụ Mô tả
search_memory Tìm kiếm dữ kiện và chính sách (từ khóa, ngữ nghĩa hoặc hybrid — hybrid là mặc định)
propose_fact Lưu một dữ kiện markdown ngắn vào một miền
supersede_fact Đánh dấu một dữ kiện đã bị một dữ kiện khác thay thế
propose_policy Lưu một quy tắc quy phạm vào một miền (cần quyền ghi trên miền đó)
supersede_policy Cho một chính sách nghỉ hưu — đánh dấu nó không còn hiệu lực nhưng vẫn giữ lại để kiểm toán
list_policies Liệt kê các chính sách đang hiệu lực, tùy chọn lọc theo miền
list_memory_domains Liệt kê các miền bộ nhớ của không gian làm việc kèm số lượng dữ kiện và chính sách
record_observation Ghi một quan sát thô vào bộ nhớ làm việc của agent
get_my_notes Đọc sổ nháp bộ nhớ làm việc của agent đang gọi
update_my_notes Cập nhật sổ nháp bộ nhớ làm việc của agent đang gọi
remember Thêm một ghi chú vào bộ nhớ làm việc nóng của agent cho phiên này (giới hạn theo TTL và số lượng)
consolidate_memory Chạy một lượt cố kết (“giấc ngủ”): loại bỏ các mục nóng đã hết hạn, chuyển những mục bền vững thành dữ kiện dài hạn
harmonize_memory Chạy việc hài hòa niềm tin giữa các agent (SHMR) và đánh dấu các mâu thuẫn
list_memory_conflicts Liệt kê các mâu thuẫn đã phát hiện và cách mỗi mâu thuẫn được giải quyết
Công cụ Mô tả
create_goal Tạo một mục tiêu tổ chức (cấp công ty, đội nhóm, agent hoặc tác vụ)
list_goals Liệt kê các mục tiêu kèm cấp, trạng thái và tiến độ tổng hợp
update_goal_progress Đặt tiến độ của một mục tiêu
create_approval Mở một phê duyệt trên bảng phê duyệt cho một hành động được quản trị (thoát chế độ kế hoạch, merge, phát hành, tuyển dụng, tùy chỉnh)
list_approvals Liệt kê các phê duyệt, tùy chọn lọc theo trạng thái
decide_approval Ghi lại một quyết định: phê duyệt, từ chối, yêu cầu sửa đổi hoặc gửi lại
comment_approval Bình luận trên một phê duyệt trên bảng phê duyệt
exit_plan_mode Mở (và, sau khi được phê duyệt, tiêu thụ) một phê duyệt plan_exit, đưa cuộc hội thoại ra khỏi chế độ kế hoạch
agent_heartbeat Báo cáo tình trạng sống (đang sống, nhàn rỗi, kẹt); việc im lặng sẽ chuyển sức khỏe runtime sang mới mất liên lạc, rồi ngoại tuyến
list_runtime_health Liệt kê sức khỏe runtime của từng agent
list_agent_presence Liệt kê hiện diện của từng agent (sức khỏe, vòng đời, số lượng đang chạy và đang xếp hàng, công suất)
get_org_chart Đọc cây báo cáo, CEO ở gốc, lồng nhau theo reports_to
create_work_product Tạo một sản phẩm công việc bền vững gắn với một phiếu
save_work_product_revision Lưu một bản sửa đổi mới; truyền base_revision_id để bị từ chối khi có chỉnh sửa đồng thời
list_work_products Liệt kê các sản phẩm công việc, tùy chọn lọc theo một phiếu
get_work_product Đọc một sản phẩm công việc cùng lịch sử sửa đổi của nó
create_runtime_profile Định nghĩa một hồ sơ runtime dùng lại được (họ giao thức, lệnh CLI, đối số khởi chạy cố định)
list_runtime_profiles Liệt kê các hồ sơ runtime của không gian làm việc

Chỉ được đăng ký khi máy chủ cung cấp một kho mã đồ thị mã. Chỉ mục bao phủ bộ ngữ pháp được phát hành (Dart, JS/TS, PHP, Python, Rust, Zig, C/C++, Go, Java, Ruby, C#, Swift, Kotlin, R, Assembly, MATLAB, Ada); ký hiệu ở bất kỳ ngôn ngữ nào khác đều không có mặt.

Công cụ Mô tả
search_code Tìm kiếm ký hiệu đã lập chỉ mục theo tên, chữ ký và chú thích tài liệu (hybrid BM25 + ngữ nghĩa)
code_symbol Tra cứu ký hiệu theo tên chính xác; trả về file:line và chữ ký
code_callers Liệt kê các ký hiệu gọi hoặc phụ thuộc vào một ký hiệu (cạnh đi vào)
code_callees Liệt kê các ký hiệu mà một ký hiệu gọi hoặc phụ thuộc vào (cạnh đi ra)
code_impact Tính bán kính ảnh hưởng bắc cầu của một ký hiệu, tới một độ sâu nhất định
Công cụ Mô tả
create_ticket Tạo một phiếu trên nhà cung cấp đã cấu hình
get_ticket Lấy một phiếu theo id
list_tickets Liệt kê các phiếu, tùy chọn lọc theo trạng thái hoặc người được gán
update_ticket Cập nhật trạng thái, tiêu đề, mô tả, mức ưu tiên hoặc nhãn (trạng thái chấp nhận các bí danh như in_progress / completed)
assign_ticket Gán một phiếu cho một agent và/hoặc một đội
reassign_ticket Gán lại một phiếu cho một agent khác
add_ticket_collaborator Mời một agent cộng tác trên một phiếu (được thêm vào space của phiếu đó)
comment_on_ticket Bình luận trên một phiếu
close_ticket Đóng một phiếu (đánh dấu hoàn tất) kèm đầu ra tùy chọn
fail_ticket Đánh dấu một phiếu thất bại kèm một thông điệp lỗi
delegate_ticket Ủy thác một phiếu cho một agent, tạo ra một phiếu được theo dõi
ticket_pr_link Liên kết hoặc hủy liên kết một phiếu với một pull request theo id node của PR (action: link | unlink)
ticket_relation Thêm hoặc gỡ một quan hệ giữa hai phiếu — blocked_by, blocking, related_to, duplicate_of, duplicated_by, sub_issue_of, parent_of (action: add | remove)
list_ticket_relations Liệt kê phiếu cha, các phiếu con và các liên kết phụ thuộc của một phiếu
Công cụ Mô tả
record_team_activity Ghi một mục hoạt động của trưởng nhóm gắn với một phiếu
preview_trigger Chạy thử xem một sự kiện giả định sẽ khởi động những lần chạy quy trình nào, không cam kết gì cả
submit_output Gửi payload đầu ra có cấu trúc cho lần chạy quy trình hiện tại của bên gọi; được xác thực dựa trên lược đồ đầu ra đã khai báo của lần chạy
Công cụ Mô tả
propose_orchestration Phát ra một kế hoạch điều phối đa agent có cấu trúc để xin một lần phê duyệt trước; xác thực và trả về mọi vi phạm
Công cụ Mô tả
list_feeds Liệt kê các nguồn cấp RSS/Atom đã đăng ký
list_articles Liệt kê các bài viết, tùy chọn lọc theo nguồn cấp, chưa đọc hoặc đã lưu
get_article Lấy một bài viết
set_article_read Đánh dấu một bài viết đã đọc hoặc chưa đọc
set_article_saved Lưu hoặc bỏ lưu một bài viết
refresh_feeds Tải lại mọi nguồn cấp đang bật ngay bây giờ

Điều khiển những cỗ máy dùng-một-lần — một trình duyệt hay desktop Linux được bao kín, một trình giả lập Android, hoặc một iOS Simulator — ngay từ bên trong một lượt chạy. Được đăng ký sau khi khởi động, không kèm điều kiện: liệu một cỗ máy có thực sự khởi động được hay không là một câu hỏi thăm dò mà các công cụ trả lời theo từng lần gọi. Các lời gọi lặp lại trong cùng một cuộc hội thoại dùng lại một cỗ máy; ảnh chụp màn hình trả về dưới dạng nội dung hình ảnh với hạn mức một ảnh cho mỗi kết quả, và nội dung trang/giao diện được trích xuất được rào lại như dữ liệu không đáng tin cậy. Bốn công cụ dùng và rig_close cùng khai báo lớp hành động enclosureControl (các công cụ dùng còn khai báo networkEgress và processSpawn; mobile_use và ios_use còn khai báo packageInstall), nên các chế độ chỉ đọc từ chối chúng. rig_list không khai báo lớp nào — nó chỉ đọc trạng thái không gian làm việc. Toàn bộ từ vựng động từ cho từng bề mặt nằm trong tham chiếu rigs.

Công cụ Mô tả
computer_use Điều khiển một desktop Linux trong một VM được bao kín: di chuyển, nhấp, kéo, cuộn, gõ, đổi kích thước, clipboard, chụp màn hình
browser_use Điều khiển Chromium, Firefox hoặc WebKit không giao diện (engine): điều hướng, nhấp, điền, trích xuất (a11y/DOM/console), clipboard, chụp màn hình
mobile_use Điều khiển Android qua ADB: kiểm tra/đầu vào, ảnh chụp màn hình, cài/chạy/dừng/đặt lại/gỡ ứng dụng, deep link và các lệnh thiết bị dạng argv
ios_use Điều khiển iOS Simulator qua WebDriverAgent/CoreSimulator: kiểm tra/đầu vào, ảnh chụp màn hình, cài/chạy/dừng/gỡ ứng dụng, deep link và các tiến trình simulator dạng argv
rig_list Liệt kê các rig của một không gian làm việc kèm bề mặt, trạng thái, kích thước màn hình và bộ điều khiển
rig_close Hủy một rig và vứt bỏ trạng thái cỗ máy thuộc sở hữu của nó

Lịch và cuộc họp không có công cụ MCP nào. Agent không thể đọc lịch, cuộc họp, bản ghi chép, các mục hành động hay quyết định của bạn. Bản tóm tắt tạo ra các mục hành động và quyết định chạy dưới dạng quy trình meeting_summary tích hợp, chứ không phải một công cụ mà agent có thể gọi.

Việc gác được thực thi hai lần từ một bảng duy nhất (ModeToolPolicy): một lần trong bộ điều phối MCP cho adapter Claude Code và một lần trong sổ đăng ký của harness tích hợp. Một lời gọi bị chặn sẽ trả về lý do.

Chế độ Bề mặt công cụ
chat Mọi công cụ đã đăng ký; không có danh sách cho phép
plan Một danh sách cho phép được tuyển chọn. Không có ghi lên worktree và không có các động từ phiếu create / assign / delegate, nhưng bộ nhớ, artifact, việc cần làm, submit_plan, exit_plan_mode cùng các động từ hoàn tất phiếu trên phiếu được điều phối đều được phép
review Một danh sách cho phép được tuyển chọn: tham gia đánh giá, liên lạc, các công cụ lấy ngữ cảnh chỉ đọc và toàn bộ tập động từ phiếu, kể cả create_ticket và assign_ticket
orchestrate Một danh sách cho phép được tuyển chọn: các công cụ nghiên cứu và đọc cùng propose_orchestration, create_playbook và run_playbook. Việc tuyển người, phân rã và hoàn tất phiếu diễn ra một cách tất định sau khi phê duyệt, không bao giờ giữa lượt chạy

Được phép trong mọi chế độ bất kể danh sách cho phép:

Nhóm Công cụ
Bộ nhớ và artifact search_memory, propose_fact, propose_policy, supersede_fact, supersede_policy, record_observation, update_my_notes, get_my_notes, list_memory_domains, list_policies, publish_artifact, revise_artifact, list_artifacts, get_artifact
Đồ thị mã search_code, code_symbol, code_callers, code_callees, code_impact
Cơ chế lượt chạy search_tool_bm25, list_my_tools, todo_write, todo_read

Nằm trong danh sách cho phép không khiến một công cụ gọi được, và điều ngược lại cũng đúng: năng lực hỏi người vận hành là một công cụ harness (ask_user), nên nó hoàn toàn không bao giờ xuất hiện trong danh mục MCP này.

Một công cụ có thể khai báo requiresApproval. Khi đó bộ điều phối dựng một ApprovalPayload và phơi nó ra qua ConfirmationPort trước khi công cụ chạy; cc_server đấu nối cổng đó, nên cổng gác này đang hoạt động.

Các công cụ đã đăng ký khai báo thuộc tính này: create_ticket, update_ticket, assign_ticket, reassign_ticket, close_ticket, ticket_relation, create_goal, update_goal_progress, create_approval, decide_approval, comment_approval, create_work_product, save_work_product_revision, create_runtime_profile, install_skill, update_skill.

Độc lập với đó, rào chắn hành động thống nhất gác mọi công cụ khai báo một tập ActionClass không rỗng. Một quyết định prompt không có người phê duyệt kết nối sẽ bị từ chối. Xem Rào chắn.

Những năng lực không có công cụ đằng sau

Phần tiêu đề “Những năng lực không có công cụ đằng sau”

Không phải mọi năng lực trong sản phẩm đều có thể tiếp cận bởi agent. Những năng lực dưới đây hoàn toàn không có công cụ, nên một cái tên bạn có thể đã thấy được nhắc tới ở đâu đó sẽ trả về “unknown tool”:

Năng lực Nơi nó thực sự nằm
Tuyển, sa thải hoặc sửa một agent Giao diện agent. Không có công cụ hire_agent / fire_agent / update_agent
Tạo một không gian làm việc workspace.upsert qua RPC, thao tác này gieo tạo và đóng dấu quyền sở hữu
Dự án (tạo / liệt kê / cập nhật / xếp vào) Giao diện phiếu. Dự án là một bề mặt dành cho người vận hành — xem Dự án
Hỏi người vận hành một câu hỏi chặn Công cụ ask_user của harness, không phải MCP. Nó hiển thị một biểu mẫu ngay trong cuộc hội thoại và chặn chờ câu trả lời
Chẩn đoán theo từng agent Không có gì. Không có doctor — xem Chẩn đoán agent
Lịch và cuộc họp RPC chỉ dành cho máy khách là con người (xem ở trên)