Agent Discovery 없는 MCP가 DNS 없는 웹과 같은 이유
Source: Dev.to
당신은 MCP 서버를 구축했습니다. 잘 동작합니다—도구 호출을 처리하고, 리소스를 제공하며, 어쩌면 프롬프트까지 관리합니다.
하지만 다른 에이전트가 당신의 서버를 어떻게 찾을 수 있을까요?
현재 답은: 찾을 수 없습니다. JSON 설정을 공유하고, README에 URL을 붙여넣고, 누군가가 당신의 npm 패키지를 발견하기를 기대합니다. 이것은 발견이 아니라 입소문에 불과합니다.
MCP는 인터페이스 문제를 아름답게 해결했지만, 정체성 및 발견 문제는 전혀 다루지 않았습니다. 생태계가 수백 개에서 수천 개의 MCP 서버로 성장함에 따라, 이 격차는 실제 병목 현상이 됩니다.
현재 상태
오늘 어떤 MCP 디렉터리를 열어도—공식 레지스트리, awesome‑mcp‑servers, Smithery, Glama. 다음과 같은 모습을 볼 수 있습니다:
- 도구들의 평면 목록(카테고리화되었을 수도, 설명이 있을 수도 있음).
- 각 항목은 본질적으로
mcp.json에 복사‑붙여넣기 하는 구성 스니펫입니다:
{
"mcpServers": {
"weather": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-weather"]
}
}
}
Claude Desktop을 수동으로 구성할 때는 잘 작동하지만, 다음과 같은 경우에는 한계가 있습니다:
- 에이전트 간 통신 – 에이전트 A가 설정 시점이 아니라 실행 시점에 에이전트 B를 호출해야 합니다.
- 동적 탐색 – 지난 주에 하드코딩된 것이 아니라 현재 가장 최적의 번역 서비스를 찾는 워크플로.
- 신뢰 검증 – 연결하려는 서버가 주장하는 바로 그 서버인지 어떻게 알 수 있나요?
- 능력 매칭 – 특정 도구, 프로토콜, 혹은 품질 수준을 지원하는 에이전트를 찾는 것.
MCP 디렉터리는 에이전트 세계의 옐로우 페이지와 같습니다: 유용하지만, 실제 인터넷이 작동하는 방식은 아닙니다.
영감: DNS
웹은 수십 년 전 DNS로 이 문제를 해결했습니다:
google.com → 142.250.80.46
인간이 읽을 수 있는 이름이 기계가 읽을 수 있는 주소로 해석됩니다. 지루한 인프라이지만, 모든 것이 작동하게 합니다.
AI 에이전트에 대해서도 같은 것을 상상해 보세요:
agent://weather.tools → { endpoint, capabilities, trust }
단순히 IP 주소가 아니라—전체 정체성입니다.
Core Idea: Agent Manifests
모든 에이전트는 manifest를 갖습니다—package.json을 떠올리면 되지만, 실시간 AI 서비스용입니다:
{
"agent": "weather.tools",
"version": "1.2.0",
"protocol": "agent://",
"endpoint": "https://203.0.113.5:8443",
"capabilities": {
"tools": ["get_forecast", "get_alerts", "get_historical"],
"transports": ["http2", "grpc"],
"protocols": ["mcp-1.0", "a2a-1.0"]
},
"identity": {
"organization": "WeatherCorp",
"verified": true,
"cert_fingerprint": "sha256:abc123..."
},
"discovery": {
"tags": ["weather", "forecast", "geolocation"],
"description": "Real‑time weather data for 200+ countries",
"sla": "99.9%",
"pricing": "free-tier-available"
}
}
이것은 단순한 설정 파일이 아니라 계약입니다. agent://weather.tools를 해석하면 다음과 같은 모든 정보를 얻을 수 있습니다:
- Find it – DNS‑스타일 이름 해석.
- Verify it – mTLS 인증서, 조직 신원.
- Understand it – 기능, 도구, 전송 옵션.
- Evaluate it – SLA, 가격, 검색용 태그.
오늘날 MCP가 제공하는 것, 즉 명령 문자열과 몇 개의 인자와 비교해 보세요.
작동 방식
Agent A가 agent://weather.tools를 호출하려고 할 때, 세 단계가 진행됩니다:
단계 1 – Resolve
import { AgeniumClient } from 'agenium';
const client = new AgeniumClient();
const agent = await client.resolve('weather.tools');
// Returns the full manifest:
// agent.endpoint → "https://203.0.113.5:8443"
// agent.capabilities.tools → ["get_forecast", "get_alerts", ...]
// agent.identity.verified → true
단계 2 – Verify
mTLS 핸드쉐이크를 수행합니다; 양쪽 모두 자신의 신원을 증명합니다 (제로‑구성).
단계 3 – Communicate
보안 채널을 통한 표준 JSON‑RPC.
파이썬에서 동일하게
from agenium import AgeniumClient
client = AgeniumClient()
agent = await client.resolve("weather.tools")
result = await agent.call("get_forecast", {"city": "Tokyo"})
기존 MCP 서버 연결
MCP 서버를 다시 구축할 필요가 없습니다. 브리지는 기존 서버를 감싸고 에이전트 정체성을 부여합니다:
import { MCPBridge } from '@agenium/mcp-server';
const bridge = new MCPBridge({
name: 'weather-tools',
mcp: {
transport: 'stdio',
command: 'npx',
args: ['-y', '@modelcontextprotocol/server-weather'],
},
});
await bridge.start();
// Your MCP server is now agent://weather.tools
// Discoverable. Verifiable. Chainable.
같은 MCP 서버에 새로운 정체성 레이어가 추가됩니다. 기존 도구, 리소스, 프롬프트는 그대로 작동하며, 이제는 해석 가능한 이름을 통해 접근할 수 있습니다.
새로운 패턴 활성화
| 패턴 | 활성화되는 내용 |
|---|---|
| 에이전트 체인 | agent://translator.ai → agent://search.tools → agent://summarizer.ai – 각각이 런타임에 동적으로 해결됩니다. |
| 능력 검색 | “PDF 문서를 처리하고 MCP 1.0을 지원하는 에이전트를 찾아줘” → 순위가 매겨진 목록을 반환합니다. |
| 신뢰 네트워크 | 검증된 조직이 에이전트를 공개하고; 소비자는 연결 전에 신원을 확인합니다. |
| 핫 스와핑 | agent://old-weather.tools를 agent://better-weather.tools로 교체하되 클라이언트 설정을 건드리지 않음 (DNS 스타일 리디렉션). |
Comparison Matrix
| Layer | MCP | Agent Discovery (proposed) |
|---|---|---|
| Interface | ✅ 도구, 리소스, 프롬프트 | — |
| Transport | ✅ stdio, HTTP, SSE | — |
| Identity | ❌ | ✅ agent://name.tld + 스키마 |
| Discovery | ❌ | ✅ DNS‑style 해석 + 검색 |
| Trust | ❌ | ✅ mTLS + 검증된 조직 |
| Capability | ❌ | ✅ 도구/프로토콜이 포함된 매니페스트 |
대체가 아니라 보완입니다. MCP는 에이전트가 어떻게 대화하는지를 정의합니다. 이 레이어는 에이전트가 누구이며 어떻게 찾는지를 정의합니다.
여러분의 피드백이 필요합니다
우리는 이 시스템을 만들었습니다 (AGENIUM — 오픈 소스, MIT 라이선스):
- 12개의 npm 패키지, Python SDK, 4개의 실시간 데모 에이전트, 작동하는 검색 엔진.
- 기술은 정상 작동합니다.
하지만 이 문제가 여러분에게 공감되나요?
-
오늘날 MCP 서버/에이전트를 찾고 연결하는 데 어려움을 겪고 있나요?
아니면 설정을 복사‑붙여넣기 하는 것이 괜찮나요? -
위와 같은 스키마를 사용하시겠습니까?
아니면 여러분의 워크플로에 비해 과도하게 설계된 건가요? -
신뢰할 수 있는 에이전트 탐색을 위해 얼마를 지불하시겠습니까?
- 무료 티어?
- $10 /월?
- 영원히 $0?
-
현재 MCP 생태계에서 가장 부족한 점은 무엇이라고 생각하시나요?
여러분의 답변이 차세대 에이전트 탐색을 형성할 것입니다. 🙏
읽어 주셔서 감사합니다. 더 발견하기 쉽고 신뢰할 수 있는 AI 에이전트 세상을 함께 만들기를 기대합니다.
Ecosystem That Blocks Your Work?
We’re running developer interviews (15 min, async‑friendly). If you have opinions, reach out — we genuinely want to hear them.
AGENIUM is MIT licensed. We think agents deserve addresses, not just APIs. Tell us if you agree — or if we’re solving a problem that doesn’t exist.