View a markdown version of this page

도구 구성 - AWS 권장 가이드

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

도구 구성

올바른 도구를 찾고 LLM이 이를 효과적으로 사용할 수 있도록 하는 것은 효과적인 도구 개발의 가장 중요한 부분 중 하나입니다. MCP 서버 개발을 시작할 때 다음을 결정하는 전략이 필요합니다.

  • 하나의 MCP 서버로 이동하는 도구 수

  • 동일한 MCP 서버에 넣으면 안 되는 도구

  • 도구 이름을 지정하여 검색 가능하게 만들고 이름 충돌을 방지하는 방법(이름이 같은 다른 도구)

  • LLM에서 쉽게 사용할 수 있도록 도구 및 MCP 서버를 문서화하는 방법

네임스페이스 조직은 도구 이름 충돌을 방지하고, 관련 기능을 그룹화하고, LLMs. 이 패턴은 비정형 누적이 아닌 정형 스토리지 시스템과 유사한 정형 분류를 설정합니다. 도구 이름 지정에는 domain-noun-verb 패턴을 사용하는 것이 좋습니다. 예: github_issue_create, github_issue_list, github_issue_update, github_pullrequest_create, github_pullrequest_list또는 github_pullrequest_merge. 이 패턴의 장점은 알파벳 정렬 동작을 검사할 때 분명합니다. 도구가 알파벳순으로 나열되면 모든 문제 관련 작업이 함께 클러스터링되고(create, list, update) 그 뒤에 풀 요청 작업(create, list, )이 옵니다merge. 명사(리소스 유형)는 조직 경계 역할을 합니다. 이 구조는 관련 기능이 자연스럽게 함께 그룹화되므로 LLM 도구 스캔과 인적 문서 탐색을 모두 용이하게 합니다.

MCP 서버는 도메인 수준에서 경계가 지정되어야 하지만 제공하는 기능에 대한 업무 분리에 따라 세분화될 수 있습니다. 예를 들어 데이터베이스에 쓰기 작업과 읽기 작업을 위한 별도의 MCP 서버가 있을 수 있습니다. 이러한 분리를 적용하려면 사용자 의도 및 권한에 따라 액세스할 수 있는 MCP 서버를 제한하는 가드레일을 에이전트 수준에서 구현하는 것이 좋습니다. 이는 다음과 같은 조합을 통해 달성할 수 있습니다.

  • 조건부 서버 로드 - 에이전트가 사용자 입력에서 읽기 작업을 감지한 경우에만 읽기 전용 MCP 서버를 로드합니다.

  • 권한 기반 필터링 - 사용자 권한을 사용하여 적절한 MCP 서버에만 액세스 권한을 부여합니다.

마지막으로 MCP 서버에서 제공하는 도구 수에 대한 상한을 생성해야 합니다. 에이전트가 MCP 서버를 사용하는 방법을 가정하지 마세요. 사용 가능한 모든 도구를 순진하게 나열하고 LLM에 모두 제공할 수 있습니다. 단일 서버에 50개 이상의 도구가 있는 경우 여러 서버로 분할하는 것을 고려해야 합니다.

MPC 도구 조직에 대한 모범 사례

  • 도구에 domain-noun-verb 이름 지정 표준 사용 - MCP 서버와 에이전트 모두에서 이름 충돌을 방지하는 전략을 구현합니다.

  • 상한 설정 - 단일 MCP 서버의 도구 수를 제한합니다.

  • MCP 서버 분할 - 업무 분리를 사용하여 MCP 서버를 논리적 그룹으로 분할합니다.