MCP를 코드로 자동 테스트한다. 서버를 띄우고, 응답을 검증하고, 외부 호출을 녹화·재생하고, 목 서버로 대체하는 것을 하나의 도구로 한다.
npm install -g @mcpeak/cli실패한 케이스는 무엇이 다른지, 왜 다른지, 어떻게 고치는지를 찍는다
실패 메시지가 곧 제품이다. 테스트 도구의 화면은 실패했을 때 터미널에 찍히는 문장이다. expected true, got false 로 끝내지 않고, 무엇이 왜 다른지와 어떻게 고치는지까지 쓴다.
내가 만든 MCP가 제대로 동작하는지 확인하고 싶다
tools/list 를 읽어 정상 케이스와 위반 케이스를 제안하고, 사람이 승인한 것만 명세로 남긴다.
mcpeak generate --out weather.suite.json -- node ./server.mjs무엇이 왜 다른지, 어떻게 고치는지 찍는다. 하나라도 실패하면 종료 코드 1 이라 CI 에 그대로 붙는다.
mcpeak test weather.suite.json -- node ./server.mjs정의 JSON 하나로 같은 명세를 그대로 통과하는 MCP를 띄운다.
mcpeak test weather.suite.json -- mcpeak-mock weather.mock.json한 번만 진짜로 부르고, 이후 실행은 녹화본을 재생해 네트워크 없이 같은 응답을 받는다.
mcpeak test weather.suite.json --record-session weather.session.db -- node ./server.mjs같은 명세를 서버에 두 번 돌려 결과를 비교한다. 타임스탬프나 실행 순서에 따라 흔들리는 케이스를 찾아낸다.
mcpeak test weather.suite.json --determinism -- node ./server.mjs--repair-bundle 로 실패 근거를 파일에 남기고, 그 파일을 AI 에게 넘겨 서버 코드의 원인 후보를 받는다.
mcpeak repair repair.json --provider claude --model sonnet대시보드
로컬 웹 UI 에서 명세를 고르고 실행하고, generate 승인과 repair 검토까지 클릭으로 진행한다. 판정은 CLI 와 같은 함수를 부르므로 어느 쪽으로 돌려도 결과가 같다.
npm install -g @mcpeak/dashboard && mcpeak-dashboard시작하기
전역 설치 한 번이면 mcpeak 명령이 생긴다. 한 번만 쓸 거라면 npx 로도 된다.
npm install -g @mcpeak/cli서버의 스키마를 읽어 케이스를 제안한다. 사람이 승인한 것만 명세 파일로 남는다.
mcpeak generate --out weather.suite.json -- node ./server.mjs서버를 띄우고 판정한다. 하나라도 실패하면 종료 코드 1 이라 CI 에 그대로 붙는다.
mcpeak test weather.suite.json -- node ./server.mjs문서