에이전트 생태계의 마지막 조각: 플러그인 포장재

AI 코딩 에이전트가 보편화되면서, 잘 만든 스킬(Skill)과 MCP 서버가 각자의 저장소에 갇혀 있는 상황이 반복되고 있어요. 스킬은 에이전트가 재사용할 지시문과 리소스를 제공하고, MCP는 도구와 서비스를 연결해 주지만, 이 둘을 담는 상자(manifest)가 클라이언트마다 달라서 그대로 배포할 수 없었죠.

예를 들어, 특정 보고용 데이터베이스를 조회하고 주간 요약을 만드는 스킬과 MCP 서버를 개발했다고 가정해 볼게요. 첫 번째 클라이언트에서는 잘 동작했는데, 두 번째 클라이언트에 배포하려니 디렉터리 구조가 다르고, 매니페스트의 메타데이터 형식이 다르고, MCP 설정 방식도 달라서 결국 포크해서 두 벌을 관리하게 됩니다. 컴포넌트가 문제가 아니라, 컴포넌트를 담는 상자가 문제였던 거죠.

이 문제를 해결하기 위해 등장한 것이 Agent Plugins 1.0.0입니다. Amazon, Cursor, Microsoft, OpenAI, Vercel의 코어 메인테이너들이 만든 오픈 규격이고, 이제 Google도 코어 메인테이너로 합류하면서 자사 제품에 지원을 시작했어요. 이 글에서는 Agent Plugins의 구조와 실무 적용 포인트를 자세히 풀어드릴게요.

Developer packaging AI skills and MCP servers into a portable agent plugin directory structure Developer Related Image

플러그인 구조: 디렉터리 하나가 전부

Agent Plugins의 핵심은 플러그인 = 디렉터리라는 단순함입니다. 복잡한 설정 파일이 아니라, 정해진 위치에 컴포넌트를 배치하면 끝나요.

reports-plugin/
├── plugin.json
├── skills/
│   └── summarize/
│       ├── SKILL.md
│       ├── scripts/
│       └── references/
├── mcp.json
└── com.example.client/

plugin.json은 사실상 이름만 정의하면 됩니다.

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "reports-plugin"
}

나머지는 고정된 위치에서 찾아요. skills/에는 Agent Skills 규격에 맞는 스킬을, mcp.json에는 각 엔트리에 명시적인 type을 넣어 MCP 서버를 선언합니다. 클라이언트는 설정 객체의 생김새로 전송 방식을 추측할 필요 없이 stdio, Streamable HTTP, 레거시 HTTP+SSE를 확실하게 처리할 수 있죠.

핵심은 플러그인 매니페스트가 컴포넌트를 재배치하거나 인라인 선언할 수 없다는 점입니다. 디스커버리 경로를 설정할 필요도, 우선순위를 배울 필요도 없어요. skills/가 없으면 있는 것만 로드하고, MCP 서버 하나가 실패해도 플러그인의 다른 스킬은 정상 동작합니다. 각 컴포넌트는 독립적으로 실패하도록 설계된 거예요.

마지막의 역방향 도메인 디렉터리(com.example.client/)는 특정 클라이언트가 자유롭게 확장할 수 있는 네임스페이스입니다. 훅, 에이전트, 명령 등 클라이언트 고유 기능을 넣을 수 있고, 모르는 클라이언트는 무시하면 됩니다. 이렇게 해서 휴대 가능한 핵심은 작게 유지하면서, 휴대 불가능한 부분이 갈 곳을 마련해 둔 거죠.

Cloud infrastructure with AI agents connecting to databases and services through standard plugin manifests Coding Session Visual

주의사항: 플러그인이 항상 정답은 아니다

Agent Plugins는 패키지 포맷 그 이상도 이하도 아닙니다. 설치 메커니즘, 배포 프로토콜, 권한 모델, 샌드박싱, 신뢰 검증, 사용자 경험을 정의하지 않아요. 이는 명시적으로 미래 고려 사항으로 남겨두었는데, IDE, CLI, 엔터프라이즈 플랫폼마다 설치 정책과 승인 UX가 다르기 때문에 패키징은 패키징의 역할에만 집중하겠다는 의도로 보입니다.

또한, 단일 클라이언트에 단일 MCP 서버만 배포한다면 mcp.json 단독이 더 간단한 해결책입니다. 스킬 하나만 있다면 플러그인이 필요 없어요. 함께 배포해야 할 컴포넌트가 여러 개일 때 비로소 Agent Plugins가 빛을 발합니다.

이 규격은 레이어별로 독립적으로 도입할 수 있어요. 플러그인을 카탈로그 없이 게시할 수도 있고, 플러그인이 아닌 리소스를 카탈로그에 등록할 수도 있습니다. 또한, application/agent-plugins+json 미디어 타입이 승인되어 카탈로그 엔트리가 plugin.json을 직접 가리킬 수 있게 되었어요.

Cross-platform compatibility of agent plugins across IDE, CLI, and enterprise platforms Development Concept Image

결론: 지금 당장 시작할 수 있는 것

구글은 이미 두 제품에서 이 포맷을 지원합니다.

  • Agents CLI: 에이전트 빌딩, 평가, 배포, 옵저버빌리티, 퍼블리싱을 위한 전문 스킬을 패키징하며, Antigravity, Gemini CLI, Claude Code, Cursor 등 모든 AI 코딩 에이전트가 에이전트 운영 전문가가 되도록 도와줘요.
  • Data Agent Kit: BigQuery, Spanner, Cloud SQL 등 Google 데이터 클라우드의 힘을 AI 코딩 에이전트로 가져오는 플러그인 모음입니다. 데이터 엔지니어가 에이전트로 데이터 자산 관리, 쿼리, 파이프라인 배포를 할 수 있게 해주죠.

직접 플러그인을 만들어 보고 싶다면, plugin.json에 이름을 적고 skills/greet/SKILL.md에 간단한 인사말을 작성하면 됩니다. 1분이면 유효한 플러그인이 완성돼요.

이 기술은 Cloudflare 에이전트 리, AI가 클라우드 운영을 새롭게 정의하다와 같은 AI 에이전트의 실무 적용 흐름과 맞닿아 있어요. 에이전트가 더 많은 도구를 유연하게 활용하려면 이런 표준화가 필수적입니다.

다음 단계 학습 방향

  • Agent Skills와 MCP의 개별 스펙을 먼저 이해하고, 이 글의 플러그인 구조와 대조해 보세요.
  • 실제로 간단한 스킬과 MCP 서버를 패키징해 보고, 지원하는 클라이언트에서 동작을 확인해 보세요.
  • Google의 Agents CLI와 Data Agent Kit을 사용해 보면서 플러그인이 어떻게 배포되는지 경험해 보는 것을 추천합니다.

함께 보면 좋은 글:

본 콘텐츠는 신뢰할 수 있는 출처를 바탕으로 AI 도구를 활용하여 초안이 작성되었으며, 편집자의 검토를 거쳐 발행되었습니다. 전문가의 조언을 대체하지 않습니다.