[STK6-01] Spring AI MCP Server 의존성 추가 및 기본 설정
작업 내용 (설계 의도)
변경 사항
build.gradle.kts에 Spring AI BOM과 MCP Server 스타터만 추가한다 (Anthropic·Tavily 스타터 제외). application.yml에 MCP 서버 메타 설정을 추가하고, stock-mcp.json을 resources/에 생성한다. McpServerConfig.kt에서 빈 설정을 확인한다. 이 티켓이 완료되어야 STK6-02~04가 병렬 착수 가능하다.
추가 파일
backend/src/main/resources/stock-mcp.json—claude -p실행 시 전달할 MCP 서버 목록 (stock SSE + Brave Search stdio)
stock-mcp.json 내용
{
"mcpServers": {
"stock": {
"type": "sse",
"url": "http://localhost:8080/mcp/sse"
},
"brave-search": {
"type": "stdio",
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-brave-search"],
"env": { "BRAVE_API_KEY": "${BRAVE_API_KEY}" }
}
}
}다이어그램
처리 흐름
flowchart LR Build[build.gradle.kts] --> BOM[spring-ai-bom:1.0.0] BOM --> MCP[spring-ai-starter-mcp-server-webmvc] Config[application.yml] --> McpMeta[MCP 서버 메타] Config --> ChatProp[chat.mcp-config-path] McpJson[stock-mcp.json] --> StockSSE[stock MCP SSE] McpJson --> BraveStdio[brave-search MCP stdio]
클래스 의존
flowchart LR SpringAiAutoConfig -->|creates| McpServer[SseMcpServerTransport] McpServer -->|exposes| SSEEndpoint[/mcp/sse]
테스트 케이스
- 빌드 성공 시
/mcp/sseGET 요청에 200 응답을 반환한다. spring.ai.mcp.server.enabled=false설정 시/mcp/sse가 404를 반환한다.stock-mcp.json이 유효한 JSON 형식임을 파싱으로 확인한다.claude --version이 PATH에서 정상 실행된다 (환경 사전 확인).