-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
chore설정, 빌드, 의존성 등 유지보수설정, 빌드, 의존성 등 유지보수
Description
배경
최근 ChatGPT/Claude/Gemini 생태계에서 외부 앱 연동 방식이 빠르게 표준화(MCP, Function Calling, Actions/Connectors)되고 있어, loop 서버도 향후 AI 에이전트가 붙기 쉬운 형태로 준비가 필요합니다.
목표
- loop 서버를 AI와 쉽게 통합할 수 있는 기술 옵션을 비교합니다.
- MCP를 포함하되, MCP 외 대안(Function Calling / Actions / OpenAPI facade)도 함께 검토합니다.
- 우리 아키텍처(Spring Boot + DGS GraphQL, DDD/Clean Architecture)에 맞는 단계별 도입안을 제시합니다.
조사 요약
1) MCP 기반 연동 (가장 범용)
- OpenAI: Responses API에서 remote MCP tool 지원, ChatGPT Apps(구 Connector)와 연계 가능
- Claude: Tool Use + MCP 서버 도구 매핑 가능 (
inputSchema->input_schema) - Gemini/Google ADK: MCP toolset으로 MCP 서버 도구 사용 가능, Agent Engine 연동 사례 존재
- 장점: 공급자 종속 최소화, 도구 재사용성 높음
- 리스크: 인증(OAuth), prompt injection, 민감 액션 승인/감사 설계 필요
2) 모델별 네이티브 Function Calling
- OpenAI/Claude/Gemini 모두 JSON Schema(OpenAPI 호환 스키마) 기반 도구 호출 지원
- 장점: 구현 단순, MCP 런타임 없이 빠른 PoC 가능
- 단점: 공급자별 요청/응답 포맷 차이를 별도 어댑터로 관리해야 함
3) ChatGPT Actions/Connector 계열
- OpenAPI 기반 REST 액션 정의로 자연어→API 호출 브릿지 제공
- 장점: ChatGPT 내 UX 우수, 조직 도입시 빠름
- 단점: ChatGPT 중심이며, Claude/Gemini와 공통화하려면 추가 추상화 필요
4) 권장 방향 (초안)
- 단기: Function Calling 어댑터 + read-only 툴부터 시작
- 중기: 동일 툴 카탈로그를 MCP 서버로 노출해 멀티모델 공통화
- 장기: 쓰기 액션에 승인 워크플로우/감사로그/RBAC/멱등성 키 적용
loop 서버 적용 관점
- 현재 API가 GraphQL 중심이므로, AI 도구는 아래 중 하나로 노출
- GraphQL resolver를 호출하는 MCP server adapter
- AI 전용 얇은 REST facade(내부적으로 Application Service 재사용)
- 도메인 변경/쓰기 액션은
require_approval(또는 동등 개념) + human-in-the-loop 필수 - 도구 스키마는 JSON Schema 단일 소스로 관리하여 MCP/Function Calling/OpenAPI에 재사용
제안 작업 항목
- AI 통합 목표 유스케이스 선정 (조회형 2개, 액션형 1개)
- Tool Catalog 초안 작성 (이름/설명/입력스키마/권한/멱등성)
- read-only MCP PoC 1개 구현 (예: task/goal 조회)
- OpenAI/Claude/Gemini 최소 호출 시나리오 검증 (E2E 로그 포함)
- 보안 가드레일 정의 (OAuth, approval, audit logging, rate limit, PII 필터)
완료 기준
- 3개 모델 중 최소 2개에서 동일한 도메인 툴 호출 성공
- read-only MCP PoC 데모 가능
- 쓰기 액션 보안 정책 초안(승인/권한/감사) 문서화 완료
참고 자료
- MCP 소개: https://modelcontextprotocol.io/introduction
- OpenAI Function Calling: https://developers.openai.com/api/docs/guides/function-calling.md
- OpenAI MCP/Connectors: https://developers.openai.com/api/docs/guides/tools-connectors-mcp.md
- OpenAI MCP 서버 구축: https://developers.openai.com/api/docs/mcp.md
- OpenAI GPT Actions: https://developers.openai.com/api/docs/actions/introduction.md
- Claude Tool Use: https://docs.anthropic.com/en/docs/agents-and-tools/tool-use/overview
- Gemini Function Calling(Vertex): https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling
- Google ADK MCP Tools: https://google.github.io/adk-docs/tools-custom/mcp-tools/
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
chore설정, 빌드, 의존성 등 유지보수설정, 빌드, 의존성 등 유지보수