MCP Server and Tool Telemetry: 경계에서 검증된 행까지
제어된 애플리케이션 경계에서 MCP Server and Tool Telemetry를 사용하고, 이벤트 계약을 작게 유지하고, 집계 뷰를 구축하기 전에 알려진 결과를 확인하세요.
- 1
결과를 선택하세요
MCP 도구 신뢰성
- 2
계약 정의
tool_call_id, run_id, server_name, tool_name, client_type, 전송 및 릴리스
- 3
경계 계측
호출을 시도할 때마다 반환된 MCP 오류를 포함하여 하나의 결과 이벤트가 생성되도록 등록된 도구 핸들러를 계측합니다.
- 4
증거를 확인하세요
Exercise a known fixture, then inspect mcp_tool_completed for one correctly typed terminal row.
시작하기 전에
전제 조건 및 경계
- @modelcontextprotocol/sdk, zod 및 telemetry-sh는 신뢰할 수 있는 서버 프로세스에서 초기화되었습니다.
- 제한된 도구 분류 및 애플리케이션 소유 호출 또는 실행 식별자
- 도구 입력, 출력, 승인, 클라이언트 신원 및 부작용에 대한 권한 부여 및 개인 정보 보호 정책
배송 설정
서버 측 설치 및 초기화
서버 전용 코드에서 telemetry-sh를 가져오고 process.env.TELEMETRY_API_KEY로 한 번 초기화합니다. 브라우저 번들, 클라이언트에 표시되는 환경 변수, 소스 제어, 로그 및 예외 메시지에서 수집 자격 증명을 유지하세요.
npm 설치
npm install telemetry-sh- 1제한된 네트워크 동작을 갖춘 재사용 가능한 서버 측 전달 클라이언트 하나를 준비합니다.
- 2성공, 실패, 재시도 또는 시간 초과 경계에 결과 이벤트를 추가합니다.
- 3알림을 활성화하기 전에 제어된 고정 장치를 보내고 저장된 행을 검사하십시오.
스니펫
하나의 체계적인 이벤트로 시작하세요
워크플로가 완료, 실패 또는 재시도되는 위치에 이 셰이프를 추가합니다. 그런 다음 실제 필드에서 대시보드를 구축합니다.
MCP Server and Tool Telemetry 이벤트
server.registerTool(
"lookup-account",
{
title: "Look up account",
description: "Return an approved account summary",
inputSchema: { accountId: z.string() },
},
async ({ accountId }) => {
const startedAt = performance.now();
const toolCallId = crypto.randomUUID();
let status = "success";
let errorType;
try {
const summary = await lookupApprovedAccountSummary(accountId);
return {
content: [{ type: "text", text: summary }],
};
} catch (error) {
status = "failed";
errorType = classifyToolError(error);
return {
content: [{ type: "text", text: "Account lookup failed" }],
isError: true,
};
} finally {
await telemetry.log("mcp_tool_completed", {
tool_call_id: toolCallId,
server_name: "account-tools",
tool_name: "lookup-account",
status,
error_type: errorType,
duration_ms: Math.round(performance.now() - startedAt),
release: process.env.APP_RELEASE,
}).catch(reportTelemetryDeliveryFailure);
}
},
);이벤트 계약
tool_call_id, run_id, server_name, tool_name, client_type, 전송 및 릴리스
상태, duration_ms, retry_count, error_type, approval_required 및 approval_result
제한 및 승인된 경우에만 side_effect_category 및 output_category
구현 체크포인트
체크포인트 1
호출을 시도할 때마다 반환된 MCP 오류를 포함하여 하나의 결과 이벤트가 생성되도록 등록된 도구 핸들러를 계측합니다.
체크포인트 2
기본적으로 도구 입력, 반환된 콘텐츠, 포함된 리소스, 파일 경로, 자격 증명, 토큰 및 무제한 오류를 Telemetry에서 유지합니다.
체크포인트 3
Telemetry 배송 실패로 인해 성공적인 도구 결과가 변경되지 않도록 하십시오. 짧은 시간 초과, 로컬 오류 보고 및 제한된 종료 동작을 사용합니다.
검증
이벤트가 도착했음을 증명하세요.
알려진 성공 및 실패 사례를 연습한 후 이를 실행하십시오. 최종 이벤트 계약이 스니펫과 다른 경우 대체 테이블 이름을 바꾸세요.
MCP Server and Tool Telemetry 확인 쿼리
SELECT *
FROM mcp_tool_completed
ORDER BY timestamp_utc DESC
LIMIT 20;구현 참조
새로운 프로덕션 경로를 활성화하기 전에 이벤트 계약, 데이터 안전 지침, 업스트림 기본 문서를 검토하세요.
프로덕션 경계
결과 이벤트를 작고 복구 가능하게 유지
이 패턴은 다음을 제공합니다.
- 업스트림 워크플로우 옆에 제한된 SQL 지원 결과가 있습니다.
- 대시보드, 알림 및 교차 이벤트 상관 관계를 위한 안정적인 필드입니다.
- 성공, 실패, 재시도 및 시간 초과 동작을 검증하기 위한 고정 장치 기반 경로입니다.
이 패턴은 제공하지 않습니다
- OTLP 내보내기, 자동 수집 파이프라인 또는 자세한 추적 및 진단 로그를 대체합니다.
- 페이로드에 이벤트 ID가 포함되어 있기 때문에 정확히 한 번만 전달됩니다.
- 원시 공급자 페이로드, 사용자 콘텐츠, 자격 증명 또는 규제 데이터를 수집할 수 있는 권한입니다.
이벤트 스키마 시작점
이 워크플로우에 대한 이벤트 계약
쿼리 또는 스니펫을 프로덕션에 적용하기 전에 행 그레인, 방출 경계, 필수 유형, 개인 정보 보호 클래스, 예제 페이로드 및 유효성 검사 체크리스트를 검토하세요.
관련 제품 기능
이 워크플로를 다음에서 계속하세요. AI 에이전트 모니터링
검토 가능한 SQL을 사용하여 에이전트 실행, 도구 사용, 모델 비용, 품질 및 제품 결과를 연결하세요.
관련 SQL 레시피
SQL로 다음 질문에 답하세요
이 워크플로의 구조화된 필드에 대해 쿼리를 실행하고, 예제 결과를 검사하고, 유용한 답변을 대시보드 또는 알림으로 전환하세요.
AI 에이전트 도구 승인 결정 감사
가장 자주 거부되거나 사람 승인으로 전달되는 에이전트 도구는 무엇입니까?
레시피 열기중첩된 AI 도구 호출 이벤트 쿼리
가장 많이 실패한 호출과 관련된 AI 도구 및 인수는 무엇입니까?
레시피 열기반복되는 AI 에이전트 도구 Loops 감지
반복적인 도구 루프에서 멈춘 것처럼 보이는 에이전트 실행은 무엇입니까?
레시피 열기상호 연관된 워크플로우 타임라인 재구성
최근 실패한 워크플로에서 순서대로 어떤 일이 발생했나요?
레시피 열기SQL을 사용하여 권한 있는 작업 감사
가장 자주 실패하거나 사람의 검토가 필요한 권한 있는 작업은 무엇입니까?
레시피 열기구현 제품군별로 찾아보기
관련 통합 패턴 비교
이 통합과 페어링할 템플릿
더 많은 통합
OpenAI 에이전트 Telemetry
구조화된 이벤트를 통해 OpenAI 에이전트 실행, 도구 호출, 모델 사용, 대기 시간, 비용 및 최종 결과를 기록합니다.
가이드 열기AutoGen 작업 흐름, 상태 및 시간 초과 모니터링
AutoGen 작업 흐름 상태, 시간 초과, 팀 및 에이전트 결과, 도구 활동, 핸드오프, 대기 시간, 실패, 비용 및 간결한 구조적 이벤트를 통해 릴리스를 추적합니다.
가이드 열기CrewAI 워크플로우 Telemetry
에이전트 대화를 유지하지 않고도 CrewAI 팀 및 흐름 결과, 작업 수, 핸드오프, 재시도, 대기 시간, 비용 및 허용된 결과를 추적합니다.
가이드 열기