Apidog MCP Server (HTTP)
HTTP 기반 Model Context Protocol (MCP) 서버로, API 문서를 AI 도구에서 활용할 수 있게 해줍니다.
기능
- API 엔드포인트 검색: 키워드로 API 검색
- 엔드포인트 상세 조회: 파라미터, 요청/응답 스키마 확인
- 스키마 조회: 모델/스키마 정의 조회
- 프로젝트 정보: API 통계 및 메타데이터
Requirements
- Node.js 18+
- pnpm
설치
pnpm install
설정
.env 파일:
PORT=3333
# 방법 1: Apidog 프로젝트 사용
APIDOG_ACCESS_TOKEN=your-token
APIDOG_PROJECT_ID=your-project-id
# 방법 2: OpenAPI/Swagger URL 직접 사용
APIDOG_OAS_URL=https://petstore3.swagger.io/api/v3/openapi.json
# 선택: MCP 서버 인증 (설정하지 않으면 인증 없이 접근)
MCP_API_KEY=your-mcp-api-key
실행
# 개발
pnpm dev
# 프로덕션
pnpm build
pnpm start
MCP 도구
| 도구 | 설명 |
|---|---|
apidog_search | 키워드로 API 엔드포인트 검색 |
apidog_get_endpoint | 특정 엔드포인트 상세 정보 조회 |
apidog_list_endpoints | 모든 엔드포인트 목록 |
apidog_get_schema | 스키마/모델 정의 조회 |
apidog_project_info | 프로젝트 정보 및 통계 |
apidog_refresh | 캐시 갱신 |
Claude Desktop 설정
claude_desktop_config.json:
{
"mcpServers": {
"apidog": {
"url": "http://localhost:3333/mcp",
"transport": "http"
}
}
}
인증 필요 시:
{
"mcpServers": {
"apidog": {
"url": "http://localhost:3333/mcp",
"transport": "http",
"headers": {
"x-api-key": "your-mcp-api-key"
}
}
}
}
API 테스트
# 헬스 체크
curl http://localhost:3333/mcp
# Initialize
curl -X POST http://localhost:3333/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{}}'
# 도구 목록
curl -X POST http://localhost:3333/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
# API 검색
curl -X POST http://localhost:3333/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"apidog_search","arguments":{"keyword":"user"}}}'
Docker
docker build -t apidog-mcp-server .
docker run -p 3333:3333 --env-file .env apidog-mcp-server