SQLite MCP Server
by stevefordev
README.md
# π§ SQLite MCP Server: Zero-Config AI Sidekick
**SQLite MCP Server**λ AIκ° λΉμ μ λ‘컬 λ°μ΄ν°μ μ κ·Όνκ³ , λΆμνλ©°, μ§μμ κ΄λ¦¬ν μ μκ² λλ κ°μ₯ λ¨μνκ³ κ°λ ₯ν μΈν°νμ΄μ€μ
λλ€.
## π νλ‘μ νΈ μ² ν: "Zero-Configuration Sidekick"
1. **Zero-Config**: API Keyλ 볡μ‘ν μλ² μ€μ μ΄ νμ μμ΅λλ€. μ€μ§ `.db` νμΌ νλλ©΄ μΆ©λΆν©λλ€.
2. **Portable Brain**: νλ‘μ νΈ ν΄λλ§λ€ λ
립λ SQLite DBλ₯Ό λμ΄ AIκ° ν΄λΉ νλ‘μ νΈμ 'κΈ°μ΅'μ λ‘컬μ μ μ₯νκ³ κΊΌλ΄ μΈ μ μκ² ν©λλ€.
3. **Security First**: κ°λ ₯ν μ½κΈ° μ μ© λͺ¨λμ SQL νν°λ§μ ν΅ν΄ μμ ν λ°μ΄ν° κ΄λ¦¬λ₯Ό 보μ₯ν©λλ€.
## π μ£Όμ κΈ°λ₯
- π **Database Discovery**: νΉμ κ²½λ‘ λ΄μ λͺ¨λ SQLite νμΌ(`.db`, `.sqlite`, `.sqlite3`)μ μλμΌλ‘ μ€μΊν©λλ€.
- πΊ **Schema Introspection**: DBμ μ 체 ꡬ쑰λ₯Ό νμ
νμ¬ AIκ° λ°μ΄ν°μ λ§₯λ½μ μλ²½ν μ΄ν΄νκ² λμ΅λλ€.
- β‘ **Secure Querying**: `SELECT` μΏΌλ¦¬λ§ νμ©νλ κ°λ ₯ν 보μ λͺ¨λλ‘ λ°μ΄ν° λΆμμ μνν©λλ€.
- π **Note & Record Support**: AIκ° μμ΄λμ΄λ λ©λͺ¨λ₯Ό νΉμ DBμ μ¦μ κΈ°λ‘ν μ μλ μ μ© λꡬλ₯Ό μ 곡ν©λλ€.
- π **DB Creation**: νμν κ²½μ° μλ‘μ΄ SQLite λ°μ΄ν°λ² μ΄μ€ νμΌμ μ¦μ μμ±ν μ μμ΅λλ€.
## π¦ μ€μΉ λ° μ€μ
### 1. μ¬μ μꡬ μ¬ν
- [uv](https://github.com/astral-sh/uv) μ€μΉ κΆμ₯ λλ Python 3.10 μ΄μ.
### 2. μ¬μ© λ°©λ²
#### π¦ μ€μΉ λ° μ€ν (μΆμ²)
Windowsμ 보μ μ μ±
(Smart App Control λ±)μΌλ‘ μΈν΄ `uvx` μ¬μ© μ μ€νμ΄ μ°¨λ¨λ μ μμ΅λλ€. μ΄λ₯Ό λ°©μ§νκΈ° μν΄ ν¨ν€μ§λ₯Ό λ‘컬 λκ΅¬λ‘ μ€μΉνμ¬ μ¬μ©νλ κ²μ κΆμ₯ν©λλ€.
```bash
# uv μ¬μ© (κΆμ₯)
uv tool install sqlite-mcp-server
# λλ pip μ¬μ©
pip install sqlite-mcp-server
```
μ€μΉ νμλ μ΄λμλ λͺ
λ Ήμ΄λ‘ μ€νν μ μμ΅λλ€:
```bash
sqlite-mcp-server
```
#### β‘ uvx μ¬μ© (μ ν μ¬ν)
μ€μΉ μμ΄ λΉ λ₯΄κ² μ€νν΄λ³΄κ³ μΆμ λ μ¬μ©ν©λλ€ (Windowsμμ `os error 4551` λ°μ μ μ μ€μΉ λ°©λ²μ μ¬μ©νμΈμ):
```bash
uvx sqlite-mcp-server
```
### 3. MCP ν΄λΌμ΄μΈνΈ μ°λ
#### Gemini CLI (μΆμ²)
λ€μ λͺ
λ Ήμ΄λ₯Ό μ€ννμ¬ μλ²λ₯Ό μΆκ°ν©λλ€:
```bash
gemini mcp add sqlite-mcp uvx sqlite-mcp-server
```
μ§μ μ€μ νλ €λ©΄ `.gemini/settings.json` νμΌμ λ€μ μ€μ μ μΆκ°νμΈμ:
```json
{
"mcpServers": {
"sqlite-mcp": {
"command": "uvx",
"args": ["sqlite-mcp-server"]
}
}
}
```
#### Claude Desktop
Claude Desktop μ€μ νμΌμ λ€μ λ΄μ©μ μΆκ°νμΈμ:
```json
{
"mcpServers": {
"sqlite-mcp": {
"command": "uv",
"args": [
"tool",
"run",
"--from",
"sqlite-mcp-server"
]
}
}
}
```
#### Claude Code
λ€μ λͺ
λ Ήμ΄λ₯Ό μ€ννμ¬ μλ²λ₯Ό μΆκ°ν©λλ€:
```bash
claude mcp add sqlite-mcp -- uvx sqlite-mcp-server
```
## π§ μ 곡 λꡬ (Tools)
- `create_database(db_path)`: μλ‘μ΄ SQLite λ°μ΄ν°λ² μ΄μ€ νμΌμ μμ±ν©λλ€.
- `list_databases(path)`: μ§μ λ κ²½λ‘μ SQLite DB λͺ©λ‘μ λ°νν©λλ€.
- `search_databases(path, query)`: μ§μ λ κ²½λ‘ λ΄μ λͺ¨λ DBλ₯Ό κ²μνμ¬ νΉμ ν€μλ(ν
μ΄λΈλͺ
, 컬λΌλͺ
)κ° ν¬ν¨λ μμΉλ₯Ό μ°Ύμ΅λλ€.
- `get_schema_summary(db_path)`: DBμ λͺ¨λ ν
μ΄λΈκ³Ό μ»¬λΌ κ΅¬μ‘°λ₯Ό μμ½ν΄μ 보μ¬μ€λλ€.
- `list_tables(db_path)`: DB λ΄μ λͺ¨λ ν
μ΄λΈ λͺ©λ‘μ κ°μ Έμ΅λλ€.
- `describe_table(db_path, table_name)`: νΉμ ν
μ΄λΈμ μ€ν€λ§μ μν λ°μ΄ν°λ₯Ό 보μ¬μ€λλ€.
- `add_record(db_path, table_name, title, content)`: λ°μ΄ν°λ² μ΄μ€μ μλ‘μ΄ λ μ½λλ₯Ό μΆκ°ν©λλ€ (ν
μ΄λΈ μλ μμ± μ§μ).
- `execute_query(db_path, query)`: SELECT 쿼리λ₯Ό μ€ννμ¬ λ°μ΄ν°λ₯Ό λΆμν©λλ€.
## π κ°λ°μ κ°μ΄λ
```bash
# μμ‘΄μ± μ€μΉ
uv sync
# μλ² λ‘컬 μ€ν
uv run sqlite-mcp
```
## λΌμ΄μ μ€
MITTDQS
A3.7/5.0
Scored across 8 tools
Disambiguation5/5
Each tool has a clearly distinct purpose: database creation, table listing, schema inspection, querying, record insertion, and database search. No overlap or ambiguity between them.
Naming Consistency5/5
All tool names follow a consistent verb_noun pattern (e.g., create_database, list_tables, execute_query) using snake_case, making the set predictable and easy to navigate.
Tool Count5/5
8 tools cover essential SQLite operations like creating databases, inserting records, querying, and exploring schema. The number is well-scoped without being excessive or insufficient.
Completeness3/5
The tool set lacks update and delete operations, and execute_query is restricted to SELECT. This creates notable gaps for full CRUD coverage, though basic operations are present.
Maintenance
ActivityInactive
ResponsivenessNo issues