Skip to main content
Glama
fn_ora_mcp

fn_ora_mcp

by yeuidowanter

Oracle MCP 서버

Claude Code 안에서 Oracle DB 패키지 코드를 자연어로 조회하는 MCP 서버입니다.


사전 조건

  • Python 3.10 이상 (권장: 3.12)

  • Oracle DB 접속 가능한 읽기 전용 계정

    • ALL_SOURCE, ALL_OBJECTS, ALL_PROCEDURES 뷰 SELECT 권한 필요

  • Claude Code 설치


Related MCP server: code-rag-mcp

설치

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 연동 시 반드시 읽기 전용 전용 계정을 사용하세요.

Available Tools

3 tools
get_package_sourceC

Oracle 패키지 소스 조회.

Inputs: package_name (required), object_name. Returns: result

list_package_objectsB

패키지 내 함수/프로시저 목록 조회.

Inputs: package_name (required). Returns: result

search_packagesA

패키지명 패턴 검색. % 없으면 자동으로 %pattern% 적용.

Inputs: pattern (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.3/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool targets a distinct aspect: package search, listing contents, and source retrieval. No overlap exists.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern using snake_case: get_package_source, list_package_objects, search_packages.

    Tool Count4/5

    Three tools is lean but sufficient for a read-only Oracle package exploration server. No unnecessary tools.

    Completeness4/5

    Covers core read operations: search, list objects, get source. Minor gap in distinguishing package header vs body, but adequate for typical use.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      Not graded
      quality
      D
      maintenance
      Enables semantic code search and AI-powered Q\&A over vectorized repositories directly within Claude. It provides tools to search code chunks, answer questions grounded in source code, and inspect repository snapshot metadata.
      6 npm
      -
    • A
      license
      A
      quality
      D
      maintenance
      Enables semantic search over codebases using natural language queries, returning relevant code snippets with source locations. Integrates with Claude Code for automatic codebase exploration.
      1
      35 PyPI
      1
      MIT
    • F
      license
      A
      quality
      D
      maintenance
      Enables natural language code search across multiple local Git repositories, allowing users to register projects, search for code, and explore file structures through Claude.
      6
      -