메이플 경매장 MCP 개발기

오유찬·2026년 7월 19일
post-thumbnail

최근 AWS MCP나 Figma MCP처럼 AI가 외부 환경에 접근해 가치를 만들어내는 사례에 관심이 많아졌다. AI가 활용될 수 있는 아이디어를 고민하다 문득 메이플스토리가 떠올랐다. 메이플에서는 옥션을 통해 아이템을 거래하는데, 여기에 AI가 접근하면 매물 검색이 훨씬 쉬워지지 않을까 하는 생각이었다.

문제는 메이플 경매장 API를 쓰려면 넥슨 로그인 세션이 필요하다는 점이었다. 세션 쿠키를 사용자가 직접 복붙하게 하는 방식은 비개발자가 대다수인 메이플 유저 특성상 진입장벽이 높고, 만료 시간도 짧아 택하지 않았다. 대신 사용자는 평소처럼 크롬에 로그인만 해두고, 크롬 익스텐션이 그 세션으로 요청을 대신 실행하는 구조를 택했다.

크롬 익스텐션: 다대다 연결 문제

MCP 서버가 크롬 익스텐션에게 웹소켓으로 API 엔드포인트를 전송하면, 익스텐션이 API를 수행하고 응답을 돌려주는 구조다.

그런데 1대1 연결이다 보니 문제가 생겼다. 익스텐션은 오직 하나의 서버와만 연결할 수 있어서, 클로드 코드를 여러 개 켜두면 동시 접속이 안 됐다. 게다가 크롬 프로필을 여러 개 켜두면 로그인 세션이 없는 익스텐션에게 요청이 가서, 분명 로그인은 되어 있는데 응답이 안 오는 경우도 생겼다.

이를 해결하려고 MCP 서버를 MCP 서버브로커 서버로 분리했다. MCP 서버는 먼저 기존 브로커에 접속을 시도하고, 없으면 spawn으로 브로커를 새로 띄운 뒤 요청을 전달한다. 크롬 익스텐션은 이 브로커와만 연결되어 있기 때문에, MCP 서버가 몇 개로 늘어나든 웹소켓 연결 수는 늘지 않는다. 덕분에 여러 MCP 서버를 병렬로 실행할 수 있게 됐다.

브로커는 넥슨 세션을 가진 익스텐션을 찾기 위해 연결된 모든 익스텐션에 브로드캐스팅으로 로그인 여부를 확인하고, 가장 먼저 응답한 익스텐션을 메인 연결로 삼는다. 이후 API 요청은 그 웹소켓으로만 전달된다. 만약 연결이 끊기거나 세션이 만료되면 다시 브로드캐스팅으로 다른 익스텐션을 찾고, 아무도 없으면 사용자에게 크롬에서 메이플 옥션에 로그인하라고 안내한다.

이렇게 MCP와 익스텐션이 다대다 관계여도 문제없이 연결되도록 만들었다.

검색 횟수 절약하기

메이플 옥션은 검색 횟수가 하루 100회로 제한되어 있어서, 이 횟수를 아끼면서도 검색 품질은 높이는 작업이 필요했다.

API를 뜯어보니 규칙이 하나 보였다. 아이템을 검색하면 searchKey가 생성되면서 검색 횟수가 1 차감된다. 하지만 이 searchKey로 다음 페이지를 넘기거나 정렬 기준을 바꾸는 건 횟수 차감 없이 가능했다. 즉, 검색 횟수가 줄어드는 시점은 새로운 searchKey를 생성할 때뿐이었다.

그래서 AI가 검색할 때 적절한 필터를 골라 searchKey 생성 횟수를 최소화하도록 해야 했다. 다만 필터를 너무 느슨하게 걸면 검색되는 아이템 수가 늘어나 이번엔 AI 토큰 소모가 커진다. 결국 필터 교체 횟수와 검색 결과 개수를 동시에 줄여야 하는 문제에 부딪혔다.

AI는 메이플을 모른다

이 상황을 텍스트로 설명해주고, 캐릭터의 현재 장비를 조회하는 도구도 붙여주면 AI가 알아서 상황에 맞는 필터를 걸고 아이템을 추천해줄 거라 생각했다.

하지만 AI는 메이플을 전혀 몰랐다. 아무리 똑똑한 모델이라도 메이플 이야기만 나오면 갑자기 바보가 됐다. 실제로 카데나 무기를 추천해달라고 했더니 엉뚱하게 노작체인을 추천하고, 심지어 제네시스체인을 검색하겠다며 귀한 검색 횟수를 낭비하기도 했다. 카데나의 주스탯도 모르는 AI에게 아이템 추천을 맡길 수는 없는 노릇이었다.

그래서 메이플 지식 스킬을 만들었다. Context7처럼, 추천을 하기 전에 기본적인 도메인 지식을 먼저 제공하면 AI가 한결 똑똑해지지 않을까 싶었다. 아이템 매물을 보는 기본적인 방법을 담은 문서를 작성하고, MCP 도구로 이 문서를 불러오게 만들었다.

효과는 있었다. 이후엔 어느 정도 그럴듯한 추천을 하기 시작했다. 다만 스킬의 컨텍스트가 이미 꽤 무거운 상태라, 정확도를 더 올리려면 세부 정보를 추가해야 하는데 그러면 컨텍스트가 비대해지고 AI의 판단 자유도를 해칠 수 있어 아직 손대지 못하고 있다. 앞으로는 스킬에 레이어를 쌓아 AI가 그때그때 정말 필요한 지식만 가져가도록 설계해야 할 것 같다. AI가 메이플 전문가가 되려면 결국 스킬을 어떻게 설계하느냐가 핵심이라는 생각이 들었다.

AI에게 계산기를 쥐여주다

스킬만으로는 한계가 있었다. Thin Skills를 지향하는 만큼, 판단은 스킬이 아니라 도구가 해줘야 했다. 그래서 공격력 증가율을 계산하는 계산기를 만들어 AI 손에 쥐여주기로 했다.

넥슨 오픈 API로 캐릭터의 장비와 스탯 정보를 가져올 수 있다. 이 정보로 캐릭터 스탯을 구성하고, 특정 아이템을 착용했을 때 최종 데미지 상승률을 계산할 수 있다면 AI가 정확한 수치를 근거로 추천할 수 있을 거라 생각했다.

막상 구현하려니 한계가 뚜렷했다. 48개에 달하는 직업의 딜사이클을 전부 파악하지 못해 정확한 보스공격력·방어율무시 값을 구하기 어려웠고, 쿨타임 감소나 버프 지속시간 증가처럼 간접적으로 전투력에 기여하는 요소는 계산에 넣지 못했다. 세트 효과도 고려해야 하고, 밸런스 패치가 있을 때마다 로직을 손봐야 하며, 보약 칭호 같은 것도 매번 반영해야 했다.

그래서 방향을 바꿨다. 처음부터 완벽한 계산기를 만들기보다, 약 95% 정확도로도 아이템 간 우열을 가리는 데는 충분하다고 판단하고 그 수준을 목표로 삼았다.

배포, 그리고 반응

깃허브와 npm에 배포하고, 메이플스토리 커뮤니티 인벤에 홍보글을 올렸다. 반응은 예상보다 훨씬 뜨거웠다. 조회수 35,208회, 추천 84개, 댓글 174개를 기록했고, 홍보 일주일이 지난 지금 구글 애널리틱스 기준 사용자는 약 200명이다.

그 홍보글: https://www.inven.co.kr/board/maple/5974/6858869

직접 만든 프로그램을 사람들이 잘 써준다는 게 언제나처럼 뿌듯하고, 그게 개발을 더 재밌게 만드는 원동력인 것 같다.

앞으로의 방향은 두 가지다.

  1. 전략적인 스킬·하네스 설계로 더 똑똑하면서 토큰은 덜 쓰는 MCP 만들기
  2. 더 정확하고 유연한 메이플 계산기 만들기

궁극적으로는 정확한 템 진단을 바탕으로 아이템 구매 전략까지 세워주는 MCP로 발전시키고 싶다.

이번 프로젝트를 하면서 느낀 건, MCP를 만드는 일은 AI에게 명령문을 쓰는 일이 아니라 AI가 실수하기 어려운 환경을 설계하는 일이라는 것이다. 브로커도, searchKey 절약도, 지식 스킬도, 계산기도 결국 전부 그 맥락 위에 있었다. 실사용자가 있는 MCP를 만들다 보니 타인의 토큰을 아끼면서 추천 정확도는 올리고 싶다는 책임감도 생겼고, 좋은 AI 설계란 무엇인가에 대한 고민도 훨씬 깊어졌다.

👉 https://github.com/oyc0401/maple-auction-mcp
개발 중인 레포입니다. 스타 한번씩 눌러주시면 정말 힘이 됩니다!

profile
대학생 개발자

6개의 댓글

comment-user-thumbnail
2026년 7월 24일

안녕하세요! MCP 잘 사용하고 있습니다.

생성형 AI와 함께 이 MCP를 활용한 메이플 관련 프로그램을 만들고 있는데, 제작 과정과 사용 영상을 유튜브에 올려도 괜찮을까요?

출처는 영상 설명란에 꼭 남기겠습니다. 감사합니다!

1개의 답글
comment-user-thumbnail
2026년 7월 27일

안녕하세요. 인벤에서 글 보고 왔습니다.
작성하신 프로그램을 봤을 때 넥슨에서 제공하는 open api가 아니라 웹에서 정보를 긁어오는것으로 보여요.
메이플 이용약관쪽에 홈페이지 정보를 비인가 프로그램으로 수집하는 것에 대해서 금지된것으로 확인했는데 이 부분은 게임사에서 허용을 해주신건가요..?
아니라면 문의 한번 넣어보시는게 좋아보여요.. 개인 사용 용도도 아니고 배포를 하거나 서비스를 운영하는거면 추후에 문제가 생길 수도 있어 보여서 노파심에 말씀드립니다..

답글 달기
comment-user-thumbnail
2026년 8월 1일

저도 메이플 이용해서 사이드 프로젝트 해보고 싶었는데 좋은 인사이트가 될 것 같아요 감사합니다~!!

답글 달기
comment-user-thumbnail
2026년 8월 27일

안녕하세요! MCP를 이제 확인해서 사용해보려고 하는데, AGY를 통해 접근하려 하면 바로 넥슨 웹사이트에서 로그아웃이 되는데.. 현재 이 MCP가 막힌걸까요?? 아니면 아직 잘 사용하고 계실까요?

답글 달기