obo-mcp
Oboe MCP
코딩 에이전트를 위한 구조화된 일대일(one-by-one) 워크플로우.
코딩 에이전트를 위해 우선순위가 지정된 세션 상태를 갖춘, 지속 가능한 일대일 검토 워크플로우용 MCP 서버입니다.
우선순위가 지정된 세션 파일에서 항목을 생성, 탐색 및 해결하기 위한 16가지 도구를 제공합니다. 여기에는 차단된 항목 처리, 승인 업데이트, 중첩된 하위 세션 등이 포함되어 /obo 워크플로우가 원시 JSON 편집 대신 MCP 작업을 사용할 수 있도록 합니다.
AGPL-3.0-or-later 라이선스가 적용되며 상업용 라이선스도 이용 가능합니다.
전체 약관은 LICENSE를 참조하십시오.
PyPI 패키지
다음 대안 중 하나를 사용하여 PyPI에서 Oboe MCP를 직접 설치하거나 실행하십시오:
설치 없이 실행:
uvx oboe-mcp현재 환경에 설치:
pip install oboe-mcp
oboe-mcp를 설치하면 oboe-cli 명령어도 함께 설치됩니다:
# After pip install oboe-mcp
oboe-cli --help
# From PyPI
uvx --from oboe-mcp oboe-cli --help
# From a local checkout (no install needed)
uvx --from /path/to/oboe-mcp oboe-cli --helpCLI 참조 (oboe-cli)
oboe-mcp를 설치하면 MCP 도구가 작동하는 동일한 세션 파일을 위한 사용자 친화적인 명령줄 도구인 oboe-cli도 함께 설치됩니다.
oboe-cli [--session SESSION] [--base-dir DIR] COMMAND [ARGS...]전역 옵션:
옵션 | 설명 |
| 세션 파일 이름(예: |
|
|
Base-dir 자동 감지: --base-dir이 생략되면 oboe-cli는 .github/obo_sessions/ 폴더가 포함된 경우 현재 작업 디렉토리를 사용하며, 그렇지 않으면 현재 작업 디렉토리를 그대로 사용합니다.
명령어
명령어 | 설명 |
| 모든 세션 나열 ( |
| 세션 요약 통계 표시 |
| JSON 항목 파일에서 새 세션 생성 |
| 기존 세션에 새 항목 추가 |
| 전체 세션을 완료로 표시 |
| 우선순위 점수별로 정렬된 항목 나열 ( |
| 다음 실행 가능한 항목 표시 |
| 한 항목에 대한 전체 세부 정보 표시 |
| 항목을 완료로 표시 |
| 항목을 건너뛰기로 표시 |
| 항목을 진행 중으로 표시 |
| 항목을 차단됨으로 표시 |
| 승인 메타데이터 설정 |
| 항목의 단일 필드 업데이트 |
| 하위 세션을 생성하고 상위 세션을 일시 중지 |
| 하위 세션을 완료하고 상위 세션 재개 |
빠른 시작
# Create a session from a JSON items file
oboe-cli --base-dir /path/to/project create \
--title "Code review findings" \
--input-file findings.json
# List sessions
oboe-cli --base-dir /path/to/project sessions
# Work through items
oboe-cli --base-dir /path/to/project --session session_20260411_120000.json next
oboe-cli --base-dir /path/to/project --session session_20260411_120000.json \
in-progress 1
oboe-cli --base-dir /path/to/project --session session_20260411_120000.json \
complete 1 "Fixed the validation bug"참고: 이전 버전에 포함되었던
obo_helper.py스크립트는 이제oboe-cli로 위임하는 얇은 폐기 예정(deprecation) 심입니다.
도구 | 설명 |
| 세션 파일 생성 + index.json 원자적 업데이트 |
| index.json에서 세션 나열 |
| 세션에 대한 요약 통계 |
| 다음 항목: 진행 중인 항목 우선, 그 다음 우선순위가 높은 보류 중인 항목, 그 다음 연기된 항목 |
| 우선순위 점수 내림차순으로 정렬된 모든 항목 |
| 한 항목에 대한 전체 세부 정보 |
| 항목을 차단됨으로 표시하고 차단자 정보 저장 |
| 해결 텍스트와 함께 항목을 완료로 표시 |
| 항목을 진행 중으로 표시 |
| 항목을 건너뛰기로 표시 |
| 승인 메타데이터 및 선택적 수명 주기 상태 설정 |
| 실행 가능한 항목이 없을 때 세션을 완료로 표시 |
| 하위 세션 생성, 상위 세션 일시 중지 및 하위 세션으로 진입 |
| 하위 세션 완료 및 상위 세션 재개 |
| 기존 세션에 새 항목 추가 및 재활성화 |
| 모든 필드 업데이트; 우선순위 점수 자동 재계산 |
OBO 세션을 사용하는 이유
일대일(One-by-One) 세션은 단순한 채팅 메모가 아닙니다. 이는 다중 항목 작업을 지속 가능하고 순서가 지정된 상호작용 세션으로 처리하기 위한 워크플로우 모델입니다.
일반 채팅이나 에이전트의 내장된 후속 질문과 비교했을 때, OBO는 다음과 같은 기능을 추가로 제공합니다:
에이전트가 범위, 항목 수, 주요 범주 및 제안된 실행 순서로 시작할 수 있는 개요 우선 워크플로우
채팅에 나타난 순서가 아닌 긴급성, 중요도, 노력 및 의존성 압력에 따른 명시적 우선순위 재지정
pending,in_progress,deferred,blocked,completed,skipped를 통한 지속 가능한 수명 주기 상태approval_status,approval_mode,approved_at,approval_note를 통한 별도의 승인 메타데이터차단된 작업이 활성 대기열에서 조용히 사라지는 대신 표시되고 설명될 수 있도록 하는 차단자 메타데이터 저장
상위 세션을 일시 중지하고 하위 문제를 처리한 다음 상위 세션을 깔끔하게 재개하는 중첩된 하위 세션
세션 나열, 생성, 검사, 병합, 일시 중지, 재개 및 닫기를 명명된 워크플로우 객체로 관리하는 일류 세션 수명 주기 관리
모델 재시작, 편집기 다시 로드 또는 에이전트 교체 후 결정론적 복구
대화 메모리에 의존하는 대신 세션 파일에 기계가 읽을 수 있는 감사 추적 저장
이는 작업이 많은 발견 사항을 포함하거나, 명시적인 사용자 승인이 필요하거나, 중간 하위 조사에 의존하거나, 여러 에이전트 턴에 걸쳐 유지되어야 할 때 가장 중요합니다. 채팅은 대화에 적합합니다. 구조화된 질문 도구는 현재 턴에서 깔끔한 답변을 얻는 데 적합합니다. OBO는 지속 가능한 워크플로우 오케스트레이션을 위한 것입니다.
제어된 순차적 처리, 지속 가능한 대기열 상태 또는 중첩된 하위 작업이 필요할 때 OBO를 사용하십시오. 작업이 너무 작아 전체 워크플로우 객체가 가치보다 오버헤드를 더 많이 추가할 때는 일반 채팅을 사용하십시오.
상태 모델
OBO는 각 항목을 두 개의 독립적인 축에서 추적합니다.
수명 주기 축
pending: 작업이 대기 중이지만 아직 시작되지 않음in_progress: 현재 활발히 작업 중deferred: 나중에 실행하도록 승인되었으며 활성 검토 패스가 소진되거나 사용자가 명시적으로 연기된 작업을 요청할 때까지 즉각적인 검토 대기열에서 제외되어야 함blocked: 외부 의존성이나 하위 문제가 해결될 때까지 작업을 계속할 수 없음completed: 작업이 완료되고 닫힘skipped: 의도적으로 실행되지 않음
승인 축
unreviewed: 아직 명시적인 사용자 결정이 기록되지 않음approved: 사용자가 작업을 승인함denied: 사용자가 작업을 명시적으로 거부함
승인 메타데이터 필드:
approval_status: 항목에 대한 승인 결정approval_mode: 승인 타이밍 결정이 기록되었을 때immediate또는delayedapproved_at: 승인이 기록된 타임스탬프approval_note: 승인 결정에 대한 선택적 자유 텍스트 메모
일반적인 조합:
즉시 승인:
obo_set_approval(..., approval_status="approved", approval_mode="immediate")호출; 항목은 일반적으로 작업이 시작되거나in_progress로 이동될 때까지pending상태로 유지됨지연 승인:
obo_set_approval(..., approval_status="approved", approval_mode="delayed")호출; 이는 지연 승인을 기록하고 항목을deferred로 이동함거부:
approval_status=denied설정; 항목이 대기열에서 닫히는 경우status=skipped와 함께 사용
상호작용 모드
세 가지 일반적인 상호작용 패턴은 일반 채팅, 구조화된 질문 도구, 전체 OBO 세션입니다. 이들은 서로 다른 문제를 해결합니다.
일반 채팅 | askQuestions 스타일 상호작용 | 일대일(One-by-One) 세션 |
상태가 대화에 유지될 수 있는 작고 빠른 주고받기 작업에 가장 적합합니다. | 에이전트가 현재 턴에서 짧은 옵션 세트 중 하나를 사용자가 선택해야 할 때 가장 적합합니다. | 작업이 추적, 재개, 재정렬, 차단, 중첩 또는 항목별 승인이 필요한 여러 발견 사항이나 결정을 포함할 때 가장 적합합니다. |
상태는 대부분 대화형이며 긴 세션 후에는 복구하기 어려울 수 있습니다. | 상태는 여전히 대부분 대화형입니다. 질문 도구는 입력 품질을 향상시키지만 그 자체로 지속 가능한 워크플로우 상태를 제공하지는 않습니다. | 상태는 |
좋은 예: "이 함수 이름 변경" 또는 "이 오류 설명". | 좋은 예: "재개, 병합, 교체 또는 중지?" | 좋은 예: "이 12가지 발견 사항을 하나씩 검토하고 각각에 대해 승인을 기다림". |
주요 이점: 가장 낮은 마찰. | 주요 이점: 더 명확한 사용자 결정 및 모호하지 않은 응답. | 주요 이점: 지속 가능한 대기열 관리, 명시적 차단자, 중첩된 하위 세션 및 결정론적 복구. |
예시 진행:
일반 채팅: 에이전트가 산문으로 여러 발견 사항을 나열하고 대화 자체가 처리된 내용의 유일한 기록이 됩니다.
askQuestions: 에이전트가 깔끔한 메뉴 선택을 요청할 수 있지만, 다른 곳에 저장하지 않는 한 지속적인 항목 대기열이 없습니다.
OBO 세션: 에이전트가 개요로 시작하고, 전체 항목 목록을 저장하고, 의도적으로 순서를 정하고, 승인, 건너뛰기 및 차단자를 기록하며, 채팅 기록에서 세션을 재구성할 필요 없이 나중에 재개할 수 있습니다.
장난감 예시: 5가지 검토 항목
에이전트가 작은 장난감 할 일 앱을 검토하고 이 원시 발견 순서대로 5가지 항목을 찾았다고 가정합니다:
UI의 모호한 설정 레이블 개선.
백그라운드 동기화 작업의 경합 조건 해결.
중복 작업 ID에 대한 회귀 테스트 추가.
create-task 엔드포인트에 누락된 입력 유효성 검사 추가.
로그인 핸들러의 비밀번호 로깅 수정.
일반 채팅
에이전트:
장난감 앱에서 5가지 문제를 발견했습니다: 문제 1: UI의 모호한 설정 레이블 개선. 문제 2: 백그라운드 동기화 작업의 경합 조건 해결. 문제 3: 중복 작업 ID에 대한 회귀 테스트 추가. 문제 4: create-task 엔드포인트에 누락된 입력 유효성 검사 추가. 문제 5: 로그인 핸들러의 비밀번호 로깅 수정.
다음에 무엇을 하시겠습니까?
사용자:
4번과 2번을 먼저 하세요.
해설:
빠르지만 채팅 자체가 순서의 유일한 기록이 되며, 4번과 3번 항목 간의 의존성은 암시적입니다.
다른 문제의 상태는 캡처되지 않으며, 사용자는 에이전트가 다른 문제를 표시하거나 작업하도록 명시적으로 요청해야 합니다.
세션이 중단되면 다른 에이전트가 기록에서 상태를 재구성해야 합니다.
askQuestions 스타일 채팅
에이전트:
5가지 문제를 발견했습니다. 무엇을 먼저 할까요?
옵션: • 4. create-task 엔드포인트에 누락된 입력 유효성 검사 추가 • 2. 백그라운드 동기화 작업의 경합 조건 해결 • 5. 로그인 핸들러의 비밀번호 로깅 수정 • 3. 중복 작업 ID에 대한 회귀 테스트 추가 • 1. UI의 모호한 설정 레이블 개선
사용자:
4
에이전트:
다음 작업은?
옵션: • 2번 계속 • 남은 목록 재정렬 • 중지
해설:
일반 채팅보다 깔끔한 사용자 선택을 제공하지만, 도구는 여전히 그 자체로 지속 가능하고 의존성을 인식하는 워크플로우 객체를 생성하지 않습니다.
다른 문제의 상태는 여전히 캡처되지 않으며, 사용자는 에이전트가 다른 문제를 표시하거나 작업하도록 명시적으로 요청해야 합니다.
마찬가지로 세션이 중단되면 다른 에이전트가 기록에서 상태를 재구성해야 합니다.
일대일(One-by-One) 세션
OBO 에이전트 프롬프트 지침에 따라 에이전트는 다음과 같은 순서 논리를 할당합니다:
항목 4가 먼저 진행됩니다. 후속 회귀 테스트를 작성하기 전에 create-task 엔드포인트 동작을 안정화해야 하기 때문입니다.
항목 2가 다음에 옵니다. 경합 조건이 동기화 흐름 전반의 정확성에 영향을 미칠 수 있고 중첩된 조사 세션이 필요할 수 있기 때문입니다.
항목 5가 뒤따릅니다. 중요한 보안 수정 사항이지만 유효성 검사 및 동시성 작업을 차단하지는 않기 때문입니다.
항목 3은 항목 4 뒤에 유지됩니다. 회귀 테스트가 앞서기보다는 최종 유효성 검사 동작을 고정해야 하기 때문입니다.
항목 1은 여전히 유용하지만 다른 4개
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Warnes-Innovations/obo-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server