fn_ora_mcp
Enables Claude Code to query Oracle DB package code using natural language, with tools to search, list, and retrieve package source code.
README
Oracle MCP 서버
Claude Code 안에서 Oracle DB 패키지 코드를 자연어로 조회하는 MCP 서버입니다.
사전 조건
- Python 3.10 이상 (권장: 3.12)
- Oracle DB 접속 가능한 읽기 전용 계정
ALL_SOURCE,ALL_OBJECTS,ALL_PROCEDURES뷰 SELECT 권한 필요
- Claude Code 설치
설치
1. 저장소 복사
git clone <저장소 URL>
cd oracle_mcp
2. Python 가상환경 생성 및 패키지 설치
# Python 3.12로 가상환경 생성
py -3.12 -m venv .venv
# 패키지 설치
.\.venv\Scripts\pip install fastmcp oracledb python-dotenv
3. 환경 변수 설정
.env.example을 복사해 .env를 만들고 실제 접속 정보를 입력합니다.
copy .env.example .env
.env 파일 편집:
ORACLE_HOST=192.168.0.1 # Oracle DB 서버 IP
ORACLE_PORT=1521 # 포트 (기본 1521)
ORACLE_SERVICE=ORCL # 서비스명 또는 SID
ORACLE_USER=readonly_user # DB 계정
ORACLE_PASSWORD=your_password # DB 비밀번호
ORACLE_SCHEMA=TARGET_SCHEMA # 조회 대상 스키마 (비워두면 ORACLE_USER 스키마 사용)
4. DB 연결 확인
.\.venv\Scripts\python verify_connection.py
아래와 같이 출력되면 성공:
[1/3] DB 연결 시도 중...
연결 성공
[2/3] ALL_SOURCE 조회 권한 확인 ...
ALL_SOURCE SELECT 가능
[3/3] ALL_OBJECTS 조회 권한 확인 ...
ALL_OBJECTS SELECT 가능
[OK] Phase 1 검증 완료 - DB 연결 및 권한 정상
Claude Code 연동
프로젝트 루트에 .mcp.json 생성
{
"mcpServers": {
"oracle-mcp": {
"command": "C:\\절대경로\\oracle_mcp\\.venv\\Scripts\\python.exe",
"args": ["C:\\절대경로\\oracle_mcp\\server.py"]
}
}
}
C:\\절대경로\\oracle_mcp부분을 실제 프로젝트 경로로 변경하세요. 예:C:\\Users\\홍길동\\source\\oracle_mcp
Claude Code 재시작
Claude Code를 완전히 종료 후 재시작하면 oracle-mcp 서버가 자동으로 연결됩니다.
사용법
Claude Code 채팅에서 자연어로 질문하면 됩니다.
패키지 검색
PKG_USER 로 시작하는 패키지 찾아줘
APPL 이 들어간 패키지 목록 알려줘
패키지 내 함수/프로시저 목록 조회
PKG_0000 패키지 안에 어떤 함수들이 있어?
패키지 전체 소스 조회
PKG_0000 패키지 소스 코드 보여줘
특정 함수/프로시저 코드 조회
PKG_0000 패키지의 FN_LOGIN 함수 코드 보여줘
PKG_MEMBER 의 PROC_UPDATE 프로시저 내용이 뭐야?
제공 툴 (MCP Tools)
| 툴 이름 | 파라미터 | 설명 |
|---|---|---|
get_package_source |
package_name, object_name(선택) |
패키지 전체 소스 또는 특정 함수/프로시저 코드 반환 |
list_package_objects |
package_name |
패키지 내 함수/프로시저 이름 목록 반환 |
search_packages |
pattern |
패키지명 패턴 검색 (% 없으면 자동으로 %pattern% 적용) |
모든 파라미터는 대소문자 구분 없이 동작합니다.
주의사항
- 조회 전용입니다. 패키지 코드 수정, 컴파일, 데이터 변경은 지원하지 않습니다.
.env파일에는 DB 자격증명이 포함되므로 절대 Git에 커밋하지 마세요. (.gitignore에 등록되어 있음).mcp.json도 경로 정보가 포함되므로 Git에 올리지 않는 것을 권장합니다.- 운영 DB 연동 시 반드시 읽기 전용 전용 계정을 사용하세요.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.