메뉴
HN
Hacker News 45일 전

MCP: 관측 가능성의 새로운 인터페이스로 부상

IMP
8/10
핵심 요약

AI 에이전트가 인프라 데이터에 직접 접근할 수 있도록 돕는 '모델 컨텍스트 프로토콜(MCP)'이 관측 가능성(Observability) 분야의 새로운 표준 인터페이스로 자리 잡고 있습니다. 기존 플랫폼을 래핑하는 방식을 넘어, eBPF 등을 활용해 MCP 자체가 관측 가능성 계층 역할을 하도록 구축하는 'MCP 네이티브' 접근 방식이 근본적인 원인을 파악하는 데 훨씬 효과적임을 보여줍니다.

번역된 본문

TL;DR MCP는 AI 에이전트와 인프라 데이터 사이의 인터페이스가 되고 있습니다. 데이타독(Datadog)은 대시보드를 AI 에이전트에 연결하는 MCP 서버를 출시했고, 퀄리스(Qualys)는 MCP 서버를 새로운 섀도우 IT(Shadow IT) 위험으로 지목했습니다. 우리는 두 주장 모두 맞다고 생각하지만, 아키텍처는 한 단계 더 발전해야 한다고 봅니다. 즉, MCP 서버가 기존의 관측 가능성 플랫폼을 단순히 래핑(Wrapping)하는 데 그치는 것이 아니라, 그 자체로 관측 가능성 계층(Observability layer)이 되어야 합니다. 이 글에서는 기존의 메트릭 파이프라인을 완전히 우회하여, MCP가 커널 트레이스포인트(Kernel tracepoints)에 직접 연결되는 관측 가능성 인터페이스로 어떻게 작동할 수 있는지 탐구합니다.

일주일에 나타난 세 가지 신호 2026년 3월의 어느 한 주 동안, 관측 가능성 분야의 향후 방향을 암시하는 세 가지 사건이 일어났습니다. 첫째, 데이타독이 MCP 서버를 출시했습니다. 이 구현은 실시간 관측 가능성 데이터를 AI 에이전트와 연결하여 자동화된 탐지 및 해결을 가능하게 합니다. 이제 AI 에이전트는 MCP(모델 컨텍스트 프로토콜)를 통해 데이타독 대시보드를 쿼리하고, 메트릭을 가져와서, 응답을 트리거할 수 있습니다. 이는 대기업이 하나의 작은 프로토콜을 검증한 것입니다.

둘째, 퀄리스가 MCP 서버에 대한 보안 분석을 발표했습니다. 그들의 TotalAI 팀은 MCP 서버를 'AI를 위한 새로운 섀도우 IT'라고 불렀으며, 서버의 53% 이상이 인증에 정적 시크릿(Static secrets)에 의존하고 있음을 발견했습니다. 그들은 MCP 서버에 관측 가능성을 추가할 것을 권장했습니다. 즉, 기능 검색 이벤트의 로깅, 호출 패턴 모니터링, 이상 징후에 대한 경고 등입니다.

셋째, Cloud Native Now에서 쿠버네티스(Kubernetes) 네트워크 관측 가능성을 위한 eBPF를 다루었습니다. 마이크로소프트의 Retina는 DaemonSet으로 배포되어, 애플리케이션 변경 없이 eBPF를 통해 네트워크 원격 측정 데이터를 캡처하고 커널 수준의 패킷 손실(Drop) 원인을 제공합니다. 이 기사는 '모니터링(미리 정의된 질문)'과 '관측 가능성(아무도 예상치 못한 질문을 던지는 것)'의 명확한 경계를 그었습니다.

이 세 가지를 연결하는 공통된 실마리는 바로 이것입니다. AI 에이전트는 인프라 원격 측정 데이터(Telemetry)에 직접 접근해야 하며, MCP가 그 방법이 되고 있다는 것입니다.

MCP 관측 가능성을 위한 두 가지 접근 방식 MCP를 통해 관측 가능성 데이터를 AI 에이전트에 연결하는 방법에는 두 가지가 있습니다.

접근 방식 1: 기존 플랫폼 래핑하기. 데이타독의 전략입니다. 이미 수집되고 집계된 기존의 메트릭, 로그, 트레이스를 가져와서 MCP 도구를 통해 노출시킵니다. AI 에이전트는 대시보드 API를 쿼리하여 전처리된 데이터를 얻고, 이를 바탕으로 행동합니다. 이 방식은 성숙한 관측 가능성 스택을 갖춘 팀이 그 위에 AI 기반 자동화를 추가하고자 할 때 적합합니다.

접근 방식 2: MCP 네이티브 관측 가능성 구축. 우리가 트레이서(Tracer)로 구현한 방식입니다. 기존 플랫폼을 래핑하는 대신, uprobes를 통해 CUDA 런타임 및 드라이버 API를 추적하는 eBPF 에이전트를 구축하고, 결과를 SQLite에 저장한 다음 7개의 MCP 도구를 통해 모든 것을 노출했습니다. MCP 인터페이스는 단순한 어댑터 계층이 아니라 기본 인터페이스입니다.

어느 쪽이 틀렸다는 것은 아닙니다. 이들은 각기 다른 문제를 해결합니다. 래퍼(Wrapper) 접근 방식은 집계 분석, 예를 들어 '지난 1시간 동안 서비스 X의 p99 지연 시간(Latency)은 얼마였나?'와 같은 질문에 잘 작동합니다. 데이터가 이미 요약되고, 인덱싱되어 있으며 쿼리가 가능하기 때문입니다.

반면, 네이티브 접근 방식은 근본 원인 조사에 더 적합합니다. 예를 들어, '이 특정 GPU 요청은 왜 예상보다 14.5배 더 오래 걸렸을까?'와 같은 질문에는 요약 데이터가 아니라 원시 커널 이벤트, CUDA 콜 스택(Call stack), 인과 관계 체인(Causal chains)이 필요합니다. AI 에이전트는 데이터를 롤업(요약)하는 것이 아니라 더 깊이 파고들어야 합니다.

실제 사례에서의 MCP 네이티브 관측 가능성 구체적인 예시를 들어보겠습니다. 우리는 vLLM TTFT(Time To First Token) 회귀(Regression) 문제를 추적했는데, 첫 번째 토큰이 베이스라인보다 14.5배 더 오래 걸렸습니다. 트레이스 데이터베이스는 모든 CUDA API 호출, 모든 커널 컨텍스트 스위치(Context switch), 모든 메모리 할당을 캡처했습니다.

클로드(Claude)가 MCP 서버에 연결하여 이 데이터베이스를 로드하면 다음과 같은 작업을 수행할 수 있습니다.

  • get_trace_stats – 전체 트레이스 요약 확인 (12,847개의 CUDA 이벤트, 4개의 인과 관계 체인, 총 GPU 시간)
  • get_causal_chains – 왜 지연 시간이 급증했는지 설명하는 인과 관계 체인을 일상적인 영어(Plain English)로 읽기
  • run_sql – 원시 이벤트 데이터에 대해 사용자 지정 쿼리 실행 (예: '100ms 이상의 모든 cudaMemcpyAsync 호출 보여줘')
  • get_stacks – 플래그가 지정된 이벤트에 대한 콜 스택 검사

클로드는 30초 안에 근본 원인을 파악했습니다. 핵심 경로(Critical path)에서 logprobs 연산이 디코딩 루프(Decode loop)를 차단하여 256배의 속도 저하를 일으킨 것입니다. 이 근본 원인은 어떤 집계 메트릭에서도 볼 수 없었습니다. 오직 [원시 데이터에서만 확인할 수 있었습니다.]

원문 보기
원문 보기 (영어)
TL;DR MCP is becoming the interface between AI agents and infrastructure data. Datadog shipped an MCP Server connecting dashboards to AI agents. Qualys flagged MCP servers as the new shadow IT risk. We think both are right, and we think the architecture should go further: the MCP server should not wrap an existing observability platform. It should BE the observability layer. This post explores how MCP can serve as a direct observability interface to kernel tracepoints, bypassing traditional metric pipelines entirely. Three signals in one week Three things happened in the same week of March 2026 that signal where observability is headed. Datadog shipped an MCP Server. Their implementation connects real-time observability data to AI agents for automated detection and remediation. An AI agent can now query Datadog dashboards, pull metrics, and trigger responses through the Model Context Protocol. This is a big company validating a small protocol. Qualys published a security analysis of MCP servers . Their TotalAI team called MCP servers “the new shadow IT for AI” and found that over 53% of servers rely on static secrets for authentication. They recommended adding observability to MCP servers: logging capability discovery events, monitoring invocation patterns, alerting on anomalies. Cloud Native Now covered eBPF for Kubernetes network observability. Microsoft Retina deploys as a DaemonSet, captures network telemetry via eBPF without application changes, and provides kernel-level drop reasons. The article draws a clear line between “monitoring” (predefined questions) and “observability” (asking questions nobody planned for). The thread connecting all three: AI agents need direct access to infrastructure telemetry, and MCP is becoming the way they get it. Two approaches to MCP observability There are two ways to connect observability data to AI agents via MCP. Approach 1: Wrap existing platforms. Datadog’s strategy. Take existing metrics, logs, and traces, already collected and aggregated, and expose them through MCP tools. The AI agent queries the dashboard API, gets pre-processed data, and acts on it. This makes sense for teams with a mature observability stack that want to add AI-powered automation on top. Approach 2: Build MCP-native observability. This is what we did with the tracer. Instead of wrapping an existing platform, we built an eBPF agent that traces CUDA Runtime and Driver APIs via uprobes, stores the results in SQLite, and exposes everything through 7 MCP tools. The MCP interface is not an adapter layer; it is the primary interface. Neither approach is wrong. They solve different problems. The wrapper approach works well for aggregate analysis: “What was the p99 latency for service X over the last hour?” The data is already summarized, indexed, and queryable. The native approach works better for root-cause investigation: “Why did this specific GPU request take 14.5x longer than expected?” That requires raw kernel events, CUDA call stacks, and causal chains – not summaries. The AI agent needs to drill down, not roll up. What MCP-native observability looks like in practice Here is a concrete example. We traced a vLLM TTFT regression where the first token took 14.5x longer than baseline. The trace database captured every CUDA API call, every kernel context switch, every memory allocation. When Claude connects to the MCP server and loads this database, it can: get_trace_stats – See the full trace summary: 12,847 CUDA events, 4 causal chains, total GPU time get_causal_chains – Read the causal chains that explain why latency spiked, in plain English run_sql – Run custom queries against the raw event data (“show me all cudaMemcpyAsync calls over 100ms”) get_stacks – Inspect call stacks for any flagged event Claude identified the root cause in under 30 seconds: logprobs computation was blocking the decode loop, creating a 256x slowdown on the critical path. That root cause was not visible in any aggregate metric. It only appeared in the raw causal chain between specific CUDA API calls. A dashboard MCP adapter could not have found this. The data granularity does not survive aggregation. The security angle matters too Qualys raised valid concerns about MCP server security. Their finding that 53% of servers rely on static secrets is alarming. Their recommendation to log discovery and invocation events is exactly right. For MCP servers that touch GPU infrastructure, the attack surface is different. An MCP server with access to CUDA traces can expose timing information, memory layouts, and model architecture details. The security model needs to account for this. In Ingero, every MCP tool invocation is traced. The same eBPF infrastructure that captures GPU events also captures the MCP interaction itself. This is not a separate logging layer; it is the same observability pipeline. Qualys’s recommendation to “add observability to MCP servers” becomes trivial when the MCP server already IS an observability tool. Where this is going We think the MCP-native pattern will expand beyond GPU observability. Consider: Network observability : Instead of wrapping Prometheus in an MCP layer, build an eBPF-based network agent that exposes packet-level data directly to AI agents (Microsoft Retina is halfway there). Security observability : Instead of wrapping a SIEM, build an MCP server that traces syscalls and exposes security events in real time. Cost observability : Instead of querying a cloud billing API through MCP, instrument the actual resource allocation and expose it directly. The pattern is the same: skip the dashboard, skip the aggregation, give the AI agent direct access to the raw telemetry. Let the agent decide what to aggregate and how. Try It Yourself The project is open source. The investigation database from this post is available for download. Claude (or any MCP client) can connect to it and run an investigation: git clone https://github.com/ingero-io/ingero.git cd ingero && make build ./bin/ingero mcp --db investigations/pytorch-dataloader-starvation.db Investigate with AI (recommended) You can point any MCP-compatible AI client at the trace database and ask questions directly. No code required. First, create the MCP config file at /tmp/ingero-mcp-dataloader.json : { "mcpServers": { "ingero": { "command": "./bin/ingero", "args": &#91;"mcp", "--db", "investigations/pytorch-dataloader-starvation.db"] } } } With Ollama (local, free): # Install ollmcp (MCP client for Ollama) pip install ollmcp # Investigate with a local model (no data leaves your machine) ollmcp -m qwen3.5:27b -j /tmp/ingero-mcp-dataloader.json With Claude Code: claude --mcp-config /tmp/ingero-mcp-dataloader.json Then type /investigate and let the model explore. Follow up with questions like “what was the root cause?” or “which processes were competing for CPU time?” Add it to a Claude Desktop config and ask: “What caused the GPU performance issues in this trace?” The MCP server exposes 7 tools. Claude will figure out the rest. Ingero is free & open source software licensed under Apache 2.0 (user-space) + GPL-2.0/BSD-3 (eBPF kernel-space). One binary, zero dependencies, <2% overhead. Give us a start at GitHub ! Related reading AI agent investigation of kernel-level GPU traces GPU incident response in 60 seconds with eBPF tracing torch.cuda.empty_cache() on an RTX 4090