Integrations
Uses .env files to securely store and manage configuration variables like API keys and database credentials
Enables SQL execution, schema inspection, and database migration management for PostgreSQL databases
Designed for integration with React Native PaveApp, providing database access capabilities
야즈다니-수파베이스-MCP-서버
Supabase PostgreSQL과 통합되고 자연어 쿼리 처리를 위해 Claude 3.7을 사용하는 MCP 서버로, React Native PaveApp과 통합되도록 설계되었습니다.
특징
- 스키마 검사 : 데이터베이스 스키마, 테이블, 열 및 관계 보기
- SQL 실행 : 안전 제어를 사용하여 SQL 쿼리 실행
- 마이그레이션 관리 : 데이터베이스 마이그레이션 보기 및 관리
- 자연어 처리 : Claude 3.7을 사용하여 자연어를 SQL로 변환
- 안전 제어 : 파괴적인 작업으로부터 보호
- 모의 데이터베이스 모드 : 라이브 데이터베이스 연결 없이 개발 및 테스트 지원
- 자동 폴백 메커니즘 : 데이터베이스 연결이 실패하면 모의 데이터로 우아하게 폴백합니다.
- 세션 풀러 지원 : 안정적인 연결을 위해 Supabase 세션 풀러를 사용합니다.
설치
필수 조건
- Python 3.8 이상
- Supabase PostgreSQL 데이터베이스에 대한 액세스(모의 모드에서 선택 사항)
- Anthropic API 키(Claude 통합용)
설정
- 저장소를 복제합니다.지엑스피1
- 종속성 설치:Copy
- 자격 증명을 사용하여
.env
파일을 만듭니다.Copy
용법
라이브 데이터베이스로 서버 실행
Supabase 데이터베이스 연결을 통한 일반 작업의 경우:
모의 데이터베이스로 서버 실행
라이브 데이터베이스 연결 없이 개발 또는 테스트하는 경우:
연결 테스트
실제 데이터베이스와 모의 데이터베이스 모두에서 연결을 테스트하려면:
자연어 테스트
자연어 쿼리를 사용하여 MCP 서버를 테스트할 수 있는 강력한 자연어 테스트 환경을 추가했습니다.
자연어 테스트 클라이언트는 다음을 제공합니다.
- 테스트를 위한 대화형 명령줄 인터페이스
- Claude를 사용한 자연어에서 SQL로의 변환
- Supabase 데이터베이스에 대한 SQL 실행
- 서식이 지정된 결과 표시
- 명령 기록 및 결과 저장 기능
시도해 볼 수 있는 자연어 쿼리 샘플:
- "공개 스키마의 모든 테이블을 보여주세요"
- "지난 달에 가입한 모든 사용자를 가져옵니다"
- "데이터베이스의 총 사용자 수는 얼마입니까?"
패키지로 설치
React Native PaveApp과의 통합
React Native를 위한 MCP 서버 설정
- 서버를 실행합니다 :
- 개발용:
improved_mock_server.bat
을 사용하여 모의 모드를 사용하세요. - 프로덕션의 경우: 데이터베이스 자격 증명이 올바른지 확인하고
run_server.py
실행하세요.
- 개발용:
- 서버에 접근 가능하게 만들기 :
- 로컬 개발의 경우: React Native가 로컬 네트워크에 액세스할 수 있는지 확인하세요.
- 프로덕션의 경우: 앱에서 액세스할 수 있는 서버를 호스팅하세요.
- React Native에서 연결 :
- MCP 클라이언트 라이브러리를 사용하여 서버에 연결합니다.
- 서버의 주소와 포트로 클라이언트를 구성합니다.
API 엔드포인트
MCP 서버는 MCP 프로토콜을 통해 액세스할 수 있는 다음 도구를 제공합니다.
get_schemas
: 모든 데이터베이스 스키마 나열get_tables
: 스키마의 테이블 나열get_table_schema
: 자세한 테이블 구조를 가져옵니다.execute_postgresql
: SQL 문 실행retrieve_migrations
: 데이터베이스 마이그레이션 나열generate_sql
: 자연어로부터 SQL 생성
문제 해결
연결 세부 정보
서버는 데이터베이스 연결을 위해 Supabase 세션 풀러를 사용합니다.
이 연결 형식은 특히 IPv4 네트워크에서 지속적인 연결을 유지하는 애플리케이션에 대해 Supabase에서 권장하는 연결 형식입니다.
연결 문제
Supabase에서 연결 문제가 발생하는 경우:
- Supabase 프로젝트가 활성화되어 있는지 확인하세요
.env
파일에서 데이터베이스 자격 증명이 올바른지 확인하세요.- Supabase 데이터베이스 설정에서 IP 주소가 허용되는지 확인하세요.
- 해당 지역에 맞는 풀러 호스트를 사용하고 있는지 확인하세요.
- 모의 데이터베이스 모드를 사용해 보세요:
USE_MOCK_DB=true
python test_pooler_connection.py
실행하여 풀러 연결을 구체적으로 테스트합니다.python connection_test.py
실행하여 포괄적인 연결 테스트를 실행하세요.
모의 데이터베이스 모드
이제 서버에는 개선된 모의 데이터베이스 지원이 포함됩니다.
- 연결에 실패하면 모의 데이터로 자동 폴백
- 실제 데이터와 모의 데이터 간의 일관된 인터페이스
- 모의 데이터가 사용될 때 명확한 표시
- 문제 해결을 위한 향상된 로깅
기여하다
기여를 환영합니다! 풀 리퀘스트를 제출해 주세요.
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
This server cannot be installed
Claude 3.7을 사용하여 Supabase PostgreSQL 데이터베이스에 대한 자연어 쿼리를 활성화하는 MCP 서버로, 사용자는 스키마를 검사하고, SQL을 실행하고, 마이그레이션을 관리하고, 자연어를 SQL 쿼리로 변환할 수 있습니다.