Mocco를 에이전트에 연결하기

Mocco는 Model Context Protocol을 지원합니다. 이미 쓰고 있는 코딩 어시스턴트가 터미널을 떠나지 않고도 "배포가 멈췄다면 어디에서 멈췄지?"라는 질문에 답할 수 있습니다.

서버는 원격이며 Mocco가 호스팅합니다. 설치할 것도, 업데이트할 것도 없습니다. 브라우저에서 한 번 로그인하면 클라이언트가 토큰을 보관합니다.

https://www.mocco.club/api/mcp

읽기 도구와 결정 도구가 모두 들어 있습니다. 승인 요청에 투표하기, 멈춘 실행을 재개하거나 거부하기, 알림이 가는 곳 바꾸기, 메신저 인박스와 설정 다루기, 피드백 보드 설정하기, 피드백 게시물을 쓰고 옮기고 댓글 달고 투표하고 병합하고 변환하고 GitHub에 연결하고 릴리스에서 출시됨으로 표시하기, 변경 로그 항목 쓰고 게시하기, 헬프 센터 글을 쓰고 게시하고 번역하기, 플래그를 만들고 플래그 변경을 제안하기까지 할 수 있습니다. 계획은 설계 문서에 있습니다.

할 수 있는 것

사용자 본인으로서 읽습니다. 속한 워크스페이스에서 Mocco 역할이 허용하는 것만 볼 수 있습니다. 서버 자체에는 권한이 없으므로 그 이상은 보이지 않습니다.

도구답해 주는 것
mocco_runs_search실행 중이거나 대기 중이거나 실패한 실행. awaiting_gate로 필터링하면 "막혀 있는 것"을 볼 수 있습니다
mocco_runs_get실행 하나. 단계, 실행을 붙잡고 있는 게이트(itemIndex 포함), 게이트를 풀 조건
mocco_approvals_search지금 사람의 결정을 기다리는 것. 각 요청에는 무엇에 관한 것인지 짧은 레이블이 붙습니다("Production", "production channel", "Shopper (iOS)")
mocco_approvals_get요청 하나. 고정된 변경, 요구 조건, 지금까지의 투표
mocco_flags_search프로젝트의 기능 플래그. 키나 설명 텍스트, 수명 주기, 저장소가 정의한 플래그인지로 찾을 수 있고, 각 플래그가 어디에서 켜져 있는지도 보여 줍니다
mocco_flags_get플래그 하나. 변형, 환경별로 제공하는 값, .mocco/flags.yml이 관리하는지 여부
mocco_flags_changesets_search보호된 환경에서 승인을 기다리는 플래그 변경. 각 변경을 결정하는 승인 요청이 함께 나옵니다
mocco_flags_changesets_get플래그 변경 하나. 바뀌는 내용, 상태, 승인하면 적용될 내용, 지금까지의 투표
mocco_flags_environments_list프로젝트의 플래그 환경, 그중 보호된 환경, 각 환경의 현재 버전
mocco_flags_segments_search환경의 세그먼트. 키나 이름으로 찾을 수 있고, 포함하는 대상과 제외하는 대상이 나옵니다
mocco_flags_preview특정 사용자나 컨텍스트에 대해 환경의 플래그가 무엇을 제공할지. 지금 상태나 저장하지 않은 변경을 반영한 상태 모두 볼 수 있습니다
mocco_flags_ruleset_getSDK가 환경에 대해 읽는 룰셋. 버전, ETag, 각 플래그의 상태(detailed로 요청하면 문서 전체)
mocco_flags_deploy_check플래그를 켜기 전에, 환경이 마지막으로 배포한 코드에 그 플래그의 키가 있는지
mocco_flags_timeline_search환경의 플래그 변경과 파이프라인 실행을 최신순으로. 배포 전후에 무엇이 바뀌었는지 볼 수 있습니다
mocco_flags_usage_search최근 며칠 동안 SDK가 각 플래그를 얼마나 자주 평가했는지, 각 플래그가 마지막으로 확인된 시점
mocco_flags_stale_search제거해도 될 것 같은 플래그. 사용하지 않거나, 한 번도 평가되지 않았거나, 모두에게 같은 변형 하나만 제공하는 플래그입니다
mocco_flags_file_syncs_search최근 .mocco/flags.yml 동기화, 각 동기화의 결과, 파일이 거부된 이유
mocco_ota_channels_search각 OTA 채널이 지금 제공하는 것. 플랫폼과 런타임 버전별 릴리스, 진행 중인 롤아웃과 그 비율, 일시 중지나 롤백 여부
mocco_ota_releases_searchCI가 업로드한 OTA 릴리스를 최신순으로. 메시지나 커밋, 런타임 버전, 상태, 플랫폼으로 찾을 수 있습니다
mocco_ota_adoption_get최근 24시간 동안 체크인한 기기 수(채널과 릴리스별), 앱의 월간 활성 기기 수
mocco_ota_version_policies_search각 iOS·Android 앱의 최소 지원 버전, 권장 버전, 차단 버전, 이를 강화할 때 승인이 필요한지 여부
mocco_desktop_releases_search데스크톱 앱의 릴리스를 최신순으로. 상태, 버전 접두사, 해당 릴리스를 제공하는 채널로 찾을 수 있습니다
mocco_desktop_releases_getID나 버전으로 찾은 데스크톱 릴리스 하나. 상태(실패하거나 철회된 이유 포함), 파일과 크기, SHA-256, 서명 키 ID, 릴리스를 제공하는 채널
mocco_desktop_releases_channels데스크톱 앱의 각 채널이 지금 플랫폼별로 제공하는 것
mocco_desktop_releases_stats각 버전이 하루에 몇 번 다운로드되었는지. 사람과 업데이터로 나누어 보여 줍니다
mocco_projects_search워크스페이스의 프로젝트와 그 앱, 워크스페이스에서 켜 둔 제품 라인
mocco_projects_create워크스페이스에 프로젝트를 만듭니다
mocco_projects_apps_add프로젝트에 앱(React Native, iOS, Android, 웹, 서버)을 추가합니다
mocco_products_enableOTA 같은 제품 라인을 워크스페이스에서 켭니다
mocco_ota_setup_get프로젝트의 React Native 앱. Mocco가 호스팅하는 앱마다 매니페스트 URL과 expo.updates 블록, 채널, 서명 인증서, 신뢰하는 저장소, 첫 업데이트 전에 아직 빠져 있는 것
mocco_ota_apps_hostReact Native 앱의 OTA 업데이트를 Mocco에서 호스팅하고, 매니페스트 URL을 알려 줍니다
mocco_ota_channels_create호스팅하는 앱에 staging 같은 보호되지 않은 채널을 추가합니다
mocco_ota_certificates_add앱에 내장된 코드 서명 인증서를 등록해, 그 키로 서명한 업데이트를 Mocco가 받아들이게 합니다
mocco_ota_trust_policies_create저장된 키 없이 Actions에서 배포할 수 있도록 GitHub 저장소를 신뢰하고, 그 저장소가 승격할 수 있는 보호되지 않은 채널을 지정합니다
mocco_status_pages_get상태 페이지가 지금 말하는 내용. 각 컴포넌트와 표시 중인 상태, 진행 중인 인시던트와 점검 수를 포함합니다
mocco_status_incidents_search열려 있는(또는 열려 있었던) 인시던트를 최신순으로. 상태, 심각도, 페이지, 제목 텍스트로 찾을 수 있고, 사람이 열었는지 모니터가 열었는지 배포 감시가 열었는지도 알려 줍니다
mocco_status_incidents_get인시던트 하나. 출처, 배포 감시가 의심하는 실행(링크 포함), 게시된 모든 업데이트, 영향받는 컴포넌트와 그 정도, 포스트모템, 연결된 배포
mocco_status_maintenances_search예정되었거나 진행 중인 점검 시간과 각각이 다루는 컴포넌트
mocco_status_monitors_search프로젝트의 HTTP, TCP, 하트비트 모니터. 각 모니터가 확인하는 대상(호스트만), 상태(예: 중단된 모니터)와 그 시작 시점, 보고하는 컴포넌트가 나오고, 하트비트라면 주기, 유예 시간, 마지막 핑, 마지막 실행도 나옵니다
mocco_status_monitors_get모니터 하나. 최근 상태 변경과 그 이유, 최근 라운드, 아직 열려 있는 인시던트
mocco_status_locations_search모니터가 실행되는 위치. Mocco가 호스팅하는 리전, 프라이빗 위치, 내장 프로브와 각 에이전트가 마지막으로 확인된 시점
mocco_status_run_incidents_list프로젝트 전체에서 실행에 연결된 상태 인시던트
mocco_status_gate_maintenances_search상태 페이지에 점검을 알리는 파이프라인 게이트와 각 게이트가 알리는 내용
mocco_help_articles_search질문과 일치하는 게시된 헬프 센터 글(모든 단어 일치, 고객 메시지라면 일부 단어 일치), 또는 모든 글을 순서대로. 번역된 언어가 있으면 그 언어로 보여 줍니다
mocco_help_articles_get게시된 헬프 센터 글 하나의 Markdown(번역된 언어가 있으면 요청한 언어로), 게시된 언어 목록, 최근 30일 동안 독자가 "Was this helpful?"에 답한 결과(detailed로 요청하면 최신 댓글 포함)
mocco_help_translations_list헬프 센터의 번역 진행 상황. 언어별로 검수됨, 기계 번역, 오래됨, 실패, 번역 안 됨 글의 수와 주의가 필요한(또는 오래되거나 실패한, 또는 전체) 글이 나옵니다. git, 사람, 기계 중 어디에서 온 텍스트인지로 좁힐 수 있고, 언어별로 각 글의 상태와 출처가 나옵니다
mocco_help_translation_get한 언어로 된 글 하나. 검수한 사람과 시점, 기다리고 있는 기계 초안이 있는지, 번역된 뒤 원문에서 정확히 어떤 문장이 바뀌었는지(detailed로 요청하면 텍스트 포함)
mocco_help_glossary_list모든 번역이 따르는 헬프 센터 용어집. 모든 언어에서 표기 그대로 두는 이름과 언어별로 하나의 방식으로 고정해 번역하는 단어. 텍스트, 규칙, 언어로 찾을 수 있습니다
mocco_help_site_get편집자가 보는 헬프 센터. 주소, 언어, 콘텐츠를 git에서 관리하는지와 어디에서 관리하는지, 컬렉션과 섹션 및 각각의 글 수
mocco_help_drafts_list게시 여부와 관계없이 모든 헬프 센터 글. 초안 제목과 아직 게시하지 않은 변경이 초안에 있는지 나옵니다. 상태, 컬렉션, 섹션, 제목으로 찾을 수 있습니다
mocco_help_draft_get편집기가 보여 주는 대로의 헬프 센터 글 하나. 초안의 Markdown과 게시된 리비전
mocco_help_revisions_list글의 이력을 최신순으로, 또는 이전 리비전 하나를 전체로
mocco_messenger_conversations_search열려 있는(또는 닫힌) 메신저 대화를 최근 활동순으로. 담당자(본인, 특정인, 담당자 없음)나 연락처(ID, 이메일, 앱의 사용자 ID)로 찾을 수 있고, 마지막 메시지 미리보기와 읽었는지 여부가 나옵니다
mocco_messenger_conversation_get대화 하나의 스레드. 사용자와 팀이 보낸 모든 메시지(내부 메모는 표시됨)와 각 첨부 파일의 이름, 유형, 크기
mocco_messenger_settings_get프로젝트의 메신저가 설정되었는지, 사용자가 고르는 카테고리, 로그인하지 않은 사람도 글을 쓸 수 있는지. ID 시크릿은 절대 나오지 않습니다
mocco_messenger_inbox_members_list새 대화를 맡는 사람(라운드 로빈)을 순서대로, 각자가 응대 가능한지 자리 비움인지
mocco_feedback_boards_list프로젝트의 피드백 보드, 각 보드의 공개 여부, 순서대로 나열한 카테고리
mocco_feedback_posts_search보드의 게시물. 상태(검토 중, 계획됨, 진행 중, 출시됨, 종료)나 최신순, 카테고리로 찾을 수 있고, 한 번에 한 페이지씩 나옵니다
mocco_feedback_post_get피드백 게시물 하나와 그것이 거친 모든 상태와 시점
mocco_feedback_ship_suggestions_list피드백 게시물을 출시됨으로 표시하라고 기다리는 릴리스. 커밋, 승인한 사람, 게시물, 변경 로그 초안 항목이 나옵니다
mocco_feedback_votes_list피드백 게시물에 투표한 사람(최종 사용자마다 앱의 ID), 각 투표가 이미 집계되는지 이메일 확인을 기다리는지
mocco_feedback_comments_list팀이 보는 대로의 피드백 게시물 댓글. 최종 사용자의 댓글, 공식 답변, 표시된 내부 메모
mocco_feedback_board_get피드백 보드 하나. 공개 여부, 카테고리, 이 보드의 게시물을 출시하는 릴리스
mocco_feedback_subscribers_list피드백 게시물을 팔로우하는 사람. 한 번에 한 페이지씩 나옵니다
mocco_feedback_duplicates_list아직 결정하지 않은 보드의 중복 의심 건과 두 게시물
mocco_feedback_intake_preview메신저 대화를 피드백 게시물로 바꿀 때 시작점이 되는 것. 제목, 고객의 말, 중복일 수 있는 보드의 게시물
mocco_feedback_source_posts_list메신저 대화가 변환된 피드백 게시물
mocco_feedback_post_sources_list피드백 게시물의 출처가 된 메신저 대화와 고객의 말
mocco_changelog_entries_search피드백 보드의 변경 로그 항목. 초안, 예약됨, 게시됨이 있고 한 번에 한 페이지씩 나옵니다
mocco_changelog_entry_get변경 로그 항목 하나. 상태, 태그, 이 항목이 알리는 게시물, 본문
mocco_feedback_links_list피드백 게시물에 연결된 GitHub 이슈와 풀 리퀘스트. 열림, 닫힘, 병합됨 여부, 병합 커밋, 연결된 이슈를 닫는 풀 리퀘스트가 나옵니다
mocco_feedback_github_search프로젝트에 연결된 GitHub 저장소의 이슈나 풀 리퀘스트를 단어나 번호로 찾아, 게시물에 연결할 수 있게 합니다
mocco_notifications_channels_searchMocco가 게시하는 Discord 채널과, 비활성화된 채널이 비활성화된 이유
mocco_notifications_rules_search어떤 이벤트가 어떤 채널로 가는지. 각 규칙의 이벤트 유형, 소스, 필터
mocco_notifications_activity_search각 웹훅과 Mocco 이벤트가 어떻게 되었는지. 채널별로 전송됨 또는 실패(오류 포함), 또는 아무것도 받지 못한 이유
mocco_inbound_sources_search워크스페이스가 가진 Sentry, Vercel, GitHub 웹훅 소스, 각 소스가 전송을 받는지, 가장 최근 전송이 어떻게 되었는지

읽기 도구는 responseFormat을 받습니다. 기본값은 concise이고, 에이전트가 커밋과 게이트 요구 조건까지 필요로 할 때는 detailed를 씁니다. 이렇게 하면 요청하지 않은 행이 컨텍스트를 차지하지 않습니다.

어느 워크스페이스인가요? 속한 워크스페이스가 하나라면 아무 말도 하지 않아도 됩니다. 여러 개라면 도구가 어느 것인지 묻고 이름을 알려 줍니다. 속하지 않은 워크스페이스는 존재 여부와 관계없이 거부됩니다.

어느 프로젝트인가요? 플래그 도구는 프로젝트 하나를 읽습니다. 워크스페이스에 프로젝트가 하나라면 아무 말도 하지 않아도 됩니다. 그렇지 않으면 도구가 고를 수 있는 프로젝트의 이름을 알려 줍니다. 콘솔과 마찬가지로 워크스페이스에서 기능 플래그를 켜 둔 경우에만 응답합니다. 환경은 production 같은 키로 지정합니다. 알 수 없는 환경은 거부되며, 프로젝트가 가진 키가 함께 안내됩니다. 미리보기는 변경을 포함하더라도 아무것도 저장하지 않습니다. 사용 횟수는 SDK가 보고한 것만 집계하므로, 어떤 SDK도 평가하지 않은 플래그는 목록에 없습니다. 플래그를 바꾸려면 아래 플래그 변경하기를 보세요. .mocco/flags.yml이 관리하는 플래그는 저장소에서만 바꿀 수 있습니다.

OTA 도구도 같은 방식으로 프로젝트를 고르며, OTA를 켜 둔 경우에만 응답합니다. 채널, 릴리스, 도입 도구는 호스팅하는 앱 하나를 읽습니다. 프로젝트가 앱 하나를 호스팅한다면 appId를 생략하고, 그렇지 않으면 도구가 고를 수 있는 앱의 이름을 알려 줍니다. 이 도구들은 읽기만 합니다. 승격, 롤아웃, 일시 중지, 롤백, 버전 정책 변경은 콘솔이나 mocco ota로 하세요.

상태 페이지 도구도 같은 방식으로 프로젝트를 고르며, 상태 페이지를 켜 둔 경우에만 응답합니다. mocco_status_pages_get은 페이지 하나를 읽습니다. 프로젝트에 페이지가 하나라면 pageId를 생략하고, 그렇지 않으면 도구가 고를 수 있는 페이지의 이름을 알려 줍니다. 인시던트와 점검 검색은 페이지를 지정하지 않으면 프로젝트의 모든 페이지를 읽습니다. 모니터는 확인하는 호스트만 보여 줍니다. 전체 URL, 요청 본문, 키워드에는 자격 증명이 들어 있을 수 있으므로 서버에만 남습니다. 하트비트는 주기, 유예 시간, 작업이 마지막으로 핑을 보낸 시점, 마지막 실행에 걸린 시간을 보여 주며 핑 토큰은 절대 보여 주지 않습니다. 위치 도구는 어느 멤버에게든 워크스페이스 전체를 읽어 주고 위치의 토큰은 절대 반환하지 않습니다. 인시던트에는 사람이 열었는지, 모니터가 열었는지, 배포 감시가 열었는지가 나옵니다. 배포 감시가 연 인시던트라면 의심하는 실행의 이름을 알려 주고 콘솔의 해당 링크를 보여 줍니다. 지금 모니터 확인하기(아래)를 제외하면 읽기만 합니다. 인시던트 선언, 업데이트 게시, 점검 예약, 모니터나 위치 추가·일시 중지·변경은 콘솔에서 하세요.

메신저 도구도 같은 방식으로 프로젝트를 고르며, 메신저를 켜 둔 경우에만 워크스페이스의 어느 멤버에게든 응답합니다. 인박스와 마찬가지입니다. 팀이 인박스에서 내부 메모를 보기 때문에 내부 메모도 읽습니다. 첨부 파일은 이름, 유형, 크기로만 돌아오며 파일 링크는 주지 않습니다. 파일을 보려면 콘솔에서 대화를 여세요. 사용자의 이메일, 앱에서 쓰는 사용자 ID, 특성, 글을 쓴 기기는 detailed 응답에만 들어 있습니다.

피드백 도구도 같은 방식으로 프로젝트를 고르며, 피드백을 켜 둔 경우에만 워크스페이스의 어느 멤버에게든 응답합니다. 게시물 본문은 detailed 응답을 요청하지 않으면 짧게 잘려 나옵니다. detailed 응답에는 작성자와 각 상태를 바꾼 사람도 (사용자 ID로) 나옵니다.

알림과 웹훅 소스 도구는 고를 프로젝트 없이 워크스페이스 전체를 읽으며, 콘솔과 마찬가지로 어느 멤버에게든 응답합니다. 서명 시크릿이나 토큰은 절대 반환하지 않습니다. 소스는 시크릿이 있는지만 알려 주고, detailed 응답은 벤더에 설정한 ingest URL을 알려 줍니다. 모든 전송은 서명도 되어 있어야 하므로 이 URL만으로는 자격 증명이 되지 않습니다. 알림이 도착하지 않은 이유를 알아보려면 소스나 채널을 지정해 활동 추적을 요청하세요. 이 도구들은 읽기만 합니다. 채널 연결, 규칙 편집, 소스 추가는 콘솔이나 아래의 변경 도구로 하세요. SECRETS_ENCRYPTION_KEYS가 없는 자체 호스팅 서버에서는 소스 도구가 웹훅 소스가 설정되지 않았다고 알려 줍니다.

결정은 따로 분리되어 있고 기본값은 꺼짐입니다.

도구하는 일
mocco_approvals_vote대기 중인 요청을 본인으로서 승인하거나 거부합니다. 이유는 선택입니다
mocco_gates_resume실행이 멈춘 게이트를 본인으로서 재개하거나 거부합니다. 이유는 선택입니다
mocco_notifications_channels_connect워크스페이스 서버의 Discord 채널을 알림 채널로 연결합니다. Mocco가 테스트 메시지를 게시합니다
mocco_notifications_channels_reenable봇이 다시 접근할 수 있게 되면, 비활성화된 알림 채널을 다시 켭니다
mocco_notifications_rules_add이벤트 유형(한 소스 또는 모든 소스에서, 필요하면 이벤트 값으로 필터링)을 채널로 보냅니다
mocco_notifications_rules_remove규칙을 제거해 그 규칙의 이벤트가 채널로 가지 않게 합니다
mocco_notifications_presets_apply채널에 준비된 규칙 세트(mocco, sentry, vercel, github)를 추가합니다. 이미 있는 규칙은 건너뜁니다
mocco_inbound_sources_createGitHub 웹훅 소스를 추가합니다. 서명 시크릿은 에이전트에게 절대 보이지 않습니다
mocco_inbound_sources_pause / _resume웹훅 소스를 일시 중지하거나(전송이 거부됨) 재개합니다
mocco_inbound_sources_delete웹훅 소스와 그 소스가 받은 전송 기록을 삭제합니다
mocco_monitors_check간격을 기다리지 않고, 예를 들어 배포 직후에, HTTP 또는 TCP 모니터의 다음 라운드를 지금 실행합니다
mocco_status_incident_create본인으로서 상태 페이지에 인시던트를 엽니다. 즉시 공개되고 페이지 구독자에게 발송됩니다
mocco_status_incident_update_post본인으로서 인시던트에 업데이트를 게시하고 상태를 옮깁니다(resolved까지 올리면 인시던트가 닫힙니다)
mocco_status_incident_components_set인시던트가 영향을 주는 컴포넌트와 그 정도를 교체합니다
mocco_status_incident_postmortem_set인시던트의 포스트모템을 설정하거나 지웁니다
mocco_status_incident_run_link / _run_unlink배포를 인시던트에(또는 해결책으로) 연결하거나 연결을 제거합니다
mocco_status_incident_runs_correlate인시던트에 대해 Mocco가 제안하는 배포를 다시 계산합니다. 사람이 연결한 배포는 그대로 남습니다
mocco_status_maintenance_schedule / _cancel점검 시간을 예약하거나 취소합니다(진행 중인 기간은 지금 끝납니다)
mocco_status_component_status_set컴포넌트가 보고하는 상태를 직접 설정합니다
mocco_status_page_create / _page_update상태 페이지를 만들거나 제목이나 주소를 바꿉니다
mocco_status_group_create / _update / _delete컴포넌트 그룹을 추가하고, 이름을 바꾸거나 옮기고, 삭제합니다(컴포넌트는 그룹 없이 남습니다)
mocco_status_component_create / _update / _delete컴포넌트를 추가하고, 바꾸고, 삭제합니다
mocco_status_monitor_create / _updateHTTP 또는 TCP 모니터를 만들거나, URL을 다시 읽지 않고 모니터의 설정을 바꿉니다
mocco_status_monitor_pause / _resume / _delete모니터를 일시 중지하거나, 재개하거나, 삭제합니다
mocco_status_gate_maintenance_set / _delete파이프라인 게이트가 페이지에 점검을 알리게 하거나 중단합니다
mocco_messenger_reply본인으로서 메신저 대화에 텍스트 답장을 보냅니다. 사용자는 앱에서 읽습니다
mocco_messenger_assign메신저 대화를 워크스페이스 멤버(본인 또는 다른 사람) 또는 담당자 없음으로 넘깁니다
mocco_messenger_note_create본인으로서 대화에 내부 메모를 남깁니다. 팀만 볼 수 있습니다
mocco_messenger_conversation_set_status본인으로서 대화를 닫거나 닫힌 대화를 다시 엽니다
mocco_messenger_contact_set_blocked사용자가 팀에 글을 쓰지 못하게 하거나(읽기는 가능) 다시 쓸 수 있게 합니다
mocco_messenger_categories_set사용자가 대화를 시작할 때 고르는 카테고리를 교체합니다
mocco_messenger_guest_access_set로그인하지 않은 사람도 (이메일을 남기고) 글을 쓸 수 있게 하거나, 로그인한 사용자만 받습니다
mocco_messenger_inbox_members_add / _remove워크스페이스 멤버를 라운드 로빈 순환에 넣거나 뺍니다
mocco_messenger_inbox_members_set_availability본인(또는 순환에 있는 다른 사람)을 응대 가능 또는 자리 비움으로 표시합니다
mocco_feedback_post_set_status본인으로서 피드백 게시물을 다른 상태로 옮기고 이력에 기록합니다
mocco_feedback_ship_suggestions_accept본인으로서 릴리스가 출시한 게시물을 출시됨으로 표시합니다. 이메일 투표자에게 메일이 갑니다
mocco_feedback_ship_suggestions_dismiss본인으로서 릴리스의 출시 제안을 치워 둡니다. 게시물은 그대로 남습니다
mocco_feedback_comment_create본인으로서 피드백 게시물에 댓글을 답니다. 공개 댓글, 공식 답변, 팀만 보는 내부 메모 중 하나입니다
mocco_feedback_post_vote본인으로서 최종 사용자를 대신해 피드백 게시물에 투표를 기록합니다. 즉시 집계됩니다
mocco_feedback_post_merge본인으로서 중복된 피드백 게시물을 원래 게시물에 병합합니다. 투표와 팔로워가 옮겨 갑니다
mocco_feedback_board_create / _update본인으로서 피드백 보드를 만들거나, 이름을 바꾸거나, 주소를 옮기거나, 공개 또는 비공개로 바꿉니다
mocco_feedback_board_release_policy_set본인으로서 보드의 게시물을 출시하는 릴리스와 먼저 물어볼지 여부를 설정합니다
mocco_feedback_category_create / _update / _delete본인으로서 보드의 카테고리를 추가하고, 바꾸고, 삭제합니다. 삭제된 카테고리의 게시물은 카테고리 없이 남습니다
mocco_feedback_post_create / _update본인으로서 팀 명의로 피드백 게시물을 쓰거나 제목, 세부 내용, 카테고리를 편집합니다
mocco_feedback_post_unvote본인으로서 최종 사용자를 대신해 피드백 게시물의 투표를 제거합니다
mocco_feedback_duplicate_dismiss본인으로서 중복으로 제안된 한 쌍을 서로 다른 요청으로 표시합니다
mocco_feedback_intake_convert본인으로서 메신저 대화를 새 피드백 게시물로 바꾸거나 기존 게시물에 추가합니다
mocco_changelog_entry_create / _update본인으로서 변경 로그 초안 항목을 시작하거나 편집합니다
mocco_changelog_entry_publish / _schedule / _unpublish본인으로서 변경 로그 항목을 지금 또는 지정한 시각에 게시하거나, 초안으로 되돌립니다
mocco_changelog_entry_delete본인으로서 변경 로그 항목을 삭제합니다
mocco_feedback_post_link본인으로서 GitHub 이슈나 풀 리퀘스트를 피드백 게시물에 연결합니다
mocco_feedback_post_unlink본인으로서 피드백 게시물의 GitHub 연결을 제거합니다. GitHub에서는 아무것도 바뀌지 않습니다
mocco_help_translation_accept본인으로서, 오래된 검수 번역 옆에서 기다리는 기계 초안을 검수된 텍스트로 받아들입니다
mocco_help_translation_retranslate헬프 센터 글의 한 언어를 기계가 다시 번역하게 합니다. 사람이 검수한 언어는 정확히 그것을 확인했을 때만 교체됩니다
mocco_help_glossary_set모든 번역이 따르는 헬프 센터 용어집의 용어를 추가, 변경, 제거합니다
mocco_help_site_enable프로젝트의 헬프 센터를 설정합니다. 주소와 언어를 정합니다
mocco_help_site_release콘텐츠를 git에서 관리하는 헬프 센터를 소유자나 관리자가 콘솔로 돌려줍니다. 글은 그대로 남고, 다음 mocco help push가 다시 가져갑니다
mocco_help_collection_create / mocco_help_section_create컬렉션을 추가하거나 컬렉션에 섹션을 추가합니다
mocco_help_article_create헬프 센터 글을 게시하지 않은 초안으로 만듭니다. 본문이 주어지면 함께 넣습니다
mocco_help_draft_save / mocco_help_draft_restore글의 초안을 교체하거나, 이전 리비전을 다시 초안으로 만듭니다
mocco_help_article_publish / _unpublish / _delete글의 초안을 게시하거나, 사이트에서 내리거나, 완전히 삭제합니다
mocco_flags_create기능 플래그를 만듭니다(불리언, 또는 직접 정한 변형을 가진 문자열, 숫자, JSON). 모든 환경에 비활성화된 상태로 추가됩니다
mocco_flags_environments_create보호되지 않은 플래그 환경을 만듭니다. 모든 플래그가 비활성화된 상태입니다
mocco_flags_changesets_create환경의 플래그를 변경합니다. 보호되지 않은 환경에서는 즉시 적용되고, 보호된 환경에서는 승인 요청이 됩니다
mocco_flags_changesets_withdraw / _rebase본인이 제안한 대기 중인 플래그 변경을 철회하거나, 환경의 현재 버전을 기준으로 다시 제안합니다
mocco_flags_set_client_visible브라우저와 앱이 플래그를 평가할 수 있게 하거나 막습니다
mocco_flags_environments_link_pipeline환경의 타임라인과 배포 확인을 위해 환경을 저장소의 파이프라인에 연결하거나 연결을 해제합니다
mocco_flags_stale_dismiss오래된 플래그 발견 항목을 지정한 날짜까지 숨기거나 다시 보여 줍니다

결정은 소유자나 관리자가 워크스페이스별로 켭니다(아래). 켜기 전까지 에이전트는 변경이 두 번째 승인을 기다리고 있다고 알려 줄 수는 있어도, 그 승인이 될 수는 없습니다.

결정을 켜 두면 모든 결정은 먼저 사용자에게 확인을 구합니다. 투표라면 클라이언트가 곧 일어날 일을 보여 줍니다. 승인인지 거부인지, 요청의 종류, 무엇에 관한 것인지, 통과시킬 정확한 변경, 그리고 사용자의 이유입니다. 멈춘 실행이라면 재개인지 거부인지(거부하면 실행이 중단됩니다), 저장소, 브랜치와 함께 커밋, 게이트와 그 요구 조건, 그리고 사용자의 이유를 보여 줍니다. 사용자가 yes라고 답하기 전에는 아무것도 기록되지 않습니다. 거절하거나 프롬프트를 닫으면 투표는 기록되지 않습니다. 이 확인은 Mocco가 만든 프롬프트가 아니라 프로토콜 자체의 단계입니다. 에이전트가 어딘가에서 읽은 텍스트가 프로덕션 배포로 이어지는 것을 막아 주는 장치입니다. 확인은 5분 동안만, 그리고 보여 준 결정에 대해서만 유효합니다. 결정이나 이유를 바꾸면 다시 확인을 구합니다.

알림 변경은 무엇이 바뀌는지 정확히 보여 줍니다. 연결할 서버와 채널, 다시 켤 채널과 꺼져 있는 이유, 추가하거나 제거할 규칙의 이벤트 유형, 소스, 필터, 채널, 또는 프리셋의 모든 규칙입니다. 콘솔과 마찬가지로 알림 설정은 소유자나 관리자만 바꿀 수 있으며, 일반 멤버는 확인을 구하기 전에 거부됩니다. 연결할 채널을 찾으려면 mocco_notifications_discord_channels_search를 쓰세요. Mocco 봇이 서버에서 볼 수 있는 텍스트 채널과 이미 연결된 채널을 보여 줍니다. 읽기 도구이지만 공용 봇의 Discord 호출을 쓰기 때문에 소유자와 관리자만 쓸 수 있습니다. Discord 서버에 봇을 설치하는 일과 채널을 제거하는 일은 당분간 콘솔에서 합니다.

플래그 변경하기. 플래그 도구는 콘솔과 같은 방식으로 플래그를 변경하며, 무엇도 승인하지 않습니다. 보호되지 않은 환경의 변경은 즉시 적용됩니다. 보호된 환경의 변경은 콘솔이 여는 것과 같은 승인 요청을 열고, 요구되는 역할을 가진 사람이 콘솔이나 mocco_approvals_vote로 결정합니다. 이렇게 플래그 변경에 투표하면 클라이언트가 그 diff(flag new-checkout enabled: false → true)를 보여 줍니다. 승인은 정확히 그 변경을 적용하거나 아무것도 적용하지 않습니다. 플래그를 변경하기 전에 클라이언트는 환경, 보호 여부, 승인해야 하는 사람, 바뀌는 모든 값, 그리고 사용자의 이유를 보여 줍니다. 답하기 전에 환경이 바뀌면 답은 거부되고 새로운 상태로 다시 확인을 구합니다. 대기 중인 변경은 편집할 수 없습니다. 철회하고 새로 제안하거나, 현재 버전을 기준으로 같은 변경을 다시 제안하세요(이전 투표는 넘어가지 않습니다). 변경을 제안한 사람만 철회하거나 리베이스할 수 있습니다. .mocco/flags.yml이 관리하는 플래그는 거부됩니다. 저장소에서 바꾸세요. 이 도구들은 별도의 권한이 필요하며, 처음 쓸 때 요청합니다. Create feature flags and propose flag changes as you; protected environments still wait for approval. 에이전트가 쓸 수 없는 것은 킬 스위치(승인을 건너뛰므로 에이전트가 쓰게 할지는 아직 정하는 중입니다), 플래그를 끌 수 있는 사람 정하기, 환경을 보호하거나 변경을 승인할 사람 바꾸기입니다. 이 일은 콘솔에서 하세요.

지금 모니터 확인하기. mocco_monitors_check는 파이프라인 단계가 POST /v1/monitors/{id}/check로 하는 일과 같습니다. 프로브가 서비스를 즉시 확인하고, 프로브가 보고하면 mocco_status_monitors_get이 결과를 보여 줍니다. 모니터의 다음 라운드를 앞당기므로 다른 변경과 같은 규칙을 따릅니다. 워크스페이스가 에이전트의 변경을 허용해야 하고, 클라이언트가 먼저 모니터, 확인하는 대상, 상태, 다음 라운드 예정 시각을 보여 줍니다. yes라고 답하기 전에는 아무것도 실행되지 않습니다. 이 도구는 별도의 권한이 필요하며, 처음 쓸 때 요청합니다. Change your status pages as you(아래). 프로젝트의 어느 멤버든 콘솔과 마찬가지로 모니터를 확인할 수 있습니다. 하트비트(작업이 핑을 보냅니다)와 일시 중지된 모니터는 아무것도 묻기 전에 거부됩니다.

에이전트에서 인시던트 운영하기. 같은 권한과 같은 워크스페이스 스위치로 에이전트가 상태 페이지의 인시던트와 점검 화면에서 하는 일을 할 수 있습니다. 인시던트 열기, resolved까지 업데이트 게시, 영향받는 컴포넌트 변경, 포스트모템 설정, 원인이나 해결책이 된 배포 연결, 점검 예약과 취소, 컴포넌트 상태 설정입니다. 이 권한은 그중 하나를 처음 쓸 때 요청합니다. Change your status pages as you: incidents, maintenance, components and monitors, and run your monitors' checks. 콘솔과 마찬가지로 프로젝트의 어느 멤버든 쓸 수 있으며, 각 작업은 사용자의 이름과 함께 감사 기록에 남습니다.

에이전트가 게시된 인시던트에 쓰는 내용은 고객이 읽는 내용입니다. 그래서 클라이언트는 항상 실제로 보일 모습 그대로 먼저 보여 주고, 페이지와 구독자에게 나가는 경우에는 PUBLIC이라고 표시합니다. 새 인시던트라면 페이지, 제목, 심각도, 상태, 영향받는 컴포넌트, 첫 업데이트가 나옵니다. 업데이트라면 인시던트의 현재 상태와 최신 업데이트, 업데이트가 옮기는 상태, 사용자의 텍스트가 나옵니다. 초안 인시던트(모니터가 열었고 팀만 볼 수 있는 인시던트)에 대한 업데이트는 콘솔에만 남는다고 알려 줍니다. yes라고 답하기 전에는 아무것도 게시되지 않습니다. 각 확인은 보여 준 내용에 대해서만 유효합니다. 답하기 전에 동료가 업데이트를 게시하거나 컴포넌트를 바꾸거나 포스트모템을 편집하면 답은 거부되고, 지금의 내용으로 다시 확인을 구합니다. 같은 확인에 두 번 답해도 변경은 한 번만 일어납니다. 인시던트가 할 수 없는 이동(investigating으로 되돌리기, resolved 이후의 모든 이동)은 확인을 구하기 전에 거부되고, 가능한 이동이 안내됩니다.

같은 권한이 페이지 설정도 포함합니다. 페이지, 컴포넌트 그룹과 컴포넌트, 모니터, 점검을 알리는 게이트입니다. 모니터의 URL에는 자격 증명이나 토큰이 들어 있을 수 있으므로 에이전트는 URL을 다시 읽지 않습니다. 확인과 응답에는 호스트만 나오며, 모니터의 설정을 바꿀 때 새 확인 대상을 주지 않으면 기존 확인이 유지됩니다.

일부는 의도적으로 콘솔에만 남겨 둡니다. 상태 페이지 삭제(페이지의 모든 것이 삭제되며 되돌릴 수 없습니다), 하트비트 만들기, 위치의 토큰이나 하트비트의 핑 URL 발급과 교체(자격 증명은 한 번만 보여 주며 에이전트에게는 절대 보여 주지 않습니다), 위치 비활성화입니다.

메신저에서 답장하고 담당자 지정하기. mocco_messenger_reply는 인박스의 Send가 하는 일을 합니다. 사용자는 앱에서 답장을 읽고, 푸시 알림을 켜 두었다면 푸시 알림도 받습니다. 클라이언트가 먼저 받는 사람과 정확한 텍스트를 보여 주며, yes라고 답하기 전에는 아무것도 전송되지 않습니다. 확인은 대화의 마지막 메시지 이후의 답장에 대해서만 유효하므로 두 번 답해도 한 번만 전송되고, 답하기 전에 사용자가 다시 글을 쓰면 다시 확인을 구합니다. 텍스트만 보내며 파일 첨부는 콘솔에서 하세요. mocco_messenger_assign은 인계입니다. 클라이언트가 지금 대화를 맡은 사람과 새로 맡을 사람을 보여 주며, 워크스페이스 밖의 사람은 확인을 구하기 전에 거부됩니다. 새 대화는 시작될 때 여전히 라운드 로빈이 배정합니다.

메모, 닫기, 차단. mocco_messenger_note_create는 팀만 볼 수 있는 메모를 남깁니다. 클라이언트가 먼저 정확한 텍스트를 보여 주며, 사용자에게는 알림이 가지 않습니다. mocco_messenger_conversation_set_status는 대화를 닫거나 다시 엽니다(닫힌 대화에 사용자가 글을 쓰면 저절로 다시 열립니다). mocco_messenger_contact_set_blocked는 사용자가 글을 쓰지 못하게 합니다. 이미 있는 내용은 계속 읽을 수 있습니다. 각 확인은 보여 준 상태에 대해서만 유효합니다. 답하기 전에 동료가 대화를 닫거나, 대화에 글을 쓰거나, 사용자를 차단하면 다시 확인을 구합니다. 이미 그 상태인 것을 요청하면 묻지 않고 답합니다.

메신저 설정과 순환. mocco_messenger_categories_set은 지금의 카테고리와 바꾼 뒤의 카테고리를 보여 주고, 앱이 아직 보낼 수 있는 키를 제거하면 경고합니다. mocco_messenger_guest_access_set은 게스트 접근을 켜거나 끕니다. 순환 도구는 Round robin 설정과 마찬가지로 사람을 추가하거나 제거하고 응대 가능 또는 자리 비움으로 표시합니다. 워크스페이스 밖의 사람은 확인을 구하기 전에 거부됩니다. 메신저 설정과 ID 시크릿 교체는 콘솔에서 합니다. 둘 다 시크릿을 보여 주기 때문입니다. 사용자 삭제도 마찬가지이며, 되돌릴 수 없습니다.

이 모든 도구는 다른 변경과 같은 규칙을 따르고, 워크스페이스가 에이전트의 변경을 허용해야 하며, 별도의 권한이 필요합니다. 권한은 처음 쓸 때 요청합니다. Reply to, note, assign, close and block in your messenger conversations, and change its rotation and settings, as you. 인박스와 마찬가지로 워크스페이스의 어느 멤버든 쓸 수 있습니다. 담당자 지정, 닫기, 다시 열기, 차단, 카테고리, 게스트 접근, 순환 참여와 탈퇴는 사용자의 이름과 함께 감사 기록에 남습니다. 응대 가능 여부는 콘솔과 마찬가지로 기록되지 않습니다.

피드백 게시물 옮기기. mocco_feedback_post_set_status는 보드에서 게시물의 상태를 바꾸는 것과 같은 일을 합니다. 게시물이 새 상태를 갖고(출시됨으로 옮기면 출시 시점이 기록되고, 다른 상태로 옮기면 그 기록이 지워집니다), 변경은 게시물의 이력과 감사 기록에 사용자의 이름과 함께 남습니다. 클라이언트가 먼저 게시물, 현재 상태, 바뀔 상태를 보여 주며, yes라고 답하기 전에는 아무것도 바뀌지 않습니다. 확인은 질문을 받았을 때 게시물이 가진 상태에서 옮기는 것에 대해서만 유효합니다. 답하기 전에 다른 사람이 게시물을 옮기면 답은 거부되고 다시 확인을 구하며, 같은 확인에 두 번 답해도 한 번만 옮깁니다. 게시물이 이미 가진 상태를 요청하면 묻지 않고 답합니다. 다른 변경과 같은 규칙을 따르고, 워크스페이스가 에이전트의 변경을 허용해야 하며, 별도의 권한이 필요합니다. 권한은 처음 쓸 때 요청합니다. Set up your feedback boards, write, move, comment on, vote on, merge and link your feedback posts to GitHub, decide which ones a release shipped, and write and publish your changelog, as you. 보드와 마찬가지로 워크스페이스의 어느 멤버든 게시물을 옮길 수 있습니다.

피드백에 댓글 달기, 투표하기, 병합하기. 같은 권한과 같은 워크스페이스 스위치가 세 가지 변경을 더 다룹니다. 각각 먼저 클라이언트에서 확인합니다.

  • mocco_feedback_comment_create는 게시물, 댓글의 종류(공개, 공식 답변, 내부 메모), 정확한 텍스트를 보여 줍니다. 공식 답변은 내부 메모일 수 없습니다.

  • mocco_feedback_post_vote는 이메일이나 통화로 요청한 경우를 위해, 앱이 사용자를 아는 ID로 앱 사용자 한 명의 투표를 기록합니다. 즉시 집계되며 그 사용자가 게시물을 팔로우합니다. 이미 집계되는 투표는 묻지 않고 답합니다. 답하기 전에 그 사람이 직접 투표하면 답은 거부되고 다시 확인을 구합니다.

  • mocco_feedback_post_merge는 두 게시물과 각각의 투표를 보여 줍니다. 중복 게시물의 투표와 팔로워가 다른 게시물로 옮겨 가고(두 곳에 모두 투표한 사람은 한 번으로 집계됩니다), 중복 게시물은 댓글과 이력을 유지한 채 닫힙니다. 병합은 되돌릴 수 없습니다. 답하기 전에 어느 한쪽 게시물에 투표가 생기면 새 집계로 다시 확인을 구하고, 어느 한쪽이 다른 곳에 병합되었다면 병합은 거부됩니다.

피드백을 GitHub에 연결하기. 같은 권한과 스위치로 게시물 페이지의 GitHub 섹션처럼 게시물을 이슈나 풀 리퀘스트에 연결할 수 있습니다. mocco_feedback_github_search는 프로젝트에 연결된 저장소(전부 또는 지정한 저장소)에서 이슈나 풀 리퀘스트를 찾습니다. Mocco 서버의 GitHub App이 필요하며, 프로젝트에 연결된 저장소가 없으면 그렇게 알려 줍니다. mocco_feedback_post_link는 게시물, 저장소, 이슈나 풀 리퀘스트의 제목과 상태(열림, 닫힘, 병합됨)를 보여 줍니다. 답하기 전에 GitHub에서 상태가 바뀌면 새 상태로 다시 확인을 구합니다. 병합된 게시물, 프로젝트에 연결되지 않은 저장소, 저장소에 없는 번호, 게시물이 이미 연결한 이슈는 확인을 구하기 전에 거부됩니다. mocco_feedback_post_unlink는 연결과 그 상태를 보여 주고 게시물에서만 연결을 제거합니다. GitHub에서는 아무것도 바뀌지 않습니다.

헬프 센터 쓰기와 번역하기. 헬프 센터의 모든 변경은 하나의 권한을 공유하며, 그중 하나를 처음 쓸 때 요청합니다. Set up your help center, write, publish and delete its articles, review its translations and change its glossary, as you. 각 변경은 워크스페이스가 에이전트의 변경을 허용해야 하고 먼저 클라이언트에서 확인하며, 콘솔과 마찬가지로 프로젝트의 어느 멤버든 할 수 있습니다.

  • mocco_help_translation_accept는 기계 초안과 그것이 대체할 검수된 텍스트의 담당자를 보여 줍니다. 답하기 전에 더 새로운 초안이 도착하거나 글이 다시 게시되면 답은 거부되고 다시 확인을 구합니다.

  • mocco_help_translation_retranslate는 기계에게 한 언어를 다시 요청합니다. 원문에서 시작하며 이전 번역은 재사용하지 않습니다. 사람이 검수한 언어라면 확인에 그렇게 표시되고 그 사람의 이름이 나옵니다. 그 텍스트는 이력에 남습니다. 답하기 전에 누군가 그 언어를 검수하거나 편집하면 그 텍스트에 대해 다시 확인을 구합니다. 이미 번역 중인 언어는 묻지 않고 답합니다.

  • mocco_help_glossary_set은 용어의 현재 모습과 바뀐 뒤의 모습을 보여 줍니다. 그러면 번역이 그 용어가 들어 있는 문장을 다시 만듭니다(검수된 언어는 기존 텍스트 옆에 초안이 생깁니다). 답하기 전에 용어가 바뀌면 다시 확인을 구합니다.

  • mocco_help_article_create, mocco_help_draft_save, mocco_help_draft_restore는 초안만 바꿉니다. 독자는 사용자가 게시하기 전까지 게시된 텍스트를 계속 봅니다. 저장은 변경 전후의 제목과 길이, 새 텍스트의 시작 부분을 보여 줍니다. 답하기 전에 초안이 편집되면 다시 확인을 구합니다.

  • mocco_help_article_publish는 게시할 초안을 보여 주고, 독자가 보는 내용을 대체하는지 알려 줍니다. 답하기 전에 초안이 바뀌면 다시 확인을 구하므로, 공개되는 내용은 사용자가 본 내용입니다. 그러면 사이트의 다른 언어가 그 초안에서 번역됩니다.

  • mocco_help_article_unpublish는 글을 사이트에서 내리되 모든 것을 보존합니다. 다시 게시하면 돌아옵니다. mocco_help_article_delete는 글을 이력과 번역까지 함께 삭제하며 되돌릴 수 없습니다.

직접 번역 쓰기, 이미지 업로드, 다른 도구에서 가져오기, AI 학습 크롤러 허용, 사이트의 주소나 언어 변경은 콘솔에서 합니다.

릴리스에서 피드백을 출시됨으로 표시하기. 릴리스에 게시물에 연결된 작업이 들어 있으면 보드의 인박스가 출시됨으로 표시하자고 제안합니다. 같은 권한과 스위치로 인박스 배너처럼 에이전트가 보드별로 릴리스를 하나씩 결정할 수 있습니다. mocco_feedback_ship_suggestions_list는 기다리는 각 릴리스를 보여 줍니다. 커밋, 승인한 사람, 게시물, 변경 로그 초안 항목입니다. mocco_feedback_ship_suggestions_accept는 릴리스와 각 게시물에 일어날 일을 보여 줍니다. 그 사이에 병합되었거나 출시된 게시물은 그대로 두고, 게시물의 이메일 투표자에게 메일이 가며, 초안은 사용자가 게시하도록 초안으로 남습니다. mocco_feedback_ship_suggestions_dismiss는 게시물을 그대로 둡니다. 답하기 전에 누군가 게시물 중 하나를 옮기거나 병합하면 답은 거부되고 다시 확인을 구합니다. 누군가 먼저 릴리스를 결정했다면 답은 거부됩니다.

보드 설정하고 게시물 쓰기. 같은 권한과 스위치로 보드를 설정하고 팀 명의로 게시물을 쓸 수 있으며, 각각 먼저 클라이언트에서 무엇이 바뀌는지 정확히 확인합니다. mocco_feedback_board_create와 _update는 보드를 만들거나, 이름을 바꾸거나, 주소를 옮기거나(공개 페이지도 함께 옮겨 갑니다), 공개 또는 비공개로 바꿉니다. 지정한 것만 바뀝니다. mocco_feedback_board_release_policy_set은 어느 저장소의 릴리스가 보드의 게시물을 출시하는지와 먼저 물어볼지를 설정합니다. 묻지 않고 게시물을 출시됨으로 표시하게 되는 경우에는 확인에 그 사실이 분명히 적힙니다. mocco_feedback_category_create, _update, _delete는 카테고리를 관리합니다. 삭제된 카테고리의 게시물은 카테고리 없이 보드에 남으며, 확인에 그 수가 나옵니다. mocco_feedback_post_create는 팀 명의로 게시물을 쓰고 mocco_feedback_post_update는 제목, 세부 내용, 카테고리를 편집합니다. 다른 보드나 카테고리가 이미 쓰는 주소는 확인을 구하기 전에 거부됩니다. 답하기 전에 누군가 보드, 카테고리, 게시물을 바꾸면 답은 거부되고 다시 확인을 구합니다. 보드 삭제는 의도적으로 콘솔에 맡겨 둡니다. 보드의 모든 게시물, 투표, 댓글, 변경 로그 항목이 삭제되며 되돌릴 수 없기 때문입니다.

중복, 대화, 투표. mocco_feedback_duplicate_dismiss는 중복으로 제안된 한 쌍을 영구히 치워 둡니다. 두 게시물은 그대로 남습니다(하나를 병합하려면 mocco_feedback_post_merge를 쓰세요). mocco_feedback_intake_convert는 Convert to feedback처럼 메신저 대화를 새 게시물로 바꾸거나 기존 게시물에 추가합니다. 확인에는 고객의 말이 인용되며(내부 메모는 절대 포함되지 않습니다), 고객이 그 게시물에 투표하는지도 나옵니다. 고객이 앱에 로그인한 상태였다면 투표합니다. 이미 게시물이 된 대화는 두 번째 게시물로 만들어지지 않습니다. mocco_feedback_post_unvote는 최종 사용자가 요청했거나 실수로 기록된 경우를 위해 한 명의 투표를 제거합니다. 그 사용자는 게시물을 계속 팔로우합니다.

변경 로그 쓰기. 같은 권한과 스위치가 보드의 변경 로그도 다룹니다. mocco_changelog_entry_create는 팀 밖의 누구도 볼 수 없는 초안을 시작하고, mocco_changelog_entry_update는 어떤 상태의 항목이든 편집합니다(게시된 항목의 페이지는 즉시 바뀌며, 확인에 그렇게 적힙니다). mocco_changelog_entry_publish는 항목을 공개 변경 로그와 RSS 피드에 지금 올리고, _schedule은 지정한 시각에 올리며, _unpublish는 초안으로 되돌립니다. mocco_changelog_entry_delete는 항목 하나를 삭제하며, 확인에는 공개 상태인지와 되돌릴 수 없다는 점이 적힙니다. 각 확인은 항목과 그 상태를 알려 주고, 답하기 전에 누군가 항목을 편집하거나 게시하거나 예약하면 답은 거부되고 다시 확인을 구합니다.

프로젝트 설정하기. 빈 워크스페이스에서 시작하면 mocco_projects_create가 프로젝트를 만들고, mocco_projects_apps_add가 앱을 추가하고, mocco_products_enable이 제품 라인을 켭니다. 각각 먼저 클라이언트에서 확인하며, 워크스페이스가 에이전트의 변경을 허용해야 하고 별도의 권한이 필요합니다. 권한은 처음 쓸 때 요청합니다. Create projects, add apps to them and turn products on, as you. 콘솔과 마찬가지로 어느 멤버든 할 수 있습니다. 프로젝트 보관, 앱 제거, 제품 끄기는 콘솔에서 합니다.

OTA 호스팅 설정하기. 앱의 저장소에서 작업하는 에이전트가 Hosted by Mocco 탭과 같은 방식으로 앱을 연결할 수 있습니다. mocco_ota_setup_get은 앱에 무엇이 있고 무엇이 빠졌는지 알려 주고, mocco_ota_apps_host는 앱을 호스팅하고 app.json에 넣을 매니페스트 URL을 알려 주며, mocco_ota_channels_create는 채널을 추가하고, mocco_ota_certificates_add는 인증서(certs/certificate.pem)를 등록하고, mocco_ota_trust_policies_create는 배포하는 저장소를 신뢰합니다. 각각 먼저 클라이언트에서 정확히 무엇이 바뀌는지 확인하며, 워크스페이스가 에이전트의 변경을 허용해야 하고 별도의 권한이 필요합니다. 권한은 처음 쓸 때 요청합니다. Set up OTA hosting as you. 앱 호스팅과 채널 추가는 어느 멤버든 할 수 있지만, 인증서 등록과 저장소 신뢰는 콘솔과 마찬가지로 소유자나 관리자가 해야 합니다. 기기가 누구의 코드를 실행할지를 정하는 일이기 때문입니다. 개인 키는 아예 거부됩니다. 개인 키는 CI에만 둡니다. 이 도구들은 업데이트를 배포하지 않습니다. 승격, 롤아웃, 롤백은 CI와 콘솔에 남아 있습니다. 이렇게 만든 채널은 보호되지 않으므로, 승격에 승인이 필요하다면 콘솔에서 보호하세요.

웹훅 소스 변경도 같은 규칙을 따르며, 서명 시크릿은 에이전트를 거치지 않습니다. mocco_inbound_sources_create는 GitHub 소스를 추가하지만 Mocco가 생성한 시크릿은 반환하지 않습니다. GitHub에 붙여 넣을 시크릿이 필요하면 콘솔에서 Notifications → Sources를 열고 소스의 시크릿을 교체하세요. Sentry나 Vercel 소스는 그 서비스가 보여 주는 시크릿이 필요하므로, 도구가 거부하고 콘솔로 안내합니다. 시크릿은 콘솔에서 붙여 넣습니다. 시크릿 교체와 소스 이름 변경도 콘솔에 남아 있습니다.

그러면 결정은 콘솔에서 직접 클릭한 것과 똑같이 기록됩니다. 요청이나 게이트 자체의 규칙은 그대로 적용됩니다. 요청이 요구하는 역할 중 하나가 있어야 하고, 금지되어 있다면 본인이 요청한 변경을 승인하거나 본인이 시작한 실행을 재개할 수 없으며, 투표는 한 번만 할 수 있습니다. 여러 사람이 필요한 게이트는 모두 투표할 때까지 멈춰 있으며, 도구가 현재 상황을 알려 줍니다.

절대 하지 않는 것

  • 본인이 아닌 누군가로 행동하는 것. 모든 작업은 콘솔과 같은 검사를 사용자의 신원으로 거칩니다. 에이전트는 사용자가 승인할 수 없는 것을 승인할 수 없습니다.

  • 결정에 API 키를 받는 것. 키는 사람이 아니라 프로젝트이며, 승인은 요청받을 수 있었던 누군가의 이름이 있어야 합니다. 키는 읽기 도구만 쓸 수 있습니다.

  • 감사 기록에서 무엇이든 숨기는 것. 에이전트를 통한 투표, 재개, 알림 변경은 콘솔에서 한 것과 똑같이 체인에 나타나며 사용자의 이름이 남습니다.

추가하기

Claude Code

claude mcp add --transport http mocco https://www.mocco.club/api/mcp

그다음 /mcp를 실행하고 mocco를 골라 로그인합니다. 제대로 추가되었는지는 다음으로 확인합니다.

claude mcp list

Claude Desktop과 claude.ai

Settings → Connectors → Add custom connector를 열고 위의 URL을 붙여 넣습니다. 브라우저 로그인은 그 자리에서 진행됩니다.

Cursor

프로젝트의 .cursor/mcp.json, 또는 모든 프로젝트에 적용하려면 ~/.cursor/mcp.json:

{
  "mcpServers": {
    "mocco": {
      "url": "https://www.mocco.club/api/mcp"
    }
  }
}

Cursor는 로그인을 위해 브라우저를 알아서 엽니다. 헤더는 넣지 마세요. 이 서버는 OAuth를 쓰며, 붙여 넣는 토큰을 쓰지 않습니다.

VS Code

.vscode/mcp.json:

{
  "servers": {
    "mocco": {
      "type": "http",
      "url": "https://www.mocco.club/api/mcp"
    }
  }
}

VS Code가 OAuth 흐름을 직접 실행하므로 headers나 inputs에 넣을 것이 없습니다.

그 밖의 클라이언트

2026-07-28 MCP 리비전을 지원하는 클라이언트라면 모두 쓸 수 있습니다. URL을 지정하고 나머지는 클라이언트가 찾게 하세요. 인증되지 않은 호출에는 401로 응답하며, 보호된 리소스 메타데이터(/.well-known/oauth-protected-resource/api/mcp)를 가리킵니다. 이 메타데이터가 인증 서버를 알려 주고, 인증 서버의 메타데이터는 /.well-known/oauth-authorization-server/api/auth에 있습니다. 규격을 따르는 클라이언트는 별도 안내 없이 두 곳을 모두 따라갑니다.

이 서버는 해당 리비전만 POST로 제공합니다. 이전의 HTTP+SSE 전송 방식을 쓰는 클라이언트는 연결되지 않습니다. 클라이언트를 업그레이드하거나, 그동안은 mocco CLI를 쓰세요.

연결 승인하기

클라이언트가 처음 연결하면 브라우저에서 Mocco가 열립니다. 아직 로그인하지 않았다면 로그인하세요. 그러면 Mocco가 그 앱이 사용자로서 읽는 것을 허용할지 묻습니다.

동의 화면: 앱의 이름, 앱이 대신 행동할 계정, 앱이 할 수 있게 되는 일, Allow와 Deny

Allow를 누르면 클라이언트로 돌아가고, 클라이언트가 연결을 알아서 마칩니다. Deny를 누르면 클라이언트에 거절했다고 알리며, 클라이언트는 아무것도 받지 못합니다. 한 번 앱을 허용하면 Mocco가 기억하므로, 나중에 다시 연결할 때는 묻지 않습니다.

방금 연결을 시작한 앱만 허용하세요. 아무것도 시작하지 않았는데 이 화면이 나타나면 Deny를 고르세요.

앱이 투표하도록 허용하기

연결만으로는 앱이 투표하거나 재개할 수 없습니다. 에이전트가 처음 시도하면 Mocco가 연결에 권한이 하나 더 필요하다고 답하고, 클라이언트가 같은 화면을 다시 엽니다. 새 줄이 하나 추가되어 있습니다. Approve or reject changes as you, in workspaces that allow agents to decide. 허용하면 클라이언트가 결정을 이어서 진행하며, 결정은 여전히 사용자에게 확인을 구합니다. 거부하면 앱은 이전처럼 읽기만 합니다. 투표와 재개에는 같은 권한이 쓰입니다. 무엇을 결정할 수 있는지는 여전히 사용자의 역할이 정합니다.

권한은 앱마다 한 번만 묻습니다. 이 권한은 에이전트의 결정을 허용하지 않은 워크스페이스에서는 아무 효과가 없고, 어디에서도 사용자의 역할이 허용하는 범위를 넘지 않습니다.

결정 도구 켜기

소유자나 관리자가 워크스페이스별로 켭니다. Settings → Agents → Allow agents to decide입니다. 켜면 누가 켰는지 기록되며, 이 스위치가 여는 모든 도구는 호출하는 사람의 역할에 여전히 묶여 있습니다.

에이전트가 보고만 하면 되는 워크스페이스에서는 꺼 두세요. 대부분의 워크스페이스가 그렇습니다.

연결되지 않을 때

보이는 증상의미
클라이언트가 토큰이나 헤더를 요구합니다이 서버를 키로 인증하는 서버로 취급하고 있습니다. 헤더를 제거하세요. 이 서버는 OAuth를 씁니다
연결할 때 405 Method Not Allowed가 납니다클라이언트가 GET이나 DELETE를 시도하고 있습니다. 이전 전송 방식을 쓰는 클라이언트이므로 업그레이드하세요
"Agents may not vote in this workspace"그 워크스페이스에서 결정이 꺼져 있습니다. 소유자나 관리자가 Settings → Agents에서 켤 수 있습니다
"This connection may not vote"앱이 투표를 허용받은 적이 없습니다. 다시 연결하고, 묻는 화면에서 투표 권한을 허용하세요
"This connection may not run checks"앱이 확인 실행을 허용받은 적이 없습니다. 다시 연결하고, 묻는 화면에서 확인 권한을 허용하세요
"Agents may not run checks in this workspace"그 워크스페이스에서 변경이 꺼져 있습니다. 소유자나 관리자가 Settings → Agents에서 켤 수 있습니다
"… is a heartbeat; its job pings it"하트비트에는 실행할 라운드가 없습니다. 마지막 핑은 mocco_status_monitors_search에서 볼 수 있습니다
"… is paused; resume it in the console to check it"먼저 콘솔에서 모니터를 재개하세요
"This connection may not open incidents"(또는 인시던트 업데이트 게시, 점검 예약 등)앱이 상태 페이지 변경을 허용받은 적이 없습니다. 다시 연결하고, 묻는 화면에서 상태 권한을 허용하세요
"Agents may not open incidents in this workspace"(또는 인시던트 업데이트 게시 등)그 워크스페이스에서 변경이 꺼져 있습니다. 소유자나 관리자가 Settings → Agents에서 켤 수 있습니다
상태 페이지를 변경한 뒤 "That confirmation was for a different change"답하기 전에 누군가 인시던트, 점검 시간, 컴포넌트를 바꿨습니다. 다시 호출하면 지금의 내용으로 확인을 구합니다
"An incident can't go from … to …"인시던트 수명 주기가 그 이동을 허용하지 않습니다. 메시지에 허용되는 이동이 나옵니다
"Status incident … was not found"(또는 페이지, 컴포넌트, 점검)다른 프로젝트나 워크스페이스에 있거나 ID가 잘못되었습니다. ID는 mocco_status_incidents_search와 mocco_status_pages_get에서 알 수 있습니다
"This connection may not reply in the messenger" 또는 "… may not assign conversations"앱이 답장이나 담당자 지정을 허용받은 적이 없습니다. 다시 연결하고, 묻는 화면에서 메신저 권한을 허용하세요
"Agents may not reply in the messenger in this workspace"그 워크스페이스에서 변경이 꺼져 있습니다. 소유자나 관리자가 Settings → Agents에서 켤 수 있습니다
"… isn't a member of this workspace"대화는 워크스페이스 멤버에게만 넘길 수 있습니다. mocco_messenger_conversations_search가 지금 대화가 있는 사람들의 이름을 알려 줍니다
"Conversation … was not found"다른 프로젝트나 워크스페이스에 있거나 ID가 잘못되었습니다. 먼저 인박스를 검색하세요
"The messenger isn't set up for this project"콘솔에서 프로젝트의 Inbox에서 설정하세요. ID 시크릿이 한 번 표시됩니다
"… is not in this inbox's rotation"먼저 mocco_messenger_inbox_members_add로 추가하세요
"This connection may not change feedback statuses"(또는 댓글, 투표 기록, 피드백 게시물 병합)앱이 피드백 변경을 허용받은 적이 없습니다. 다시 연결하고, 묻는 화면에서 피드백 권한을 허용하세요
"Agents may not change feedback statuses in this workspace"(또는 댓글, 투표 기록, 병합)그 워크스페이스에서 변경이 꺼져 있습니다. 소유자나 관리자가 Settings → Agents에서 켤 수 있습니다
게시물을 옮긴 뒤 "That confirmation was for a different change"답하기 전에 누군가 게시물을 옮겼습니다. 다시 호출하면 지금의 상태에서 옮기는 것으로 확인을 구합니다
투표나 병합 뒤 "That confirmation was for a different change"답하기 전에 최종 사용자가 투표했거나 게시물 중 하나에 투표가 생겼습니다. 다시 호출하면 지금의 집계로 확인을 구합니다
"… was merged into … already"병합된 게시물은 다시 병합하거나, 다른 게시물이 병합해 오거나, 투표할 수 없습니다. 병합된 대상 게시물을 쓰세요
"Posts can only be merged on the same board"게시물을 먼저 한 보드로 옮기거나, 각 보드 안에서 병합하세요
"Feedback board … was not found" 또는 "Feedback post … was not found"다른 프로젝트나 워크스페이스에 있거나 ID가 잘못되었습니다. ID는 mocco_feedback_boards_list와 mocco_feedback_posts_search에서 알 수 있습니다
"not in a role authorized to approve"사용자의 역할이 이 요청을 다루지 않습니다. mocco_approvals_get이 알려 주는 역할 중 하나를 가진 사람이 투표해야 합니다
"Agents may not resume or reject runs in this workspace"그 워크스페이스에서 결정이 꺼져 있습니다. 소유자나 관리자가 Settings → Agents에서 켤 수 있습니다
"No pending gate at index …"실행이 더 이상 그 게이트에서 멈춰 있지 않습니다. 이미 진행되었거나, 결정되었거나, 다른 워크스페이스에 있습니다. mocco_runs_get이 지금 무엇을 기다리는지 보여 줍니다
"cannot resume a gate on a run you triggered"이 게이트는 실행을 시작한 사람이 직접 풀 수 없게 합니다. 게이트의 역할을 가진 다른 사람이 풀어야 합니다
"not in a role authorized to resume"사용자의 역할이 이 게이트를 다루지 않습니다. mocco_runs_get이 알려 주는 역할 중 하나를 가진 사람이 재개해야 합니다
"Agents may not change notification settings in this workspace"그 워크스페이스에서 변경이 꺼져 있습니다. 소유자나 관리자가 Settings → Agents에서 켤 수 있습니다
"Agents may not change webhook sources in this workspace"웹훅 소스에 대한 같은 스위치입니다
"a secret must never pass through an agent"Sentry와 Vercel 소스는 콘솔에서 추가하며, 거기에서 시크릿을 붙여 넣습니다
"Only an owner or admin of workspace … can do this"알림 설정은 콘솔에서나 여기에서나 소유자와 관리자만 바꿀 수 있습니다
투표를 허용할 때 브라우저가 잘못된 스코프라고 알립니다투표 기능이 생기기 전에 앱이 연결되었고, Mocco가 앱이 요청할 수 있는 범위를 아직 갱신하지 않았습니다. 한 시간 안에 갱신되니 그때 다시 시도하세요
브라우저가 Mocco의 로그인 화면을 연 뒤 클라이언트가 아니라 워크스페이스 목록으로 갑니다클라이언트의 요청이 주소에 없는 채로 페이지가 열렸습니다. 클라이언트에서 연결을 다시 시작하세요
엉뚱한 워크스페이스의 도구가 나옵니다여러 워크스페이스에 속해 있습니다. 에이전트에게 워크스페이스를 바꾸라고 하거나, 클라이언트 설정에서 하나를 고정하세요