개요
2026년 6월, Laravel 공식 블로그에서 Laravel AI SDK로 구축한 AI 에이전트가 MCP(Model Context Protocol) 서버에 연결할 수 있게 되었다고 발표했습니다. 지금까지 Laravel MCP는 “Laravel 앱을 MCP 서버로서” 공개하는 기능을 제공했지만, 이번에 추가된 것은 그 반대 방향, 즉 “Laravel 앱이 MCP 클라이언트로서 다른 MCP 서버에 연결하는” 기능입니다.MCP 자체의 자세한 구조는 Laravel MCP 문서를 참조하세요. 이 페이지에서는 클라이언트 기능에 좁혀 설명합니다.
왜 AI SDK 본체가 아닌 Laravel MCP에 구현되었는가
MCP는 전송 계층 협상, 핸드셰이크, 인증 흐름 등 다루는 범위가 넓은 프로토콜입니다. 이를 AI SDK 내에 직접 구현하면, 에이전트 없이 MCP 서버와 통신하고 싶은 상황(큐 잡이나 콘솔 명령 등)에서 재사용할 수 없습니다. 그래서 Laravel 팀은 기능을 두 가지로 나누었습니다.laravel/mcp: 연결·협상·인증·도구 호출을 담당하는 MCP 클라이언트 본체laravel/ai: 에이전트가 그 클라이언트를tools()에서 위화감 없이 사용할 수 있게 하는 얇은 통합 계층
MCP 서버로 연결
로컬 프로세스로 시작하는 STDIO 서버와 HTTP 경유의 원격 서버 양쪽을 지원합니다.tools()를 호출하기만 하면 됩니다.
인증
Bearer 토큰
OAuth
Nightwatch 등 많은 호스팅 MCP 서버는 OAuth를 요구합니다. 서비스 프로바이더에서 이름 있는 클라이언트를 등록합니다.mcp.oauth.nightwatch.connect와 이에 대응하는 콜백 라우트가 생성됩니다. Blade 측에서는 연결 버튼을 놓기만 하면 됩니다.
에이전트에 통합
가장 중요한 포인트는 에이전트의tools() 메서드를 변경하지 않고도 MCP 도구를 섞을 수 있다는 것입니다.
tools() 배열의 내용이 MCP 도구임을 감지하여 에이전트의 도구 계약에 맞도록 래핑합니다. MCP의 입력 스키마를 Laravel의 JSON 스키마로 변환하고, 모델이 도구를 호출했을 때 원격 호출을 실행하며, 결과를 정규화하여 반환합니다. 오류·구조화 데이터·플레인 텍스트·스트리밍 업데이트 모두 자동으로 처리되므로, 에이전트 측 코드에 MCP의 세부 사항이 새어 나오지 않습니다.
여러 전송 계층을 하나의 에이전트에 혼재시킬 수도 있습니다.
도구 목록 캐싱
도구 목록의 가져오기에는 서버로의 왕복이 발생합니다. 특히 OAuth 경유의 원격 서버에서는 프롬프트마다 호출하는 것은 낭비입니다. 도구 목록은 자주 바뀌지 않으므로 캐시 대상으로 적합합니다.테스트
실제로 가동 중인 MCP 서버가 없어도 Laravel AI의 페이크 기능으로 에이전트를 테스트할 수 있습니다. MCP 도구명은mcp_tools_<name>이라는 명명 규약을 따르므로, search라는 도구는 mcp_tools_search로 나타납니다.
현재 지원 범위
이 첫 릴리스에서는 STDIO와 Streamable HTTP 양쪽 전송 계층에서 도구와 프롬프트를 지원합니다. 인증은 Bearer 토큰과 OAuth를 지원합니다. MCP 자체의 발전에 맞춰 앞으로도 지원 범위가 확대될 전망입니다.관련 페이지
AI SDK의 커스텀 프로바이더 만들기
표준으로 지원되지 않는 AI 서비스에 대응하는 커스텀 프로바이더 구현 방법
Laravel Nightwatch 입문
이 기사에서 예로 사용된 호스팅 모니터링 서비스 Nightwatch 설명