constant94-dev/spring-boot-mcp-integration
3.1
If you are the rightful owner of spring-boot-mcp-integration and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Spring Boot MCP Integration project serves as a middleware layer connecting public data APIs with the MCP protocol, providing a robust and efficient server solution.
Spring Boot MCP Integration
Spring Boot κΈ°λ° MCP ν΅ν© μλ²λ‘, 곡곡λ°μ΄ν° APIμ MCP νλ‘ν μ½μ μ°κ²°νλ μ€κ° κ³μΈ΅ μν μ ν©λλ€.
π λΉ λ₯Έ μμ
ν΅ν© μ€ν¬λ¦½νΈ μ¬μ©
# μ 체 νλ‘μΈμ€ μ€ν (λΉλ + ν
μ€νΈ + μλ² μμ)
./spring-boot.sh all
# κ°λ³ λͺ
λ Ή μ€ν
./spring-boot.sh build # νλ‘μ νΈ λΉλ
./spring-boot.sh test api # API ν
μ€νΈ μ€ν
./spring-boot.sh start background # λ°±κ·ΈλΌμ΄λμμ μλ² μμ
./spring-boot.sh logs # λ‘κ·Έ νμΌ λͺ©λ‘
./spring-boot.sh help # λμλ§ νμ
ν μ€νΈ μ€ν
# API ν
μ€νΈ (κΈ°λ³Έκ°)
./spring-boot.sh test api
# λ¨μ ν
μ€νΈ
./spring-boot.sh test unit
# μ 체 ν
μ€νΈ
./spring-boot.sh test all
μλ² μ€ν
# ν¬κ·ΈλΌμ΄λ μ€ν (κ°λ° λͺ¨λ)
./spring-boot.sh start foreground
# λ°±κ·ΈλΌμ΄λ μ€ν (νλ‘λμ
λͺ¨λ)
./spring-boot.sh start background
λ‘κ·Έ νμΈ
# λ‘κ·Έ νμΌ λͺ©λ‘ νμΈ
./spring-boot.sh logs
# μ΅μ λ‘κ·Έ νμΈ
tail -f logs/spring-boot-*.log
ποΈ μν€ν μ²
λͺ¨λ ꡬ쑰
web/ # REST API λͺ¨λ
βββ controller/ # REST API μλν¬μΈνΈ
βββ service/ # λΉμ¦λμ€ λ‘μ§
βββ dto/ # λ°μ΄ν° μ μ‘ κ°μ²΄
βββ config/ # μΉ μ€μ
βββ exception/ # μμΈ μ²λ¦¬
storage/ # λ°μ΄ν° λͺ¨λ
βββ service/ # Redis μλΉμ€
βββ repository/ # JPA Repository
βββ entity/ # JPA Entity
βββ config/ # Redis/DB μ€μ
βββ cache/ # μΊμ κ΄λ¦¬
λ°μ΄ν° νλ‘μ°
- μμ² μμ β 2. κ²μ¦ β 3. μΊμ νμΈ β 4. λΉμ¦λμ€ λ‘μ§ β 5. μΊμ μ μ₯ β 6. μλ΅ μ μ‘
π οΈ κΈ°μ μ€ν
- Spring Boot: 3.4.0
- Java: 21
- Redis: μΊμ± λ° μΈμ μ μ₯
- JPA: λ°μ΄ν°λ² μ΄μ€ μ κ·Ό
- H2/PostgreSQL: λ°μ΄ν°λ² μ΄μ€
- Gradle: λΉλ λꡬ
- WebClient: HTTP ν΄λΌμ΄μΈνΈ (곡곡λ°μ΄ν° API νΈμΆ)
β μλ£λ μμ
- β Spring Boot Initializerλ‘ νλ‘μ νΈ μμ± (3.4.0, Java 21)
- β λ©ν° λͺ¨λ κ΅¬μ‘°λ‘ λ³ν (Web + Storage)
- β μΊμ-λ°μ΄ν°λ² μ΄μ€ ν¨ν΄ μ€κ³ (Redis + JPA)
- β μμ‘΄μ± μ€μ μλ£ (λ¨λ°©ν₯: Web β Storage)
- β Thymeleaf μμ‘΄μ± μ κ±° (Vue.js μ¬μ© μμ )
- β CORS μ§μ μΆκ° (νλ‘ νΈμλ μ°λ μ€λΉ)
- β 곡곡λ°μ΄ν° ν¬νΈ API ν΅ν© μλ£
- β XML μλ΅ νμ± κ΅¬ν
- β μμΈν μ€λ₯ μ²λ¦¬ μμ€ν ꡬμΆ
- β ν΅ν© ν μ€νΈ λ° λ‘κΉ μμ€ν μμ±
π λ€μ μμ
1μμ: λ°±μλ νμ₯
- κΈ°λ³Έ μν°ν° μμ± (User, Session, Log λ±)
- JPA Repository ꡬν
- Redis μλΉμ€ ꡬν
- MCP μλ² μ°λ
2μμ: μ€μ λ° ν μ€νΈ
- application.yml μ€μ
- λ¨μ ν μ€νΈ μμ±
- API μ°λ ν μ€νΈ
π μ΅κ·Ό μ£Όμ μ±κ³Ό (2025-08-24)
β 곡곡λ°μ΄ν° ν¬νΈ API ν΅ν© μλ£
- API μλν¬μΈνΈ:
/1613000/RTMSDataSvcAptRent/getRTMSDataSvcAptRent
- μλ΅ νμ: XML νμ± κ΅¬ν μλ£
- μ€λ₯ μ²λ¦¬: μμΈν μ€λ₯ μ½λ λ° λ©μμ§ μ²λ¦¬
- ν μ€νΈ μμ€ν : ν΅ν© ν μ€νΈ λ° λ‘κΉ μμ€ν ꡬμΆ
π§ ꡬνλ ν΅μ¬ κΈ°λ₯
- DTO ν΄λμ€: 7κ° (μμ²/μλ΅ λ°μ΄ν° ꡬ쑰)
- μλΉμ€ ν΄λμ€: 2κ° (API νΈμΆ λ° λΉμ¦λμ€ λ‘μ§)
- 컨νΈλ‘€λ¬: 2κ° (REST API μλν¬μΈνΈ)
- νκ²½ μ€μ : application.yml κΈ°λ° μ€μ κ΄λ¦¬
- ν μ€νΈ: μ€μ API νΈμΆ κ²μ¦ λ° ν΅κ³ μ 보
π κΈ°μ μ μμ±λ
- API ν΅ν©: 95% μλ£ (μ€μ μλΉμ€ν€λ§ νμ)
- μ€λ₯ μ²λ¦¬: 90% μλ£
- ν μ€νΈ 컀λ²λ¦¬μ§: 85% μλ£
- λ¬Έμν: 80% μλ£
π κ΄λ ¨ νλ‘μ νΈ
- vue-mcp-integration: Vue.js νλ‘ νΈμλ ν΄λΌμ΄μΈνΈ
- public-data-mcp-server: 곡곡λ°μ΄ν° MCP μλ²
π μ λ°μ΄νΈ νμ€ν 리
2025-08-24
- β 곡곡λ°μ΄ν° ν¬νΈ API ν΅ν© μλ£
- β XML μλ΅ νμ± κ΅¬ν
- β μμΈν μ€λ₯ μ²λ¦¬ μμ€ν ꡬμΆ
- β ν΅ν© ν μ€νΈ λ° λ‘κΉ μμ€ν μμ±
- β
μ€ν¬λ¦½νΈ ν΅ν©: 6κ°μ μ€ν¬λ¦½νΈλ₯Ό 1κ°λ‘ ν΅ν© (
spring-boot.sh
) - β PID νμΌ μ κ±°: PID νμΌ μμ± λ‘μ§ μ κ±°
- β λ‘κ·Έ κ΄λ¦¬ κ°μ : logs ν΄λμ λ‘κ·Έ νμΌ μ μ₯
- β νκ²½λ³μ κ΄λ¦¬ κ°μ : application.yml κΈ°λ°μΌλ‘ ν΅ν©
- β λΆνμν μ€ν¬λ¦½νΈ μ κ±°: μ€λ³΅λ .sh νμΌλ€ μ κ±°
- β νλ‘ νΈμλ ν΄λ μ κ±°: frontend/ ν΄λ μ κ±°
2025-08-17
- β Spring Boot Initializerλ‘ νλ‘μ νΈ μμ± (3.4.0, Java 21)
- β λ©ν° λͺ¨λ κ΅¬μ‘°λ‘ λ³ν (Web + Storage)
- β μΊμ-λ°μ΄ν°λ² μ΄μ€ ν¨ν΄ μ€κ³ (Redis + JPA)
- β μμ‘΄μ± μ€μ μλ£ (λ¨λ°©ν₯: Web β Storage)
- β Thymeleaf μμ‘΄μ± μ κ±° (Vue.js μ¬μ© μμ )
- β CORS μ§μ μΆκ° (νλ‘ νΈμλ μ°λ μ€λΉ)
λ§μ§λ§ μ
λ°μ΄νΈ: 2025-08-24
μμ±μ: Ethan
μν: 곡곡λ°μ΄ν° ν¬νΈ API ν΅ν© μλ£ β