구성MCP

Bob에서 MCP 사용

Model Context Protocol(MCP)은 외부 도구 및 서비스에 연결하여 Bob의 기능을 확장합니다. 이 가이드는 Bob과 함께 MCP 서버를 구성, 관리 및 사용하는 방법을 보여줍니다.

개념 정보는 MCP 이해를 참조하세요.

구성 수준

두 가지 수준에서 MCP 서버를 구성할 수 있습니다:

  • 전역: ~/.bob/mcp.json에 저장되며 모든 워크스페이스에 적용됩니다
  • 프로젝트: 프로젝트 루트의 .bob/mcp.json에 저장되어 버전 제어를 통한 팀 공유를 허용합니다

서버 이름이 충돌하는 경우 프로젝트 수준 구성이 전역 설정보다 우선합니다.

구성 파일 편집

설정 메뉴를 통해 MCP 구성 파일을 편집할 수 있습니다:

  1. Bob 패널에서 아이콘을 클릭합니다.
  2. MCP 탭을 선택합니다.
  3. 적절한 버튼을 클릭합니다:
    • 전역 MCP 편집: 전역 ~/.bob/mcp.json 파일 열기
    • 프로젝트 MCP 편집: 프로젝트별 .bob/mcp.json 파일 열기(존재하지 않는 경우 Bob이 생성)

두 파일 모두 명명된 서버 구성을 포함하는 mcpServers 객체와 함께 JSON 형식을 사용합니다.

서버 찾기 및 설치

IBM Bob에는 사전 설치된 MCP 서버가 포함되어 있지 않습니다. 서버를 찾으려면:

  • 직접 만들기: MCP SDK를 사용하여 사용자 정의 서버 만들기(MCP GitHub 저장소 참조)
  • 커뮤니티 서버: MCP 생태계에서 커뮤니티가 기여한 MCP 서버 탐색

MCP 서버 활성화 또는 비활성화

MCP 서버를 비활성화하면 Bob은 시스템 프롬프트에서 모든 MCP 관련 로직 및 정의를 제거하여 토큰 사용량을 줄입니다. Bob은 MCP 서버에 연결할 수 없으며 use_mcp_toolaccess_mcp_resource 도구를 사용할 수 없습니다. 이 설정은 기본적으로 활성화되어 있습니다.

MCP 서버를 활성화하거나 비활성화하려면:

  1. Bob 패널에서 아이콘을 클릭합니다.
  2. MCP 탭을 선택합니다.
  3. MCP 서버 사용을 활성화하거나 비활성화합니다.

MCP 서버 생성 활성화 또는 비활성화

MCP 서버 생성을 비활성화하면 Bob은 MCP 서버 작성에 사용하는 시스템 프롬프트에서 지침을 제거합니다. Bob은 기존 MCP 서버 작동을 위한 컨텍스트를 유지하고 토큰 사용량을 줄입니다. 이 설정은 기본적으로 활성화되어 있습니다.

MCP 서버 생성을 활성화하거나 비활성화하려면:

  1. Bob 패널에서 아이콘을 클릭합니다.
  2. MCP 탭을 선택합니다.
  3. MCP 서버 생성 활성화를 활성화하거나 비활성화합니다.

개별 MCP 도구 활성화 또는 비활성화

MCP 서버 내의 특정 도구를 활성화하거나 비활성화하여 Bob이 액세스할 수 있는 기능을 제어할 수 있습니다. 이를 통해 MCP 기능을 세밀하게 제어하고 사용하지 않는 도구 정의를 제외하여 컨텍스트 창 사용량을 줄일 수 있습니다.

개별 도구를 관리하려면:

  1. Bob 패널에서 아이콘을 클릭합니다.
  2. MCP 탭을 선택합니다.
  3. 목록에서 MCP 서버를 찾습니다.
  4. 서버를 확장하여 사용 가능한 도구를 봅니다.
  5. 필요에 따라 개별 도구를 켜거나 끕니다.

사용하지 않는 도구를 비활성화하면 도구 정의에서 소비되는 컨텍스트 양이 줄어들어 코드 및 대화 기록을 위한 공간이 더 많아집니다.

전송 유형

MCP는 서버 통신을 위한 다양한 전송 유형을 지원합니다. 서버가 실행되는 위치와 배포 방법에 따라 전송을 선택하세요. 모든 전송 유형에 대한 자세한 내용은 MCP 서버 전송을 참조하세요.

정적 토큰 대신 OAuth 2.1 사용자 인증이 필요한 서버의 경우 MCP OAuth 인증을 참조하세요.

정적 토큰 대신 OAuth 2.1 사용자 인증이 필요한 서버는 MCP OAuth 인증을 참조하세요.

STDIO 전송

컴퓨터에서 실행되는 로컬 서버에는 STDIO 전송을 사용합니다.

장점:

  • 낮은 지연 시간(네트워크 오버헤드 없음)
  • 더 나은 보안(네트워크 노출 없음)
  • 더 간단한 설정(HTTP 서버 불필요)

구성 매개변수:

매개변수필수설명
command실행할 실행 파일(예: node, python, npx)
args아니요명령에 전달할 인수 배열
cwd아니요서버 프로세스의 작업 디렉토리
env아니요서버 프로세스의 환경 변수
alwaysAllow아니요자동 승인할 도구 이름 배열
disabled아니요이 서버를 비활성화하려면 true로 설정

예제:

{
  "mcpServers": {
    "local-server": {
      "command": "node",
      "args": ["server.js"],
      "cwd": "/path/to/project/root",
      "env": {
        "API_KEY": "your_api_key"
      },
      "alwaysAllow": ["tool1", "tool2"],
      "disabled": false
    }
  }
}

자세한 내용은 STDIO 전송을 참조하세요.

Streamable HTTP 전송

HTTP/HTTPS를 통해 액세스하는 원격 서버에는 Streamable HTTP 전송을 사용합니다. 이것은 새로운 원격 서버 구현을 위한 최신 표준입니다.

장점:

  • 다른 머신에서 호스팅 가능
  • 여러 클라이언트 연결 지원
  • 중앙 집중식 배포 허용
  • 단순 request-response 및 스트리밍 모두 지원

구성 매개변수:

매개변수필수설명
urlMCP 엔드포인트의 전체 URL
headers아니요사용자 정의 HTTP 헤더(예: 인증 토큰)
alwaysAllow아니요자동 승인할 도구 이름 배열
disabled아니요이 서버를 비활성화하려면 true로 설정

예제:

{
  "mcpServers": {
    "remote-server": {
      "type": "streamable-http",
      "url": "https://your-server-url.com/mcp",
      "headers": {
        "Authorization": "Bearer your-token"
      },
      "alwaysAllow": ["tool3"],
      "disabled": false
    }
  }
}

자세한 내용은 Streamable HTTP 전송을 참조하세요.

SSE 전송(레거시)

HTTP/HTTPS를 통해 액세스하는 원격 서버에는 SSE 전송을 사용합니다. 새 원격 서버의 경우 대신 Streamable HTTP 전송을 사용하세요.

장점:

  • 다른 머신에서 호스팅 가능
  • 여러 클라이언트 연결 지원
  • 중앙 집중식 배포 허용

구성 매개변수:

매개변수필수설명
url원격 MCP 서버의 전체 URL 엔드포인트
headers아니요사용자 정의 HTTP 헤더(예: 인증 토큰)
alwaysAllow아니요자동 승인할 도구 이름 배열
disabled아니요이 서버를 비활성화하려면 true로 설정

예제:

{
  "mcpServers": {
    "remote-server": {
      "url": "https://your-server-url.com/mcp",
      "headers": {
        "Authorization": "Bearer your-token"
      },
      "alwaysAllow": ["tool3"],
      "disabled": false
    }
  }
}

Bob과 함께 MCP 서버 만들기

필요한 특정 기능을 위해 사용자 정의 MCP 서버를 만들도록 Bob에게 요청할 수 있습니다.

전제 조건: MCP 서버 생성 활성화 설정을 활성화합니다.

서버를 만들려면:

  1. Bob에게 도구 또는 기능을 요청합니다. 예를 들어:

    • "현재 비트코인 가격을 가져오는 MCP 도구 만들기"
    • "GitHub Gist API와 상호 작용하는 MCP 서버 구축"
  2. Bob은 다음을 수행합니다:

    • 기본 MCP 디렉토리에 서버 프로젝트(일반적으로 TypeScript) 생성
    • 필요한 API 호출로 요청된 도구 구현
    • 필요한 경우 API 키 또는 자격 증명 요청
    • 설정 파일에 서버 구성 추가
    • 새 서버에 자동으로 연결

도구 메커니즘에 대한 자세한 내용은 Bob의 도구 이해를 참조하세요.

개별 서버 관리

서버 설정에 액세스하려면:

  1. Bob 패널에서 아이콘을 클릭합니다.
  2. MCP 탭을 선택합니다.
  3. 목록에서 서버를 찾습니다.

사용 가능한 작업:

  • 삭제: 을 클릭하고 삭제 확인
  • 다시 시작: 을 클릭하여 서버 다시 시작
  • 활성화/비활성화: 전원 토글을 사용하여 서버를 켜거나 끕니다
  • 네트워크 시간 초과: 응답 시간 초과 설정(30초~5분, 기본값 1분)
  • 도구 관리: 서버를 확장하여 개별 도구를 활성화하거나 비활성화합니다

도구 자동 승인

MCP 도구 자동 승인은 기본적으로 비활성화되어 있으며 도구별로 작동합니다:

  1. 작업 자동 승인에서 전역 "MCP 서버 사용" 옵션을 활성화합니다.
  2. MCP 서버 설정에서 도구를 찾습니다.
  3. 도구 이름 옆의 항상 허용을 활성화합니다.

전역 설정이 우선합니다 – 비활성화된 경우 MCP 도구가 자동으로 승인되지 않습니다.

MCP 도구 효과적으로 사용

MCP 서버를 구성한 후 Bob은 사용 가능한 도구를 자동으로 감지합니다. 효과적인 사용은 명확한 도구 정의에 달려 있습니다.

워크플로우

  1. Bob 채팅 인터페이스에 요청 입력
  2. Bob이 요청 및 사용 가능한 MCP 도구 분석
  3. Bob이 도구 사용 제안; 승인(자동 승인되지 않은 경우)

효과적인 도구 설명 작성

Bob이 도구를 올바르게 선택하고 사용하는 능력은 설명의 품질에 달려 있습니다. MCP 도구를 정의할 때 다음 지침을 따르세요:

도구 이름

주요 기능을 나타내는 설명적이고 고유한 이름을 사용합니다.

도구 설명

다음을 포함하는 포괄적인 요약을 제공합니다:

  • 도구가 하는 일
  • 목적 및 사용 사례
  • 전제 조건 또는 중요한 컨텍스트
  • 예상 결과

매개변수 설명

각 매개변수에 대해 다음을 지정합니다:

  • 목적 및 예상 데이터 유형
  • 형식 요구 사항 또는 제약 조건
  • 유효한 값의 예
  • 선택 사항인지 필수인지 여부

예제

나쁜 설명:

데이터 가져오기

좋은 설명:

사용자 ID를 사용하여 API에서 사용자 프로필 데이터를 가져옵니다.
사용자 이름, 이메일 및 계정 생성 날짜를 포함하는 JSON을 반환합니다.
환경에 유효한 인증 토큰이 필요합니다.

추가 지침

사용자 정의 규칙을 사용하여 팀의 선호하는 접근 방식, 복잡한 워크플로우 또는 도구 우선순위를 정의합니다.

MCP 보안 고려 사항

중요한 보안 정보

MCP 서버 사용은 배포 전에 신중하게 평가해야 하는 보안 고려 사항을 도입합니다.

데이터 프라이버시 위험

외부 MCP 서버:

  • 데이터를 외부 공급자 또는 타사 서비스로 보낼 수 있습니다
  • 민감한 코드, 자격 증명 또는 독점 정보를 노출할 수 있습니다
  • 제어할 수 없는 방식으로 데이터를 저장하거나 기록할 수 있습니다

권장 사항:

  • 사용하기 전에 MCP 서버의 데이터 처리 정책을 검토하세요
  • 민감하거나 독점적인 코드와 함께 외부 MCP 서버를 사용하지 마세요
  • 기밀 프로젝트에는 로컬 MCP 서버를 선호하세요

로컬 보안 위험

로컬 MCP 서버:

  • Bob과 동일한 권한으로 실행됩니다
  • 파일 시스템, 환경 변수 및 시스템 리소스에 액세스할 수 있습니다
  • 컴퓨터에서 임의의 코드를 실행할 수 있습니다
  • 잠재적으로 파일을 수정하거나 삭제할 수 있습니다

권장 사항:

  • 신뢰할 수 있는 소스의 MCP 서버만 설치하세요
  • 가능한 경우 설치 전에 MCP 서버의 소스 코드를 검토하세요
  • 각 서버가 필요로 하는 권한과 기능을 이해하세요
  • 광범위한 파일 시스템 액세스를 요청하는 서버에 주의하세요

조직 규정 준수

비즈니스 및 엔터프라이즈 고려 사항:

  • MCP 서버 사용이 조직의 보안 정책과 일치하는지 확인하세요
  • 데이터 처리가 규제 요구 사항(GDPR, HIPAA 등)을 준수하는지 확인하세요
  • MCP 서버가 제한된 네트워크 내에서 사용하도록 승인되었는지 확인하세요
  • 환경에서 사용이 승인된 MCP 서버를 문서화하세요

모범 사례:

  • 승인된 MCP 서버의 인벤토리를 유지하세요
  • 새 MCP 서버에 대한 검토 프로세스를 수립하세요
  • MCP 서버 사용 및 권한을 정기적으로 감사하세요
  • MCP를 사용하는 팀 구성원에게 보안 교육을 제공하세요

MCP 서버 검증

MCP 서버를 설치하기 전에:

  1. 소스 조사: 게시자의 평판과 실적을 확인하세요
  2. 문서 검토: 서버가 무엇을 하고 무엇에 액세스하는지 이해하세요
  3. 권한 확인: 서버가 필요로 하는 시스템 리소스를 평가하세요
  4. 코드 읽기: 오픈 소스인 경우 보안 문제에 대한 구현을 검토하세요
  5. 격리 테스트: 먼저 비프로덕션 환경에서 서버를 시도하세요
  6. 동작 모니터링: 예상치 못한 네트워크 활동 또는 파일 액세스를 관찰하세요

의심스러운 경우 특히 기업 또는 규제 환경에서 MCP 서버를 설치하기 전에 보안 팀 또는 IT 부서에 문의하세요.

이 주제는 어떤가요?