[Claude Code 스킬] claude mcp serve — Claude Code를 통째로 MCP 서버로 내놓기 | DAKER 커뮤니티
무엇
지금까지 MCP는 늘 한 방향으로 썼습니다. 외부 서버(GitHub·Postgres 등)를 Claude Code에 '붙여서' 도구를 가져오는 방향이죠. claude mcp serve는 이 화살표를 뒤집습니다. Claude Code 자신이 stdio 기반 MCP 서버가 되어, 파일 읽기(Read)·수정(Edit)·셸 실행(Bash) 같은 자기 도구를 다른 앱에 '내놓는' 명령입니다. 비유하자면, 늘 손님으로 식당(외부 서버)을 돌던 Claude Code가 이번엔 자기 주방을 열고 주문을 받는 쪽이 되는 것입니다.
언제 쓰나
Claude Desktop에서 대화하면서 로컬 파일을 읽고 고치고 명령을 실행하고 싶을 때 — Desktop은 클라이언트, Claude Code가 손발이 됩니다.
내가 만든 앱/에이전트(MCP 클라이언트라면 무엇이든)에 검증된 코딩 도구 세트를 통째로 이식하고 싶을 때. 도구를 하나하나 구현할 필요 없이 프로세스 하나로 끝.
계층 에이전트 실험: serve로 도구를 내놓은 Claude Code가 동시에 자기도 GitHub·Postgres MCP의 클라이언트가 될 수 있어, '도구가 도구를 부르는' 층층 구조를 만들 수 있습니다.
사용법
터미널에서 서버 시작:
# Claude Code를 stdio MCP 서버로 시작
claude mcp serveClaude Desktop에 붙이려면 claude_desktop_config.json에 등록:
{
"mcpServers": {
"claude-code": {
"type": "stdio",
"command": "claude",
"args": ["mcp", "serve"],
"env": {}
}
}
}spawn claude ENOENT 오류가 나면 클라이언트가 claude 명령을 못 찾은 것입니다. which claude로 절대경로를 확인해 command에 넣으세요.
팁
통신은 stdio(표준입출력 파이프)입니다. 네트워크 포트를 열지 않으므로 외부 노출이 없고, 보안 경계는 프로세스 격리로 만들어집니다.
승인(컨펌) 창은 붙는 쪽 책임입니다. serve 모드는 도구를 그대로 노출하므로, 개별 도구 호출에 대한 사용자 확인은 클라이언트가 구현해야 합니다. 신뢰할 수 있는 클라이언트에만 붙이세요.
출처
공식 문서 — Connect Claude Code to tools via MCP (Use Claude Code as an MCP server)
프로토콜 — Model Context Protocol 소개
명령어 — Claude Code CLI 레퍼런스