DevDb MCP Server

by damms005
Verified
MIT License
852
  • Linux
  • Apple

데브디비

데이터베이스를 자동으로 로드하고 데이터베이스에서 개발 및 디버깅을 지원하는 가벼운 VS Code 확장 프로그램입니다.

개발자를 위해 💖로 제작되었습니다.

특집에 소개됨

최신 기능

  1. Cursor, Windsurf 등에 연결하기 위한 MCP 서버
  2. 빠른 테이블 액세스: Cmd+K Cmd+G (Mac) 또는 Ctrl+K Ctrl+G (Windows/Linux)를 눌러 모든 테이블을 빠르게 엽니다.
  3. 새로운 제로 구성 지원: DDEV에서 실행되는 애플리케이션
  4. 새로운 제로 구성 지원: Adonis(Lucid ORM) - MySQL 및 PostgreSQL

스폰서

DevDb의 다음 후원사들에게 진심으로 감사드립니다.

  • Traycer AI - VS Code 워크플로에 기본적으로 통합된 강력한 AI 지원입니다.

특징

  • MCP 서버: Cursor, Windsurf 등의 AI 기반 IDE 및 MCP 클라이언트에 데이터베이스 정보를 제공합니다.
  • 빠른 테이블 열기 명령: Cmd+K Cmd+G (Mac) 또는 Ctrl+K Ctrl+G (Windows/Linux)를 눌러 모든 테이블을 빠르게 엽니다.
  • 구성 없는 데이터베이스 자동 검색: 수동 구성 없이 데이터베이스를 자동으로 검색하고 로드합니다. DDEV, Adonis, Laravel, 컨테이너화된 설정(Laravel Sail) 등의 환경을 지원합니다.
  • 로컬 개발을 위한 데이터베이스 지원: DevDb는 데이터베이스 스키마에 대한 심층적인 이해를 바탕으로 Eloquent 모델 팩토리의 원클릭 생성 등 개발 및 디버깅에 도움이 되는 지원을 제공할 수 있습니다.
  • 강력한 IDE 통합: DevDb는 데이터베이스와 IDE를 원활하게 통합하여 편집기에서 바로 컨텍스트 메뉴 및 CodeLens 통합과 같은 매우 유용한 IDE 기반 기능을 제공하고, 코드에서 테이블을 열거나 쿼리 최적화 작업을 수행할 때 SQL 쿼리 설명자를 호출하는 등의 기능을 제공합니다.
  • 직관적인 UX를 갖춘 풍부한 데이터베이스 클라이언트: 한 번의 클릭으로 데이터 검색, 인라인 편집, 삭제, 한 번의 클릭으로 재연결 등을 할 수 있는 전용 데이터베이스 클라이언트 뷰입니다. 반응형 인터페이스 내에서 복잡한 JSON 데이터를 쉽게 수정하고, 값을 null로 설정하고, 미리 볼 수 있습니다.
  • 데이터 내보내기: 테이블 데이터를 잘 정리된 JSON 또는 SQL INSERT 문으로 내보내 클립보드에 복사하거나 파일에 저장합니다.
  • 포괄적인 다중 데이터베이스 지원: SQLite, MySQL, MariaDB, PostgreSQL 및 Microsoft SQL Server와 원활하게 인터페이스할 수 있으며, 앞으로 더 많은 지원이 추가될 예정입니다!
  • 직관적인 구성 시스템: 자동 제로 구성이 불가능한 환경에서 DevDb는 잘 구성된 템플릿을 생성하는 빠른 스니펫과 JSON 스키마 검증 IntelliSense를 제공합니다. 이 모든 것이 데이터베이스 연결을 위한 구성 파일을 만드는 과정을 놀라운 경험으로 만들어줍니다.
  • 통합 프레임워크 및 도구 지원: Laravel, DDEV, Adonis 등 인기 프레임워크 및 도구에 대한 맞춤형 지원을 통해 원활한 개발 환경을 보장합니다. 귀사 환경에 맞는 특별 기능이 필요하신가요? 저희가 귀 기울여 듣겠습니다!
  • 크로스 플랫폼 호환성: Linux, macOS, Windows에서 일관되게 실행되도록 설계되어 모든 플랫폼에서 작업을 수행할 수 있으므로 최대한의 유연성이 보장됩니다.

스크린샷

요구 사항

OS/플랫폼 지원

  • 리눅스 *(Linux-x64, Linux-arm64, Linux-arm, Alpine-x64)
  • macOS(Darwin-x64, Darwin-arm64 Apple Silicon)
  • 윈도우(Win32-x64)


빠른 시작

[!NOTE] DevDb는 또한 여러 언어 및 프레임워크 통합을 제공합니다.

UI 액션 및 키 맵

  • Cmd + K + D 눌러 보기 패널을 전환합니다.
  • Cmd + K + G 눌러 테이블로 이동하세요
  • 사이드바에서 테이블 이름을 Cmd + Click 현재 탭에서 테이블이 열립니다.
  • Cmd + Click 편집합니다.
  • 창에서 미리 보려면 값을 클릭하세요(예쁜 JSON 문자열 값을 보는 데 유용함)
  • 오른쪽 창에는 현재 테이블 스키마 또는 선택한 값을 볼 수 있는 옵션이 제공됩니다.
  • 편집 세션(데이터 편집/삭제 중 활성화) 동안 제어 상자는 스크린샷에 표시된 대로 나타납니다.
  • 편집 세션 중: Cmd + Z 눌러 변경 사항을 취소하고, Cmd + Y 눌러 변경 사항을 다시 실행하고, Cmd + S 눌러 변경 사항을 저장합니다.
  • 새로운 "새로운 기능 제안" 버튼이 추가되었습니다.

원클릭 작업(데이터 조작)

  • 삭제하려면 테이블 행의 휴지통 아이콘을 클릭하세요.
  • 데이터베이스 값에서 Set null 버튼을 클릭하여 값을 null 로 설정합니다.

지원되는 데이터베이스

현재 지원되는 데이터베이스:

  • SQLite
  • MySQL
  • 마리아DB
  • 포스트그레스큐엘
  • 마이크로소프트 SQL 서버

데이터베이스 로딩

DevDb는 VS Code 작업 공간의 연결 정보를 사용하여 데이터베이스를 자동으로 검색하고 로드할 수 있습니다( 무구성 모드). 이 무구성 자동 검색 기능을 사용할 수 없는 경우, 구성 파일 옵션이 제공됩니다.

1. 제로 구성(자동 데이터베이스 검색)

작업 공간 루트에 다음 중 하나라도 포함되어 있는 경우 구성 파일이 필요하지 않습니다.

  1. DDEV 가 관리하는 애플리케이션
  2. MySQL 및 PostgreSQL(Lucid ORM 포함)에 대한 기본 .env 구성을 사용하는 Adonis
  3. 기본 로컬 SQLite 데이터베이스가 있는 Laravel
  4. MySQL/MariaDB, PostgreSQL 및 Microsoft SQL Server에 대한 기본 .env 구성을 사용하는 Laravel
  5. 기본 .env/docker-compose.yml 구성( 개발 컨테이너 지원 포함)을 갖춘 컨테이너화된 Laravel MySQL(Laravel Sail)

2. 구성 기반 데이터베이스 로딩

사용자 환경에서 제로 구성 지원을 사용할 수 없는 경우 프로젝트 루트에 데이터베이스 연결 세부 정보가 포함된 .devdbrc 파일을 만듭니다.

[!경고] .devdbrc 설정 파일을 .gitignore 에 추가하여 버전 관리에서 제외하세요. 이렇게 하면 민감한 정보를 보호하고 팀원들이 다양한 데이터베이스 구성을 사용할 수 있습니다.

구성 파일에는 데이터베이스 연결 객체의 단일 배열이 포함되어야 합니다. DevDb는 .devdbrc 에 대한 다양한 편집 기능을 제공합니다.

  • JSON 스키마 검증 : 자동 구성 검증
  • IntelliSense : type 포함한 모든 필드에 대한 자동 완성
  • 스니펫 : 빠른 구성 템플릿:
    • devdb mysql : MySQL 설정
    • devdb mariadb : MariaDB 설정
    • devdb postgres : PostgreSQL 구성
    • devdb sqlite : SQLite 구성
    • devdb mssql : Microsoft SQL Server 구성

구성 파일 예제

지엑스피1

도구 및 프레임워크 통합

컨텍스트 메뉴 항목

모든 프레임워크/프로그래밍 언어의 편집기에서 이름/모델/엔터티를 마우스 오른쪽 버튼으로 클릭하여 DevDb에서 모든 데이터베이스 테이블을 엽니다.

Node.js 앱의 예

라라벨

에로퀀트 모델 코드 렌즈

DevDb는 다음에 대한 Code Lens 기능을 제공합니다.

  • Eloquent 모델의 기본 테이블 보기
  • 모델에 대한 팩토리 생성(기본 테이블의 실제 데이터로 자동 사전 채워짐)

[!NOTE] 팩토리 생성은 컨텍스트 메뉴를 통해서도 사용할 수 있습니다.

쿼리 설명

Query Explainer는 MySQL Visual Explain 과 통합되어 MySQL의 쿼리 실행 계획을 분석하여 SQL 쿼리를 최적화합니다. 사용법:

  1. SQL 쿼리(Eloquent 또는 DB Facade)가 포함된 Laravel PHP 파일을 엽니다.
  2. 분석할 SQL 쿼리를 선택하세요
  3. Explain query 코드 렌즈를 클릭하거나 상황에 맞는 메뉴에서 Explain query 선택하세요.
  4. 브라우저에서 설명을 보거나 URL을 복사하세요

[!NOTE] VS Code의 다중 루트 작업 영역 지원은 현재 개발 중입니다. 진행 상황은 여기에서 확인하세요.

MCP 구성

  1. 스크린샷에 표시된 대로 망치 아이콘을 클릭하여 MCP 설정을 복사합니다.
  2. IDE의 MCP 설정 파일(예: .vscode/mcp.json , windsurf/mcp_config.json 등)에 복사한 JSON을 사용 가능한 MCP 서버 중 하나로 붙여넣습니다.

이제 IDE/AI 도구에서 데이터베이스 세부 정보를 사용할 수 있습니다.

URI 핸들러

DevDb는 외부 애플리케이션이나 링크에서 특정 데이터베이스 테이블을 직접 열 수 있는 사용자 지정 URI 핸들러를 제공합니다. 이는 DevDb를 다른 도구와 통합하거나 자주 액세스하는 테이블에 대한 바로가기를 만드는 데 유용합니다.

URI 형식

URI 형식은 다음 패턴을 따릅니다.

devdb://open/table?connectionId=123&database=main&table=users&workspace=...&authority=...

매개변수:

  • connectionId : 데이터베이스 연결의 ID
  • database : 데이터베이스 이름
  • table : 열 테이블 이름
  • workspace : (선택사항) 작업공간 경로
  • authority : (선택 사항) URI에 대한 권한

지원하다

DevDb 개발에 기여하거나 후원을 통해 DevDb 개발을 지원하실 수 있습니다. DevDb 후원에 대한 감사의 말씀을 전하며, 다양한 혜택을 누리실 수 있습니다. 후원 페이지 에서 이용 가능한 후원 옵션을 확인하세요.

또한 기존 후원사들에게 후원이나 구독을 통해 놀라운 서비스를 제공해 주셔서 감사의 말씀을 전하고 싶습니다.

기부금

[!중요] 현재 기여는 확장 핵심 코드에만 국한됩니다. UI 코드는 공개적으로 기여할 수 없습니다.

  1. 이 저장소를 포크하고 로컬에서 포크를 복제하세요.
  2. 종속성을 설치하려면 bun install 실행하세요.
  3. 코드베이스에 기여하세요
  4. F5 눌러 디버거를 시작하고 로컬에서 변경 사항을 테스트합니다.
  5. bun run test-services 사용하여 테스트 모음을 실행하고 모든 테스트가 통과하는지 확인하세요.
  6. 포크에 변경 사항을 푸시하세요
  7. 이 저장소에 PR을 엽니다
  8. 꽃을 가져가세요! 💐🌺🌹
ID: qnessxi9ej