# GitHub Copilot

호스트가 지원하는 경우 호스팅된 OAuth 구성을 통해 VS Code 및 GitHub Copilot을 연결합니다.

- Canonical: https://docs.xmemo.dev/ko/docs/mcp/copilot
- Locale: ko-KR
- Content-Locale: ko-KR
- Canonical-Content-Digest: 89da3a37e97e05ec3cbc29a8fa3f11b3cedd4385b04602234bbe99594d360d2a
- Edition-Digest: a673a6fa376283ba56937c8373170d25c3bea2c346a951d124ab4d3ed61c6a4c
- Source-Revision: sha256:79ae0e28c58efc497cff8929ba46d7fb7bcfdbf5c9e0b86c939e6f7182cd270b

## 사전 요구 사항

GitHub Copilot Chat 및 MCP 지원이 포함된 VS Code를 사용하세요. 인터페이스 및 사전 요구 사항:

- 구체적인 인터페이스: GitHub Copilot Chat 확장 프로그램이 포함된 VS Code (에디터 OAuth 경로).
- 구성 파일: %APPDATA%\Code\User\mcp.json (Windows), ~/Library/Application Support/Code/User/mcp.json (macOS) 또는 ~/.config/Code/User/mcp.json (Linux).
- mcpServers 대신 servers 키를 사용합니다.
- 엔드포인트: https://xmemo.dev/mcp.
- 계정: https://xmemo.dev 의 유효한 XMemo 계정.

## 설치 / 설정

servers 키 아래의 VS Code 사용자 구성 mcp.json 을 편집하고 호스팅된 XMemo URL을 추가합니다. 여기서는 Copilot CLI 구성을 사용하지 마세요. 직접 경로에는 자체 라우트(/docs/mcp/copilot-cli)가 있습니다:

- 에디터 항목을 URL 전용으로 유지합니다.
- 첫 번째 도구 호출 시 브라우저 OAuth가 열립니다.
- 이 VS Code 항목에 Authorization 헤더를 추가하지 마세요.

## 자격 증명 설정

키 필요 없음 — VS Code / GitHub Copilot Chat에서 브라우저 OAuth 완료. XMEMO_KEY 를 설정하거나 베어러 토큰을 mcp.json 에 붙여넣지 마세요:

```text
No XMEMO_KEY
Complete browser OAuth in VS Code / GitHub Copilot Chat
```

## XMEMO_AGENT_INSTANCE_ID 생성 / 확인

검토된 VS Code OAuth 목록에는 클라이언트 측 ID 헤더가 없습니다. mcp.json 에 XMEMO_AGENT_INSTANCE_ID 를 추가하지 마세요. 이 OAuth 경로가 권한 부여 관리 귀속을 사용하는지 확인하세요.

## 기존 구성 블록 유지

검토된 VS Code / GitHub Copilot 구성 블록을 사용하세요. servers 키와 URL 전용 OAuth 형태를 유지하고 Copilot CLI 베어러 구성을 복사하지 마세요:

```json
{
  "servers": {
    "xmemo": {
      "type": "http",
      "url": "https://xmemo.dev/mcp"
    }
  }
}
```

## 클라이언트 다시 시작

mcp.json 을 저장한 후 VS Code 창을 다시 로드(Developer: Reload Window)하거나 MCP 연결을 다시 시작하여 Copilot이 현재 서버 정의를 읽도록 합니다.

## 실제 recall 호출로 테스트

첫 번째 MCP 호출을 읽기 전용으로 설정합니다. 이는 상태 확인 플레이스홀더가 아니라 실제 리콜 호출이며 메모리에 쓰지 않습니다.

```text
recall({ query: "connection check", limit: 1 })
```

## 예상 응답(리터럴 형태)

성공적인 호출은 아래의 공개 순위 텍스트 형식을 반환합니다. 참조 및 콘텐츠는 승인된 메모리 공간의 실제 값입니다.

```text
### XMemo Memory Results:
1. Reference: <opaque-memory-id> | Location: <location>
   > <memory content>
```

## 첫 번째 유용한 작업: 합성 메모리 수명 주기

GitHub Copilot Chat 내에서 완전한 합성 메모리 작업을 연습합니다:

- 1. 합성 사실 저장: 규칙("Demo project timestamps use UTC.")을 "projects/demo-onboarding/conventions" 에 기억하도록 Copilot Chat에 요청합니다.
- 2. 상태 비저장 전환: GitHub Copilot에서 새 채팅 세션을 열거나 VS Code 창을 다시 로드합니다.
- 3. 출처 귀속 리콜: "demo project timestamp format" 을 쿼리합니다. 반환된 Reference 및 Location 을 확인합니다.
- 4. 메모리 수정: update_memory 를 사용하여 규칙을 ISO 8601 형식으로 업데이트합니다.
- 5. 선택적 정리: 확인이 완료되면 forget 을 통해 규칙을 논리적으로 삭제합니다.

## 기능 및 프로필 도구

VS Code의 GitHub Copilot은 generic-public 프로필에 대한 MCP 문서 계약에 정의된 프로필 한정 도구에 액세스할 수 있습니다:

- 핵심 메모리 도구: remember, recall, update_memory, forget, read_memory, explain_memory, search_memory, recall_context.
- 작업 공간 도구: get_mcp_identity, get_project_summary, project, todo, open_project_workspace, open_todo_board, ledger, open_ledger.

## 제한 사항 및 경계

VS Code의 GitHub Copilot에 대한 운영 경계:

- 작업 공간 격리: 작업은 승인된 사용자의 작업 공간으로 엄격히 제한됩니다.
- 에디터/CLI 분리: VS Code OAuth 세션은 외부 터미널 도구로 전파되지 않습니다.
- 헤더 혼합 금지: mcp.json 의 servers 항목에 Authorization 헤더를 추가하지 마세요.

## 일반적인 오류

VS Code / GitHub Copilot Chat은 브라우저 OAuth 경로를 사용하므로 Copilot CLI 토큰 설정으로 디버그해서는 안 됩니다:

- invalid_grant — OAuth 인증 코드가 유효하지 않거나 만료되었거나 이미 사용되었습니다: VS Code MCP 서버를 다시 연결하고 다시 인증하세요.
- invalid_target — OAuth 리소스가 이 MCP 서버와 일치하지 않습니다: https://xmemo.dev/mcp 를 사용하여 다시 연결하세요.
- 403 insufficient_scope — 권한 부여에 memory:read 가 포함되지 않았습니다: 필요한 범위를 승인하고 다시 연결하세요.

## 업데이트 및 제거

GitHub Copilot 유지 관리 절차:

- 업데이트: 구성을 업데이트한 후 VS Code 창을 다시 로드합니다.
- 제거: mcp.json 에서 xmemo 블록을 제거하고 VS Code 창을 다시 로드합니다.

## VS Code / GitHub Copilot

OAuth client: keep only the hosted server URL in mcp.json; first tool call opens browser OAuth, so no XMEMO_KEY or Authorization header belongs in this file.

```
{
  "servers": {
    "XMemo": {
      "type": "http",
      "url": "https://xmemo.dev/mcp"
    }
  }
}
```
