Encrypted SQLite MCP Server
암호화된 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.jarfrom sqlite-jdbc-crypt)
빠른 시작
Cursor (원클릭 설치)
이 MCP 서버를 Cursor에 설치하는 가장 쉬운 방법은 Cursor MCP Store를 통하는 것입니다:
"Add to Cursor" 클릭
지시에 따라 데이터베이스 경로와 암호문을 구성
기타 MCP 클라이언트
이 서버는 모든 MCP 호환 클라이언트와 작동합니다. 설정 지침은 아래 구성 섹션을 참조하세요.
설치
Docker (권장)
GitHub Container Registry에서 사전 빌드된 Docker 이미지를 사용하세요:
docker pull ghcr.io/rosch100/mcp-encrypted-sqlite:latest
빠른 시작: Docker Desktop 설정은 DOCKER_QUICKSTART.md를 참조하세요.
상세 구성: 고급 옵션은 DOCKER_CONFIGURATION.md를 참조하세요.
소스에서
저장소를 클론하세요:
git clone https://github.com/rosch100/mcp-encrypted-sqlite.gitcd mcp-encrypted-sqlite프로젝트를 빌드하세요:
./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.jsonClaude Desktop (macOS):
~/Library/Application Support/Claude/claude_desktop_config.jsonClaude 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:--argsJSON의 선택적 불리언.true이면 SQLite URIfile:…?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 권장)
키 생성 및 키체인에 저장: 실행:
./store-key-in-keychain.sh --generate암호문 암호화: 실행:
./encrypt-passphrase.sh "your-plain-passphrase"
환경 변수가 설정되지 않으면 키가 키체인에서 자동으로 로드됩니다.
장점:
키는 macOS에 의해 안전하게 암호화되어 저장됩니다
환경 변수가 필요 없습니다
macOS 사용자 비밀번호로 자동 잠금 해제
모든 애플리케이션에서 시스템 전체에 작동
환경 변수 (크로스 플랫폼)
암호화 키 생성: 실행:
java -cp build/libs/mcp-encrypted-sqlite-VERSION.jar com.example.mcp.sqlite.config.PassphraseEncryption암호화 키 설정: 실행:
export MCP_SQLITE_ENCRYPTION_KEY="<your-generated-key>"암호문 암호화: 실행:
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: 4096kdf_iter: 256000cipher_hmac_algorithm: HMAC_SHA512cipher_kdf_algorithm: PBKDF2_HMAC_SHA512cipher_use_hmac: ONcipher_plaintext_header_size: 0
이 설정은 SQLCipher 4가 포함된 "DB Browser for SQLite" 등의 도구에서 사용하는 기본값과 일치합니다.
개발
개발 설정, 빌드, 테스트 및 프로젝트 구조는 DEVELOPMENT.md를 참조하세요.
보안 고려 사항
일반 보안
암호문구(Passphrases): 암호문구는 메모리에만 저장되며 절대 로그에 기록되지 않습니다
암호화된 암호문구: AES-256-GCM을 사용한 암호화된 암호문구를 구성 파일에 저장할 수 있습니다 (암호화된 암호문구 섹션 참조)
메모리: 복호화된 암호문구는 Java String(불변)으로 메모리에 남아 있습니다. 최대 보안을 위해
char[]배열 사용을 고려할 수 있지만, 현재는 구현되어 있지 않습니다.전송: 서버에 원격으로 접근할 때는 보안 전송 채널(예: 암호화된 세션)을 사용하세요
파일 권한: 데이터베이스 파일에 적절한 파일 시스템 권한이 설정되어 있는지 확인하세요
보안 모범 사례
AES-256-GCM 암호화를 사용하여 암호화된 암호문구를 사용하세요
PassphraseEncryption.generateKey()(256비트 / 32바이트)를 사용하여 강력한 키를 생성하세요암호화 키를 안전하게 저장하세요: macOS 키체인(macOS에서 권장) 또는 안전한 비밀 저장소를 사용하세요
암호화 키와 암호화된 암호문구를 동일한 구성 파일에 저장하지 마세요 - 래퍼 스크립트나 환경 변수를 사용하여 키를 안전하게 로드하세요 (자세한 내용은 DOCKER_CONFIGURATION.md 참조)
키를 주기적으로 교체하세요 - 교체 시 모든 암호문구를 새 키로 다시 암호화하세요
환경(개발, 스테이징, 프로덕션)마다 다른 키를 사용하세요
키나 암호화된 암호문구를 버전 관리에 커밋하지 마세요
비밀 정보가 포함된 구성 파일의 파일 권한을 제한하세요 (
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)을 확인하세요command및args필드의 경로를 확인하세요
2. JSON 파싱 오류
증상: 로그에 "Parse error" 표시
디버깅: 서버가 다음을 기록합니다:
수신된 JSON의 처음 500자
스택 추적이 포함된 정확한 예외
해결 방법:
MCP 구성의 JSON 구조를 확인하세요
JSON이 올바르게 이스케이프되었는지 확인하세요
필수 필드가 모두 있는지 확인하세요
3. 응답 누락 또는 잘못된 응답
증상: 요청에 응답하지 않거나 시간 초과 발생
디버깅: 서버가 다음을 기록합니다:
ID와 메서드가 포함된 각 수신 요청
응답 크기 및 상태
쓰기 후 플러시 상태
해결 방법:
STDOUT을 사용할 수 있는지 확인하세요 (시작 시 기록됨)응답 크기를 확인하세요 (매우 큰 응답은 문제를 일으킬 수 있음)
플러시가 성공했는지 확인하세요
4. 잘못된 요청
증상: "Invalid Request" 오류
디버깅: 서버가 다음을 기록합니다:
누락된 필드 (예:
method,id)JSON-RPC 버전 불일치
잘못된 매개변수
해결 방법:
모든 요청이 JSON-RPC 2.0 표준을 준수하는지 확인하세요
method및id필드가 있는지 확인하세요매개변수 구조를 확인하세요
5. 데이터베이스 연결 문제
증상: "Database error" 오류
디버깅: 서버가 다음을 기록합니다:
사용된 DB 경로 (기본값 vs. 재정의)
암호문구 상태 (암호화됨/복호화됨)
CipherProfile 구성
해결 방법:
로그의 DB 경로를 확인하세요
암호문구가 올바르게 복호화되었는지 확인하세요
CipherProfile 설정을 확인하세요
디버깅 기능 상세
서버는 자동으로 다음을 기록합니다:
시작 정보:
Java 버전 및 Java Home
운영 체제 정보
인자의 수와 내용
구성 파싱 상태
요청 처리:
번호와 길이가 포함된 각 수신 요청
JSON-RPC 검증
매개변수가 포함된 메서드 호출
응답 크기 및 상태
오류 처리:
스택 추적이 포함된 상세 예외 정보
사양에 따른 JSON-RPC 오류 코드
추가 디버그 데이터가 포함된 오류 응답
데이터베이스 작업:
사용된 구성 (기본값 vs. 재정의)
SQL 쿼리 (처음 100자)
결과 크기 및 영향받은 행 수
데이터베이스를 열 수 없음
암호문구가 올바른지 확인하세요
데이터베이스가 SQLCipher 4 기본값을 사용하는지 확인하세요 (또는 사용자 지정 암호 프로필 구성)
데이터베이스 파일 경로가 올바르고 접근 가능한지 확인하세요
로그 확인: 서버는 암호문구 복호화 및 DB 경로에 대한 상세 정보를 기록합니다
연결 문제
Java가 설치되었는지 확인하세요:
java -versionMCP 구성에서
JAVA_HOME이 올바르게 설정되었는지 확인하세요자세한 오류 메시지는 MCP 클라이언트 로그를 검토하세요
FTS (전문 검색) 테이블
서버는 접근 가능한 메타데이터가 없을 수 있는 FTS 가상 테이블을 자동으로 처리합니다. 이러한 테이블은 빈 열 목록으로 표시됩니다.
라이선스
Apache License, Version 2.0에 따라 라이선스가 부여됩니다. 자세한 내용은 LICENSE를 참조하세요.
타사 라이선스
sqlite-jdbc-crypt (Apache License 2.0) - 암호화 지원 SQLite JDBC 드라이버
Gson (Apache License 2.0) - Java용 JSON 라이브러리
JUnit Jupiter (Eclipse Public License 2.0) - 테스트 프레임워크
자세한 귀속 정보는 NOTICE를 참조하세요.
감사의 말
sqlite-jdbc-crypt - 암호화 지원 SQLite JDBC 드라이버
Model Context Protocol - MCP 사양
기여
기여를 환영합니다! Pull Request를 자유롭게 제출해 주세요. 지침은 CONTRIBUTING.md를 참조하세요.
지원
문제, 질문 또는 기여가 있으시면 GitHub에 이슈를 열어 주세요.
커피 한 잔 사주기
이 통합 기능이 마음에 드시나요? 커피 한 잔 사주시면 감사하겠습니다! 여러분의 지원은 제가 멋진 기능을 계속 개발하는 데 도움이 됩니다.
This server cannot be installed
Maintenance
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
- mcpOAuthcom.gibsonai
GibsonAI MCP server: manage your databases with natural language
An MCP server that provides read access to your cloud storage providers, bank accounts and more.
MCP server for AI dialogue using various LLM models via AceDataCloud
Related MCP Servers
- AlicenseAqualityDmaintenanceA zero-config MCP server that enables AI to access, analyze, and manage local SQLite databases with secure read-only querying and automatic schema discovery.8MIT
- FlicenseNot gradedqualityDmaintenanceMCP server that provides SQLite database operations. Allows AI assistants to query, modify and manage SQLite databases through the Model Context Protocol.
- AlicenseCqualityAmaintenanceAn MCP server for interacting with SQLite databases, enabling SQL query execution, schema inspection, and CRUD operations.7MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server providing SQLite database access for AI agents, enabling SQL execution, schema inspection, CRUD operations, and data export.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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