Oracle의 Managed MCP Server를 AI Chat Client에 연결했습니다
AI 어시스턴트는 이제 단순히 대화하는 것 이상의 일을 합니다. Model Context Protocol (MCP)을 사용하여 외부 도구를 호출합니다.
OCI에서 Oracle의 managed MCP server를 테스트했습니다. 제 목표는 Oracle E-Business Suite 데이터베이스를 위한 읽기 전용 상태 확인(health check) 기능을 만드는 것이었습니다. AI에게 "데이터베이스가 가동 중인가요?" 또는 "어떤 매니저가 다운되었나요?"라고 물어보고 싶었습니다.
성공했습니다. AI 어시스턴트가 실시간 데이터베이스 상태 데이터를 가져오고 있습니다. 이 과정에서 배운 점들을 공유합니다.
The Setup
- OCI에서 managed MCP server 사용.
- 읽기 전용 사용자를 사용하여 데이터베이스에 연결.
- 인스턴스 개요 및 활성 세션을 위한 커스텀 SQL 도구 구축.
- MCP 및 OAuth를 통해 AI chat client 연결.
Key Lessons
Networking and Security MCP 서비스는 Oracle의 tenancy에서 실행됩니다. 단독으로는 사용자의 프라이빗 데이터베이스에 접근할 수 없습니다. VCN에 Private Endpoint를 연결해야 합니다. 보안을 위해 읽기 전용 데이터베이스 사용자로 연결하세요. 이를 통해 실수로 인한 쓰기 작업을 방지할 수 있습니다.
Watch the URL 모든 OCI MCP server URL에는
/20250830/과 같은 날짜 세그먼트가 포함됩니다. 오래된 날짜를 사용하면 HTTP 404 에러가 발생합니다. 이 에러는 인증 문제처럼 보일 수 있지만, 실제로는 잘못된 경로 때문입니다. 콘솔에서 정확한 URL을 복사하여 사용하세요.The OAuth Problem 많은 웹 기반 chat UI가 이 서버와 연동할 때 실패합니다. 이들은 서버를 통해 OAuth 설정을 찾으려고 시도합니다. Oracle은 인증되지 않은 요청에 대해 404를 반환하며, 이로 인해 로그인 흐름이 중단됩니다. 또한, headless 웹 UI는 대화형 로그인을 위한 브라우저가 없습니다.
Use User Tokens, Not App Tokens 브라우저를 건너뛰기 위해 client-credentials 토큰을 사용해 보았습니다. 인증은 되었지만 권한이 부족했습니다. Oracle의 역할(role)은 앱이 아닌 사용자에게 부여됩니다. 따라서
authorization_code(user) 토큰을 사용해야 합니다. 사용자가 역할을 보유하고 있으므로 토큰이 정상 작동합니다.Use Desktop Clients Claude Desktop이나 VS Code와 같은 데스크톱 클라이언트는 로그인용 내장 브라우저가 있어 잘 작동합니다. 404 discovery 문제를 우회하려면 정적 OAuth 메타데이터와 함께
mcp-remote를 사용하세요.
Quick Tips
- Windows에서는
npx대신npx.cmd를 사용하세요. - 동일한 OAuth callback port에서 두 개의 클라이언트를 실행하지 마세요.
TO_CHAR와 같은 SQL 날짜 포맷팅에서 콜론(:) 사용을 피하세요. 시스템이 이를 바인드 변수(bind variables)로 오해할 수 있습니다. 대신 raw date를 사용하세요.- 모든 RAC 인스턴스를 확인하려면
v$대신gv$뷰를 사용하세요.
AI 에이전트를 활용한 관리형 MCP는 거버넌스가 적용된 데이터베이스 작업에 유용합니다. 클라이언트를 배포 환경에 맞추고, 항상 읽기 전용 사용자를 사용하십시오.
학습 커뮤니티(선택 사항): https://t.me/GyaanSetuAi