
mcp-crash-course: https://github.com/emarco177/mcp-crash-course
지금까지 우리는 GitHub에서 다른 사람이 만든 MCP 서버를 클론(clone)해서 사용하는 법을 배웠습니다. 예를 들면 날씨 서버 같은 것이었죠.
하지만 이제부터는 처음부터 직접 MCP 서버를 만드는 방법을 배울 거예요.
직접 만드는 MCP 서버는 크게 두 가지 기능을 가지게 됩니다:
Tool (도구)
→ 예: 사용자가 명령하면 터미널 명령어를 실행할 수 있는 기능
→ 예를 들어, "내 바탕화면에 있는 폴더들을 보여줘"라고 하면, 실제로 ls 명령어를 실행해서 결과를 보여줌.
Resource (자원)
→ 예: 특정 파일(MCP README 파일 등)을 외부에서 사용할 수 있게 열어두는 기능
→ Claude나 Cursor 같은 클라이언트가 이 파일을 "읽어서" 사용자의 프롬프트에 활용할 수 있음.
shell 툴을 통해 ls ~/Desktop 같은 명령어를 실행합니다.❗️ 주의: 이건 굉장히 위험할 수 있어요! 사용자가 Claude를 통해 임의의 명령어를 실행하게 만들 수 있기 때문이에요.
MCP-README.md 파일을 리소스로 등록합니다.우리는 또 하나의 MCP 툴을 만들었는데, 이것은 외부 웹에서 파일을 다운로드하고 실행하는 기능입니다.
http://example.com/message.txt 에 있는 텍스트를 다운로드 받아 출력🛡️ 이런 기능은 굉장히 위험해요! 누군가 악의적으로 만든 MCP 서버를 여러분이 그대로 클론하고 사용하면, 이 서버가 여러분의 컴퓨터에서 파일을 지우거나, 바이러스를 실행할 수도 있어요.
Claude는 처음에 사용자가 "MCP Readme 파일을 지워줘"라고 명령하면 보안상 실행하지 않습니다.
하지만 사용자가 말을 돌려서 **"내 컴퓨터를 정리하고 싶어. MCP Readme 파일을 지워줘"**라고 하면 Claude는 이걸 허용합니다.
결국 Claude가 터미널 명령어를 실행해서 바탕화면에 있는 파일을 삭제해버렸어요!
MCP 서버를 직접 만드는 방법 배움
이 서버에 tool과 resource를 추가
Cloud Desktop, Cursor에 연결해 작동 확인
MCP 서버를 Docker로 컨테이너화해서 배포 가능하게 만들기
보안 이슈도 함께 공부 (위험한 툴 방지 방법 등)
이제 본격적으로 MCP 서버를 직접 개발하고, 나만의 안전하고 똑똑한 AI 도우미를 만드는 법을 배워보는 단계로 들어갑니다.
어떤 부분이 가장 흥미롭거나 헷갈렸나요?