AI 모델이 추가적인 Context로 활용할 수 있는 정보를 OpenAI가 만든 표준 프로토콜인 Model Context Protocol 형태로 제공하는 서버를 말한다.
Visual Code 프로젝트를 fork하여 개발된 AI 기반의 IDE 프로그램으로
Agent Mode 기능을 활성화하면 사용자가 작성한 프로젝트의 코드를 참고하여 코드를 자동으로 작성해준다. 자연어 기반의 instruction을 작성하면 사용자가 원하는 컨벤션에 맞는 코드 작성을 지원하고 커스텀 MCP 서버 설정을 지원해서 사용자 개발 환경에 추가적인 컨텍스트 정보를 커스텀으로 제공하는 것이 가능하다.
Cursor
api 서버를 개발하게 되면 사용하는 swagger는 openapi라고 하는 규격에 맞는 공개 api 사용 명세서를 생성하게 되는데 이 문서를 기반으로 한 mcp 서버 오픈소스들이 있다. 이 mcp 서버 기능을 활용하면 백엔드와 프론트엔드 서버에서 api를 호출하기 위한 client 코드 자동 작성을 ai를 활용해서 작성할 수 있게 있다.
예제 실습에 사용할 오픈 소스로 다음 환경에서 빌드해서 실행하면 된다.
# 프로젝트 git clone
git clone https://github.com/jedisct1/openapi-mcp.git
cd openapi-mcp
# Build the binaries
make
bin/openapi-mcp (mcp 서버를 실행하는 명령어)
bin/mcp-client (interactive client 버전 명령어)
# Basic usage (stdio mode)
bin/openapi-mcp examples/fastly-openapi-mcp.yaml
서버에 go를 설치하지 않고 도커 이미지로 실행 이미지를 빌드해서 사용한다.
# syntax=docker/dockerfile:1.7
########################################
# 빌더 스테이지: Go 1.21+로 바이너리 빌드
########################################
FROM golang:1.22-bookworm AS builder
WORKDIR /app
# 빌드 속도를 위해 Go 모듈 캐시 사용
COPY go.mod go.sum ./
RUN --mount=type=cache,target=/go/pkg/mod \
go mod download
# 프로젝트 전체 복사 후 make로 빌드
COPY . .
# Go 빌드 출력 캐시도 함께 사용
RUN --mount=type=cache,target=/go/pkg/mod \
--mount=type=cache,target=/root/.cache/go-build \
make
########################################
# 런타임 스테이지: 실행에 필요한 최소 산출물만 복사된 실행 이미지
########################################
FROM debian:bookworm-slim AS runtime
RUN apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates \
&& rm -rf /var/lib/apt/lists/*
# 빌드된 바이너리 복사
COPY --from=builder /app/bin/openapi-mcp /usr/local/bin/openapi-mcp
COPY --from=builder /app/bin/mcp-client /usr/local/bin/mcp-client
# 스펙/설정 마운트를 위한 기본 작업 디렉터리
WORKDIR /opt/etc/openapi
# HTTP 포트 노출(--http 사용 시)
EXPOSE 8080
# 기본 엔트리포인트(런타임에 override 가능)
ENTRYPOINT ["/usr/local/bin/openapi-mcp"]
# 인자가 없으면 기본으로 도움말 출력
CMD ["--help"]
docker build -t openapi-mcp:latest .
cursor IDE에서 실행 가능한 mcp 서버로 실행하기 위해 ~/.cursor/mcp.json
설정 파일 작성
{
"mcpServers": {
"openapi-mcp": {
"command": "sh",
"args": [
"-lc",
"exec docker run --rm -i -v '${프로젝트 json 파일 위치}:/opt/etc/openapi:ro' openapi-mcp:latest /opt/etc/openapi/fastly-openapi-mcp.json 2>/dev/null"
]
}
}
}
연동에 성공하면 사용 가능한 tool 목록을 볼 수 있다.
Agent 모드로 명령을 하면 자동으로 mcp 서버가 tool 목록으로 제공된 api 목록을 활용해서 자동으로 axios 호출 코드를 작성했다.
다양한 오픈소스들이 이미 mcp 서버 형태로 제공되서 개발 환경에 필요한 다양한 기능을 ai와 연동할 수 있다.