Cursor에서 MCP 서버 연동해서 사내 API 문서 자동 참조하기
문제 상황
마이크로서비스 구조라 API 엔드포인트가 20개 넘게 흩어져 있다. 개발하면서 다른 팀 API 스펙 확인할 때마다 Confluence 뒤지거나 Swagger 페이지 열어보는 게 번거로웠다.
Cursor에서 코드 작성 중에 "이 API 어떻게 호출하더라?" 싶을 때마다 브라우저 오가는 게 집중력을 깼다.
MCP로 해결
Model Context Protocol 서버를 만들어서 사내 API 문서를 Cursor에서 직접 조회하도록 구성했다.
MCP 서버 구현
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
const server = new Server({
name: 'internal-api-docs',
version: '1.0.0',
}, {
capabilities: {
tools: {},
},
});
server.setRequestHandler('tools/list', async () => ({
tools: [{
name: 'search_api_docs',
description: '사내 API 문서 검색',
inputSchema: {
type: 'object',
properties: {
query: { type: 'string' },
},
},
}],
}));
server.setRequestHandler('tools/call', async (request) => {
if (request.params.name === 'search_api_docs') {
const docs = await fetchFromConfluence(request.params.arguments.query);
return { content: [{ type: 'text', text: docs }] };
}
});
Cursor 설정
~/.cursor/mcp.json에 서버 등록:
{
"mcpServers": {
"internal-api": {
"command": "node",
"args": ["/path/to/mcp-server/build/index.js"]
}
}
}
사용 경험
Cursor에서 "유저 프로필 API 스펙 알려줘" 하면 바로 엔드포인트, 파라미터, 응답 형식을 가져온다. 코드 작성 플로우가 끊기지 않아서 체감상 생산성이 올랐다.
Confluence API 호출이라 약간 느릴 때가 있어서, 자주 쓰는 API는 로컬 캐싱을 추가했다. 1시간마다 갱신하도록 설정하니 응답 속도가 개선됐다.
개선 예정
- 스키마 변경 이력 추적 기능
- 팀별 API 사용 빈도 기반 우선순위 추천
- GraphQL 스키마 조회 지원
MCP 생태계가 빠르게 성숙하고 있어서 앞으로 더 다양하게 활용할 수 있을 것 같다.