Documentation Index
Fetch the complete documentation index at: https://wb-21fd5541-weave-caching.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
작동 방식
Weave 인테그레이션은 핵심 메소드에weave.op() 데코레이터를 패치하여 Model Context Protocol (MCP)의 주요 구성 요소를 자동으로 추적합니다. 구체적으로는 mcp.server.fastmcp.FastMCP 및 mcp.ClientSession 클래스의 메소드를 패치합니다.
이 인테그레이션을 통해 Weave는 다음 MCP 구성 요소를 추적합니다:
인테그레이션 사용하기
Weave 인테그레이션은 MCP 서버와 클라이언트 모두에서 작동합니다. 설치가 완료되면weave를 임포트하고 초기화하는 단 두 줄의 코드만으로 트레이싱을 활성화할 수 있습니다.
사전 요구 사항
시작하기 전에 필요한 패키지를 설치하세요:설정
MCP 인테그레이션은 환경 변수를 통해 설정할 수 있습니다:MCP_TRACE_LIST_OPERATIONS: 서버와 클라이언트 양측에서 리스트 작업(list_tools,list_resources,list_prompts)을 추적하려면true로 설정하세요.
서버 측 인테그레이션
MCP 서버를 추적하려면 기존FastMCP 설정에 Weave를 임포트하고 클라이언트를 초기화하는 두 줄의 코드를 추가하세요. 추가하고 나면 툴, 리소스, 프롬프트 작업이 자동으로 추적됩니다.
클라이언트 측 인테그레이션
클라이언트 측에서도 Weave를 임포트하고 초기화하는 두 가지 변경만 필요합니다. 모든 툴 호출, 리소스 엑세스, 프롬프트 요청이 자동으로 추적됩니다.튜토리얼: mcp_demo 예시
mcp_example은 트레이싱을 위한 Model Context Protocol (MCP)과 Weave 간의 인테그레이션을 보여줍니다. 클라이언트와 서버 구성 요소 모두를 인스트루먼트하여 상호작용의 상세한 트레이스를 캡처하는 방법을 보여줍니다.
예시 실행하기
-
weave리포지토리를 클론하고mcp_demo예시 디렉토리로 이동합니다:예시에는 두 개의 주요 파일이 포함되어 있습니다:example_server.py:FastMCP로 빌드된 데모 MCP 서버입니다. 툴, 리소스, 프롬프트를 정의합니다.example_client.py: 서버에 연결하고 해당 구성 요소와 상호작용하는 클라이언트입니다.
-
필요한 종속성을 수동으로 설치합니다:
-
데모 실행:
이 코맨드는 클라이언트와 서버를 모두 실행합니다. 클라이언트는 다양한 기능을 테스트할 수 있는 대화형 CLI를 시작합니다.
클라이언트 CLI 코맨드
클라이언트 인터페이스는 다음 코맨드를 지원합니다:| 코맨드 | 설명 |
|---|---|
tools | 사용 가능한 툴 목록 표시 |
resources | 사용 가능한 리소스 목록 표시 |
prompts | 사용 가능한 프롬프트 목록 표시 |
add <a> <b> | 두 숫자 더하기 |
bmi <weight> <height> | 체질량 지수(BMI) 계산 |
weather <city> | 도시의 날씨 데이터 가져오기 |
greeting <name> | 개인화된 인사말 가져오기 |
user <id> | 사용자 프로필 조회 |
config | 앱 설정 가져오기 |
code-review <code> | 코드 리뷰 프롬프트 생성 |
debug <error> | 디버깅 프롬프트 생성 |
demo | 사용 가능한 모든 기능의 전체 데모 실행. 각 기능을 순차적으로 실행하고 Weave UI에서 상호작용의 전체 트레이스 타임라인을 생성합니다. |
q | 세션 종료 |
예시 이해하기
example_server.py 서버는 다음을 정의합니다:
- Tools:
add(),calculate_bmi(),fetch_weather()와 같은 함수 - Resources:
greeting://{name},config://app,users://{id}/profile과 같은 엔드포인트 - Prompts:
review_code()및debug_error()와 같은 템플릿
weave.init()으로 클라이언트를 초기화하면 모든 서버 측 작업이 Weave에 의해 자동으로 추적됩니다.
example_client.py 클라이언트는 다음 방법을 보여줍니다:
- MCP 서버에 연결하기
- 사용 가능한 툴, 리소스, 프롬프트 검색하기
- 파라미터를 사용하여 툴 호출하기
- 리소스 URI에서 읽기
- 인수를 사용하여 프롬프트 생성하기
- 커스텀 메소드/함수에
weave.op()사용 예시 보여주기
FAQ
MCP 트레이싱이 왜 필요한가요?
LLM 애플리케이션 개발자로서 귀하는 다음 세 가지 범주 중 하나에 속할 것입니다:- MCP 서버 측 개발자: MCP 클라이언트에 여러 툴, 리소스 및 프롬프트를 노출하려고 합니다. 기존 애플리케이션의 툴, 리소스 등을 노출하거나, 에이전트를 구축했거나 오케스트레이터 에이전트에 의해 오케스트레이션되는 여러 에이전트를 보유하고 있습니다.
- MCP 클라이언트 측 개발자: 클라이언트 측 애플리케이션을 여러 MCP 서버에 연결하려고 합니다. 클라이언트 측 로직의 핵심 부분은 어떤 툴을 호출할지 또는 어떤 리소스를 가져올지 결정하기 위해 LLM 호출을 하는 것입니다.
- MCP 서버 및 클라이언트 개발자: 서버와 클라이언트를 모두 개발하고 있습니다.
- 애플리케이션을 빠르게 반복 개발
- 워크플로우 또는 실행 로직 감사
- 병목 현상 식별