Skip to main content
Glama
rosch100

Encrypted SQLite MCP Server

by rosch100

암호화된 SQLite MCP 서버

암호화된 SQLite 데이터베이스용 MCP 서버

SQLCipher를 사용하여 암호화된 SQLite 데이터베이스 작업을 위한 Model Context Protocol (MCP) 서버입니다. 이 서버는 데이터베이스 구조 읽기, 테이블 쿼리, 암호화된 SQLite 데이터베이스에 대한 CRUD 작업을 위한 도구를 제공합니다.

모든 MCP 클라이언트와 호환 가능 (Cursor, Claude Desktop 등).

다음 앱의 암호화된 데이터베이스와 호환: MoneyMoney, 1Password, Signal, WhatsApp, Firefox, Telegram, KeePass 및 SQLCipher 암호화를 사용하는 기타 애플리케이션.

기능

  • 암호화된 SQLite 지원: SQLCipher 4 암호화 데이터베이스와 작동 - 이 MCP 서버의 핵심 차별점

  • 암호화된 암호문: macOS 키체인 통합을 통한 AES-256-GCM 암호화 암호문 지원

  • 데이터베이스 탐색: 테이블, 열, 인덱스 및 스키마 메타데이터 나열

  • 쿼리 지원: 임의의 SQL 쿼리 실행 (SELECT, INSERT, UPDATE, DELETE, DDL)

  • CRUD 작업: 필터링을 통한 행 삽입, 업데이트, 삭제

  • 구성 가능한 암호 프로파일: 다양한 SQLCipher 구성 지원

  • MCP 프로토콜: STDIO를 통한 전체 Model Context Protocol 구현

  • 보안: SQL 인젝션 방지를 위한 SQL 식별자 검증

  • 디버그 모드: MCP_DEBUG 환경 변수를 통한 선택적 디버그 출력

  • 입력 검증: 제한, 오프셋 및 식별자에 대한 포괄적인 검증

Related MCP server: mcp-sqlite

왜 암호화된 SQLite인가?

많은 인기 애플리케이션은 민감한 데이터를 보호하기 위해 암호화된 SQLite 데이터베이스(SQLCipher)를 사용합니다. 이 MCP 서버는 이러한 암호화된 데이터베이스와 작동하도록 특별히 설계되었습니다.

암호화된 SQLite 데이터베이스를 사용하는 애플리케이션

  • MoneyMoney (macOS): 암호화된 로컬 데이터베이스를 사용하는 금융 관리 앱

  • 1Password: 로컬 볼트 저장에 SQLCipher를 사용하는 비밀번호 관리자

  • Signal: SQLCipher로 보호된 메시지 데이터베이스를 사용하는 암호화 메시징 앱

  • WhatsApp: 로컬 메시지 저장에 암호화된 SQLite를 사용하는 메시징 앱

  • Firefox: 암호화된 로그인 데이터베이스에 SQLCipher를 사용하는 브라우저

  • Telegram: 암호화된 로컬 데이터베이스 저장을 사용하는 메시징 앱

  • KeePass: 암호화된 SQLite 데이터베이스 파일을 지원하는 비밀번호 관리자

이러한 애플리케이션이나 다른 SQLCipher 암호화 데이터베이스의 데이터에 접근해야 하는 경우, 이 MCP 서버가 필요한 도구를 제공합니다. 암호화된 데이터베이스의 암호문이 필요하다는 점에 유의하세요.

요구 사항

  • Java 21 이상 (JDK)

  • Gradle (래퍼 포함)

  • 암호화 지원이 포함된 SQLite JDBC 드라이버 (sqlite-jdbc-3.50.1.0.jar from sqlite-jdbc-crypt)

빠른 시작

Cursor (원클릭 설치)

이 MCP 서버를 Cursor에 설치하는 가장 쉬운 방법은 Cursor MCP Store를 통하는 것입니다:

  1. cursor.store/mcp/rosch100/mcp-encrypted-sqlite 방문

  2. "Add to Cursor" 클릭

  3. 지시에 따라 데이터베이스 경로와 암호문을 구성

기타 MCP 클라이언트

이 서버는 모든 MCP 호환 클라이언트와 작동합니다. 설정 지침은 아래 구성 섹션을 참조하세요.

설치

Docker (권장)

GitHub Container Registry에서 사전 빌드된 Docker 이미지를 사용하세요:

docker pull ghcr.io/rosch100/mcp-encrypted-sqlite:latest

빠른 시작: Docker Desktop 설정은 DOCKER_QUICKSTART.md를 참조하세요.

상세 구성: 고급 옵션은 DOCKER_CONFIGURATION.md를 참조하세요.

소스에서

  1. 저장소를 클론하세요:

    git clone https://github.com/rosch100/mcp-encrypted-sqlite.git

    cd mcp-encrypted-sqlite

  2. 프로젝트를 빌드하세요:

    ./gradlew build installDist

빌드 프로세스는 sqlite-jdbc-crypt releases에서 sqlite-jdbc-3.50.1.0.jar를 자동으로 다운로드하여 libs/ 디렉토리에 배치합니다.

실행 파일은 build/install/mcp-encrypted-sqlite/bin/mcp-encrypted-sqlite에서 사용할 수 있습니다.

구성

이 MCP 서버는 모든 MCP 호환 클라이언트 (Cursor, Claude Desktop 등)와 작동합니다. 구성 형식은 Model Context Protocol 사양을 따릅니다.

서버는 STDIO(표준 입력/출력)로 통신합니다. MCP 클라이언트 구성 파일에 다음 구성을 추가하세요:

구성 파일 위치:

  • Cursor: ~/.cursor/mcp.json

  • Claude Desktop (macOS): ~/Library/Application Support/Claude/claude_desktop_config.json

  • Claude Desktop (Windows): %APPDATA%\Claude\claude_desktop_config.json

  • 기타 클라이언트: 클라이언트 문서를 참조하세요

{
  "mcpServers": {
    "encrypted-sqlite": {
      "command": "/path/to/mcp-encrypted-sqlite/build/install/mcp-encrypted-sqlite/bin/mcp-encrypted-sqlite",
      "args": [
        "--args",
        "{\"db_path\":\"/path/to/your/database.sqlite\",\"passphrase\":\"your-passphrase\"}"
      ]
    }
  }
}

선택적 매개변수:

  • transport: 기본값은 "stdio"입니다 (생략 가능)

  • cwd: 절대 경로를 사용할 때 필요하지 않습니다 (생략 가능)

  • immutable: --args JSON의 선택적 불리언. true이면 SQLite URI file:…?immutable=1 (파일 잠금 없음)로 DB를 엽니다. 다른 앱(예: MoneyMoney)이 독점적으로 잠근 DB를 들여다볼 때 사용하세요. 이 모드에서는 모든 쓰기 도구/SQL이 비활성화됩니다 (insert_or_update / delete_rows 제외; execute_sql는 읽기 전용 문만 허용).

  • env: Java가 시스템 PATH에 없거나 사용자 지정 Java 설치에 필요한 경우에만 필요합니다:

{
  "mcpServers": {
    "encrypted-sqlite": {
      "command": "/path/to/mcp-encrypted-sqlite/build/install/mcp-encrypted-sqlite/bin/mcp-encrypted-sqlite",
      "args": [
        "--args",
        "{\"db_path\":\"/path/to/your/database.sqlite\",\"passphrase\":\"your-passphrase\"}"
      ],
      "env": {
        "JAVA_HOME": "/path/to/java/home"
      }
    }
  }
}

Docker 구성

일반 암호문

{
  "mcpServers": {
    "encrypted-sqlite": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-v", "/path/to/your/database.sqlite:/data/database.sqlite:ro",
        "ghcr.io/rosch100/mcp-encrypted-sqlite:latest",
        "--args",
        "{\"db_path\":\"/data/database.sqlite\",\"passphrase\":\"your-passphrase\"}"
      ]
    }
  }
}

암호화된 암호문 (권장)

암호화된 암호문을 사용할 때는 암호화 키를 환경 변수로 전달해야 합니다:

{
  "mcpServers": {
    "encrypted-sqlite": {
      "command": "docker",
      "args": [
        "run", "--rm", "-i",
        "-e", "MCP_SQLITE_ENCRYPTION_KEY=your-encryption-key",
        "-v", "/path/to/your/database.sqlite:/data/database.sqlite:ro",
        "ghcr.io/rosch100/mcp-encrypted-sqlite:latest",
        "--args",
        "{\"db_path\":\"/data/database.sqlite\",\"passphrase\":\"encrypted:your-encrypted-passphrase\"}"
      ]
    }
  }
}

중요 참고 사항:

  • -e 플래그는 -v 플래그보다 앞에 와야 합니다

  • macOS 키체인은 Docker 컨테이너에서 접근할 수 없습니다 - 암호화 키를 명시적으로 전달하세요

  • 암호화 키 가져오기: security find-generic-password -s "mcp-encrypted-sqlite" -a "encryption-key" -w

  • 데이터베이스 파일은 기본적으로 읽기 전용(:ro)으로 마운트됩니다. 쓰기 접근이 필요하면 :ro를 제거하세요

보안 경고: 암호화 키와 암호화된 암호문을 구성 파일에 일반 텍스트로 저장하는 것은 보안 위험입니다. 안전한 대안은 DOCKER_CONFIGURATION.md를 참조하세요.

사용자 지정 암호 프로파일

구성 JSON에 cipherProfile을 포함하여 기본 SQLCipher 4 설정을 재정의하세요:

{
  "mcpServers": {
    "encrypted-sqlite": {
      "command": "/path/to/mcp-encrypted-sqlite/build/install/mcp-encrypted-sqlite/bin/mcp-encrypted-sqlite",
      "args": [
        "--args",
        "{\"db_path\":\"/path/to/your/database.sqlite\",\"passphrase\":\"your-passphrase\",\"cipherProfile\":{\"name\":\"SQLCipher 4 defaults\",\"pageSize\":4096,\"kdfIterations\":256000,\"hmacAlgorithm\":\"HMAC_SHA512\",\"kdfAlgorithm\":\"PBKDF2_HMAC_SHA512\"}}"
      ]
    }
  }
}

참고: cipherProfile의 모든 필드는 선택 사항입니다 - 기본값에서 재정의하려는 필드만 지정하세요. 개별 도구 호출에서도 cipherProfile을 지정할 수 있지만, 일관성을 위해 MCP 서버 구성에서 한 번에 구성하는 것이 좋습니다.

암호화된 암호문

보안을 강화하기 위해 암호문을 암호화된 형태로 저장할 수 있습니다. 서버는 AES-256-GCM 암호화를 사용하며, 인증된 암호화를 제공하고 안전하고 빠릅니다.

macOS 키체인 (macOS 권장)

  1. 키 생성 및 키체인에 저장: 실행: ./store-key-in-keychain.sh --generate

  2. 암호문 암호화: 실행: ./encrypt-passphrase.sh "your-plain-passphrase"

환경 변수가 설정되지 않으면 키가 키체인에서 자동으로 로드됩니다.

장점:

  • 키는 macOS에 의해 안전하게 암호화되어 저장됩니다

  • 환경 변수가 필요 없습니다

  • macOS 사용자 비밀번호로 자동 잠금 해제

  • 모든 애플리케이션에서 시스템 전체에 작동

환경 변수 (크로스 플랫폼)

  1. 암호화 키 생성: 실행: java -cp build/libs/mcp-encrypted-sqlite-VERSION.jar com.example.mcp.sqlite.config.PassphraseEncryption

  2. 암호화 키 설정: 실행: export MCP_SQLITE_ENCRYPTION_KEY="<your-generated-key>"

  3. 암호문 암호화: 실행: java -cp build/libs/mcp-encrypted-sqlite-VERSION.jar com.example.mcp.sqlite.util.EncryptPassphrase "your-plain-passphrase"

사용법

구성에서 암호화된 암호문(encrypted: 접두사 포함)을 사용하세요:

macOS 키체인 사용 시 (권장):

{
  "mcpServers": {
    "encrypted-sqlite": {
      "command": "/path/to/mcp-encrypted-sqlite/build/install/mcp-encrypted-sqlite/bin/mcp-encrypted-sqlite",
      "args": [
        "--args",
        "{\"db_path\":\"/path/to/your/database.sqlite\",\"passphrase\":\"encrypted:<encrypted-passphrase>\"}"
      ]
    }
  }
}

참고: env 섹션이 필요 없습니다 - 키가 macOS 키체인에서 자동으로 로드됩니다.

환경 변수 사용 시 (크로스 플랫폼):

{
  "mcpServers": {
    "encrypted-sqlite": {
      "command": "/path/to/mcp-encrypted-sqlite/build/install/mcp-encrypted-sqlite/bin/mcp-encrypted-sqlite",
      "args": [
        "--args",
        "{\"db_path\":\"/path/to/your/database.sqlite\",\"passphrase\":\"encrypted:<encrypted-passphrase>\"}"
      ],
      "env": {
        "MCP_SQLITE_ENCRYPTION_KEY": "<your-encryption-key>"
      }
    }
  }
}

중요 보안 참고 사항:

  • 암호화 키는 반드시 사용 가능해야 합니다 (macOS 키체인 또는 MCP_SQLITE_ENCRYPTION_KEY 환경 변수)

  • 서버는 암호화된 암호문(encrypted:로 시작)을 자동으로 감지하고 복호화합니다

  • 강력한 키(256비트/32바이트)를 생성하려면 PassphraseEncryption.generateKey()를 사용하세요

  • AES-256-GCM은 인증된 암호화를 제공합니다

  • 약한 키는 자동으로 거부됩니다

사용 가능한 도구

list_tables

데이터베이스의 모든 테이블을 나열합니다. 기본적으로 테이블 이름만 표시하며, include_columns=true이면 열 세부 정보도 표시합니다.

매개변수:

  • db_path (구성된 경우 선택 사항): 데이터베이스 파일 경로

  • passphrase (구성된 경우 선택 사항): 데이터베이스 암호문

  • include_columns (선택 사항, 기본값: false): true이면 열 세부 정보도 반환

예시:

{
  "name": "list_tables",
  "arguments": {
    "include_columns": true
  }
}

get_table_data

선택적 필터링, 열 선택 및 페이지네이션 기능으로 테이블의 데이터를 읽습니다.

매개변수:

  • table (필수): 테이블 이름

  • columns (선택 사항): 선택할 열 이름의 배열

  • filters (선택 사항): 필터링을 위한 열-값 쌍의 객체

  • limit (선택 사항, 기본값: 200): 최대 행 수

  • offset (선택 사항, 기본값: 0): 페이지네이션 오프셋

예시:

{
  "name": "get_table_data",
  "arguments": {
    "table": "accounts",
    "columns": ["id", "name", "balance"],
    "filters": {"status": "active"},
    "limit": 50,
    "offset": 0
  }
}

execute_sql

임의의 SQL 문을 실행합니다 (SELECT, INSERT, UPDATE, DELETE, DDL).

보안 경고: 이 도구는 매개변수화 없이 원시 SQL을 실행합니다. 신뢰할 수 있는 SQL에만 사용하거나 이 도구를 호출하기 전에 적절한 검증 및 삭제를 수행했는지 확인하세요. 더 안전한 작업을 위해 매개변수화된 쿼리를 사용하는 다른 도구 (get_table_data, insert_or_update, delete_rows)를 사용하세요.

매개변수:

  • sql (필수): 실행할 SQL 문

예시:

{
  "name": "execute_sql",
  "arguments": {
    "sql": "SELECT COUNT(*) FROM transactions WHERE amount > 1000"
  }
}

insert_or_update

UPSERT 작업을 수행합니다 (충돌 시 INSERT 또는 UPDATE).

매개변수:

  • table (필수): 테이블 이름

  • primary_keys (필수): 기본 키 열 이름 배열

  • rows (필수): 삽입/업데이트할 행 객체 배열

예시:

{
  "name": "insert_or_update",
  "arguments": {
    "table": "accounts",
    "primary_keys": ["id"],
    "rows": [
      {"id": 1, "name": "Account 1", "balance": 1000.0},
      {"id": 2, "name": "Account 2", "balance": 2000.0}
    ]
  }
}

delete_rows

필터를 기반으로 테이블에서 행을 삭제합니다.

매개변수:

  • table (필수): 테이블 이름

  • filters (필수): 필터링을 위한 열-값 쌍의 객체

예시:

{
  "name": "delete_rows",
  "arguments": {
    "table": "transactions",
    "filters": {"status": "cancelled"}
  }
}

get_table_schema

테이블의 상세 스키마 정보를 검색합니다 (열, 인덱스, 외래 키, 제약 조건).

매개변수:

  • table (필수): 테이블 이름

예시:

{
  "name": "get_table_schema",
  "arguments": {
    "table": "accounts"
  }
}

list_indexes

테이블의 모든 인덱스를 나열합니다.

매개변수:

  • table (필수): 테이블 이름

예시:

{
  "name": "list_indexes",
  "arguments": {
    "table": "accounts"
  }
}

디버그 모드

서버는 MCP_DEBUG 환경 변수를 통한 선택적 디버그 출력을 지원합니다. 활성화하면 상세한 디버그 정보가 stderr에 기록됩니다 (stdout이 아닌 MCP 프로토콜 요구 사항 준수).

디버그 모드 활성화:

{
  "mcpServers": {
    "encrypted-sqlite": {
      "command": "/path/to/mcp-encrypted-sqlite/build/install/mcp-encrypted-sqlite/bin/mcp-encrypted-sqlite",
      "args": [
        "--args",
        "{\"db_path\":\"/path/to/your/database.sqlite\",\"passphrase\":\"your-passphrase\"}"
      ],
      "env": {
        "MCP_DEBUG": "true"
      }
    }
  }
}

디버그 출력 포함:

  • 서버 시작 정보 (Java 버전, OS, 인수)

  • 구성 파싱 세부 사항

  • 요청 처리 정보

  • 응답 크기 및 구조

  • 데이터베이스 연결 세부 사항

참고: 로그를 깨끗하게 유지하기 위해 디버그 출력은 기본적으로 비활성화되어 있습니다. 문제 해결 시에만 활성화하세요.

기본 암호 프로파일

서버는 기본적으로 SQLCipher 4 기본값을 사용합니다:

  • cipher_page_size: 4096

  • kdf_iter: 256000

  • cipher_hmac_algorithm: HMAC_SHA512

  • cipher_kdf_algorithm: PBKDF2_HMAC_SHA512

  • cipher_use_hmac: ON

  • cipher_plaintext_header_size: 0

이 설정은 SQLCipher 4가 포함된 "DB Browser for SQLite" 등의 도구에서 사용하는 기본값과 일치합니다.

개발

개발 설정, 빌드, 테스트 및 프로젝트 구조는 DEVELOPMENT.md를 참조하세요.

보안 고려 사항

일반 보안

  • 암호문구(Passphrases): 암호문구는 메모리에만 저장되며 절대 로그에 기록되지 않습니다

  • 암호화된 암호문구: AES-256-GCM을 사용한 암호화된 암호문구를 구성 파일에 저장할 수 있습니다 (암호화된 암호문구 섹션 참조)

  • 메모리: 복호화된 암호문구는 Java String(불변)으로 메모리에 남아 있습니다. 최대 보안을 위해 char[] 배열 사용을 고려할 수 있지만, 현재는 구현되어 있지 않습니다.

  • 전송: 서버에 원격으로 접근할 때는 보안 전송 채널(예: 암호화된 세션)을 사용하세요

  • 파일 권한: 데이터베이스 파일에 적절한 파일 시스템 권한이 설정되어 있는지 확인하세요

보안 모범 사례

  1. AES-256-GCM 암호화를 사용하여 암호화된 암호문구를 사용하세요

  2. PassphraseEncryption.generateKey() (256비트 / 32바이트)를 사용하여 강력한 키를 생성하세요

  3. 암호화 키를 안전하게 저장하세요: macOS 키체인(macOS에서 권장) 또는 안전한 비밀 저장소를 사용하세요

  4. 암호화 키와 암호화된 암호문구를 동일한 구성 파일에 저장하지 마세요 - 래퍼 스크립트나 환경 변수를 사용하여 키를 안전하게 로드하세요 (자세한 내용은 DOCKER_CONFIGURATION.md 참조)

  5. 키를 주기적으로 교체하세요 - 교체 시 모든 암호문구를 새 키로 다시 암호화하세요

  6. 환경(개발, 스테이징, 프로덕션)마다 다른 키를 사용하세요

  7. 키나 암호화된 암호문구를 버전 관리에 커밋하지 마세요

  8. 비밀 정보가 포함된 구성 파일의 파일 권한을 제한하세요 (chmod 600)

문제 해결

MCP 서버 통신 문제 디버깅

MCP 서버에는 통신 문제를 진단하는 데 도움이 되는 광범위한 디버깅 기능이 포함되어 있습니다.

로그 보기

MCP 클라이언트에서:

  • 클라이언트의 로그 출력을 확인하세요 (예: Cursor: 출력 패널 → "MCP Logs")

  • 모든 디버그 출력은 stderr로 기록됩니다

수동 테스트: 실행: ./build/install/mcp-encrypted-sqlite/bin/mcp-encrypted-sqlite --args '{"db_path":"/path/to/db.sqlite","passphrase":"secret"}' 2>&1 | tee mcp-debug.log

일반적인 통신 문제

1. 서버가 시작되지 않음

  • 증상: 로그가 보이지 않고, 서버가 응답하지 않음

  • 디버깅: 시작 로그를 확인하세요:

    • Java 버전이 기록됨

    • 인자가 기록됨

    • 구성 파싱이 기록됨

  • 해결 방법:

    • Java가 올바르게 설치되었는지 확인하세요

    • MCP 구성(mcp.json)을 확인하세요

    • commandargs 필드의 경로를 확인하세요

2. JSON 파싱 오류

  • 증상: 로그에 "Parse error" 표시

  • 디버깅: 서버가 다음을 기록합니다:

    • 수신된 JSON의 처음 500자

    • 스택 추적이 포함된 정확한 예외

  • 해결 방법:

    • MCP 구성의 JSON 구조를 확인하세요

    • JSON이 올바르게 이스케이프되었는지 확인하세요

    • 필수 필드가 모두 있는지 확인하세요

3. 응답 누락 또는 잘못된 응답

  • 증상: 요청에 응답하지 않거나 시간 초과 발생

  • 디버깅: 서버가 다음을 기록합니다:

    • ID와 메서드가 포함된 각 수신 요청

    • 응답 크기 및 상태

    • 쓰기 후 플러시 상태

  • 해결 방법:

    • STDOUT을 사용할 수 있는지 확인하세요 (시작 시 기록됨)

    • 응답 크기를 확인하세요 (매우 큰 응답은 문제를 일으킬 수 있음)

    • 플러시가 성공했는지 확인하세요

4. 잘못된 요청

  • 증상: "Invalid Request" 오류

  • 디버깅: 서버가 다음을 기록합니다:

    • 누락된 필드 (예: method, id)

    • JSON-RPC 버전 불일치

    • 잘못된 매개변수

  • 해결 방법:

    • 모든 요청이 JSON-RPC 2.0 표준을 준수하는지 확인하세요

    • methodid 필드가 있는지 확인하세요

    • 매개변수 구조를 확인하세요

5. 데이터베이스 연결 문제

  • 증상: "Database error" 오류

  • 디버깅: 서버가 다음을 기록합니다:

    • 사용된 DB 경로 (기본값 vs. 재정의)

    • 암호문구 상태 (암호화됨/복호화됨)

    • CipherProfile 구성

  • 해결 방법:

    • 로그의 DB 경로를 확인하세요

    • 암호문구가 올바르게 복호화되었는지 확인하세요

    • CipherProfile 설정을 확인하세요

디버깅 기능 상세

서버는 자동으로 다음을 기록합니다:

  • 시작 정보:

    • Java 버전 및 Java Home

    • 운영 체제 정보

    • 인자의 수와 내용

    • 구성 파싱 상태

  • 요청 처리:

    • 번호와 길이가 포함된 각 수신 요청

    • JSON-RPC 검증

    • 매개변수가 포함된 메서드 호출

    • 응답 크기 및 상태

  • 오류 처리:

    • 스택 추적이 포함된 상세 예외 정보

    • 사양에 따른 JSON-RPC 오류 코드

    • 추가 디버그 데이터가 포함된 오류 응답

  • 데이터베이스 작업:

    • 사용된 구성 (기본값 vs. 재정의)

    • SQL 쿼리 (처음 100자)

    • 결과 크기 및 영향받은 행 수

데이터베이스를 열 수 없음

  • 암호문구가 올바른지 확인하세요

  • 데이터베이스가 SQLCipher 4 기본값을 사용하는지 확인하세요 (또는 사용자 지정 암호 프로필 구성)

  • 데이터베이스 파일 경로가 올바르고 접근 가능한지 확인하세요

  • 로그 확인: 서버는 암호문구 복호화 및 DB 경로에 대한 상세 정보를 기록합니다

연결 문제

  • Java가 설치되었는지 확인하세요: java -version

  • MCP 구성에서 JAVA_HOME이 올바르게 설정되었는지 확인하세요

  • 자세한 오류 메시지는 MCP 클라이언트 로그를 검토하세요

FTS (전문 검색) 테이블

서버는 접근 가능한 메타데이터가 없을 수 있는 FTS 가상 테이블을 자동으로 처리합니다. 이러한 테이블은 빈 열 목록으로 표시됩니다.

라이선스

Apache License, Version 2.0에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE를 참조하세요.

타사 라이선스

자세한 귀속 정보는 NOTICE를 참조하세요.

감사의 말

기여

기여를 환영합니다! Pull Request를 자유롭게 제출해 주세요. 지침은 CONTRIBUTING.md를 참조하세요.

지원

문제, 질문 또는 기여가 있으시면 GitHub에 이슈를 열어 주세요.

커피 한 잔 사주기

이 통합 기능이 마음에 드시나요? 커피 한 잔 사주시면 감사하겠습니다! 여러분의 지원은 제가 멋진 기능을 계속 개발하는 데 도움이 됩니다.

Buy Me A Coffee

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    A zero-config MCP server that enables AI to access, analyze, and manage local SQLite databases with secure read-only querying and automatic schema discovery.
    8
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server that provides SQLite database operations. Allows AI assistants to query, modify and manage SQLite databases through the Model Context Protocol.
  • A
    license
    C
    quality
    A
    maintenance
    An MCP server for interacting with SQLite databases, enabling SQL query execution, schema inspection, and CRUD operations.
    7
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server providing SQLite database access for AI agents, enabling SQL execution, schema inspection, CRUD operations, and data export.
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rosch100/mcp-encrypted-sqlite'

If you have feedback or need assistance with the MCP directory API, please join our Discord server