Skip to main content
Glama
stevefordev

SQLite MCP Server

by stevefordev

🧠 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 필터링을 톡해 μ•ˆμ „ν•œ 데이터 관리λ₯Ό 보μž₯ν•©λ‹ˆλ‹€.

Related MCP server: anydb-mcp

πŸ›  μ£Όμš” κΈ°λŠ₯

  • πŸ” Database Discovery: νŠΉμ • 경둜 λ‚΄μ˜ λͺ¨λ“  SQLite 파일(.db, .sqlite, .sqlite3)을 μžλ™μœΌλ‘œ μŠ€μΊ”ν•©λ‹ˆλ‹€.

  • πŸ—Ί Schema Introspection: DB의 전체 ꡬ쑰λ₯Ό νŒŒμ•…ν•˜μ—¬ AIκ°€ λ°μ΄ν„°μ˜ λ§₯락을 μ™„λ²½νžˆ μ΄ν•΄ν•˜κ²Œ λ•μŠ΅λ‹ˆλ‹€.

  • ⚑ Secure Querying: SELECT 쿼리만 ν—ˆμš©ν•˜λŠ” κ°•λ ₯ν•œ λ³΄μ•ˆ λͺ¨λ“œλ‘œ 데이터 뢄석을 μˆ˜ν–‰ν•©λ‹ˆλ‹€.

  • πŸ“ Note & Record Support: AIκ°€ μ•„μ΄λ””μ–΄λ‚˜ λ©”λͺ¨λ₯Ό νŠΉμ • DB에 μ¦‰μ‹œ 기둝할 수 μžˆλŠ” μ „μš© 도ꡬλ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

  • πŸ“ DB Creation: ν•„μš”ν•œ 경우 μƒˆλ‘œμš΄ SQLite λ°μ΄ν„°λ² μ΄μŠ€ νŒŒμΌμ„ μ¦‰μ‹œ 생성할 수 μžˆμŠ΅λ‹ˆλ‹€.

πŸ“¦ μ„€μΉ˜ 및 μ„€μ •

1. 사전 μš”κ΅¬ 사항

  • uv μ„€μΉ˜ ꢌμž₯ λ˜λŠ” Python 3.10 이상.

2. μ‚¬μš© 방법

πŸ“¦ μ„€μΉ˜ 및 μ‹€ν–‰ (μΆ”μ²œ)

Windows의 λ³΄μ•ˆ μ •μ±…(Smart App Control λ“±)으둜 인해 uvx μ‚¬μš© μ‹œ 싀행이 차단될 수 μžˆμŠ΅λ‹ˆλ‹€. 이λ₯Ό λ°©μ§€ν•˜κΈ° μœ„ν•΄ νŒ¨ν‚€μ§€λ₯Ό 둜컬 λ„κ΅¬λ‘œ μ„€μΉ˜ν•˜μ—¬ μ‚¬μš©ν•˜λŠ” 것을 ꢌμž₯ν•©λ‹ˆλ‹€.

# uv μ‚¬μš© (ꢌμž₯)
uv tool install sqlite-mcp-server

# λ˜λŠ” pip μ‚¬μš©
pip install sqlite-mcp-server

μ„€μΉ˜ ν›„μ—λŠ” μ–΄λ””μ„œλ“  λͺ…λ Ήμ–΄λ‘œ μ‹€ν–‰ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

sqlite-mcp-server

⚑ uvx μ‚¬μš© (선택 사항)

μ„€μΉ˜ 없이 λΉ λ₯΄κ²Œ 싀행해보고 싢을 λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€ (Windowsμ—μ„œ os error 4551 λ°œμƒ μ‹œ μœ„ μ„€μΉ˜ 방법을 μ‚¬μš©ν•˜μ„Έμš”):

uvx sqlite-mcp-server

3. MCP ν΄λΌμ΄μ–ΈνŠΈ 연동

Gemini CLI (μΆ”μ²œ)

λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜μ—¬ μ„œλ²„λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€:

gemini mcp add sqlite-mcp uvx sqlite-mcp-server

직접 μ„€μ •ν•˜λ €λ©΄ .gemini/settings.json νŒŒμΌμ— λ‹€μŒ 섀정을 μΆ”κ°€ν•˜μ„Έμš”:

{
  "mcpServers": {
    "sqlite-mcp": {
      "command": "uvx",
      "args": ["sqlite-mcp-server"]
    }
  }
}

Claude Desktop

Claude Desktop μ„€μ • νŒŒμΌμ— λ‹€μŒ λ‚΄μš©μ„ μΆ”κ°€ν•˜μ„Έμš”:

{
  "mcpServers": {
    "sqlite-mcp": {
      "command": "uv",
      "args": [
        "tool",
        "run",
        "--from",
        "sqlite-mcp-server"
      ]
    }
  }
}

Claude Code

λ‹€μŒ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜μ—¬ μ„œλ²„λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€:

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 쿼리λ₯Ό μ‹€ν–‰ν•˜μ—¬ 데이터λ₯Ό λΆ„μ„ν•©λ‹ˆλ‹€.

🌟 개발자 κ°€μ΄λ“œ

# μ˜μ‘΄μ„± μ„€μΉ˜
uv sync

# μ„œλ²„ 둜컬 μ‹€ν–‰
uv run sqlite-mcp

λΌμ΄μ„ μŠ€

MIT

Available Tools

8 tools
add_recordA

Add a new record to the specified table in the database. If the table doesn't exist, it will be created with columns: id, title, content, and created_at.

ParametersJSON Schema
NameRequiredDescriptionDefault
db_pathYes
table_nameYes
titleYes
contentYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses the automatic table creation with specific columns, but does not address behavior if the table exists with different schema or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loads the main purpose, and adds conditional behavior without any fluff. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 0% schema coverage and no annotations, the description explains the core function and auto-creation, but lacks information about return values (even though output schema exists) and error conditions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must explain parameters. It mentions record fields (title, content) but does not explain db_path or table_name, leaving their meaning and constraints unclear.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool adds a record to a specific table and handles automatic table creation with fixed columns. This distinguishes it from siblings like list_tables or describe_table.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives like execute_query; it only implies its use for adding records, but does not exclude other methods.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_databaseB

Create a new empty SQLite database file at the specified path.

ParametersJSON Schema
NameRequiredDescriptionDefault
db_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only states the basic purpose but does not disclose important behavioral traits such as whether the file can be overwritten, required permissions, or error handling when the path is invalid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single short sentence, concise and front-loaded. However, it could include more structure or additional context without becoming verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one parameter, and an output schema exists. However, the description does not cover important context such as whether the directory must exist or what happens if a file already exists at that path, making it slightly incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description only mentions 'at the specified path' without adding any detail about the parameter format, constraints, or expected input beyond the schema name.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool creates a new empty SQLite database file at a given path, with a specific verb and resource. It clearly distinguishes from other tools like list_databases or execute_query which operate on existing databases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like list_databases or search_databases. There is no mention of prerequisites or context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

describe_tableA

Get the schema (columns) and a few sample rows from the specified table.

ParametersJSON Schema
NameRequiredDescriptionDefault
db_pathYes
table_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must cover behavior. It states outputs (schema and sample rows) but does not specify how many sample rows or any constraints (e.g., performance on large tables). The term 'a few' is vague but does not contradict any structured fields.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that front-loads the main action and result. Every word is necessary; no fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 parameters) and presence of an output schema, the description sufficiently explains the tool's purpose and output. However, it could clarify the number of sample rows or mention error handling, but these are minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should add meaning. It mentions 'specified table' but does not explain what db_path or table_name represent, leaving their semantics to the schema (which only provides types and names).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves schema and sample rows from a table, using specific verbs 'Get' and identifying the resource 'schema' and 'sample rows'. It distinguishes from siblings like execute_query (which runs arbitrary queries) and list_tables (which only lists names).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage after selecting a table, but provides no explicit guidance on when to use it versus alternatives like get_schema_summary or execute_query. No when-not-to-use or context are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execute_queryA

Execute a SELECT query on the specified SQLite database. Strictly enforced as READ-ONLY: only SELECT statements are allowed.

ParametersJSON Schema
NameRequiredDescriptionDefault
db_pathYes
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden and clearly discloses the read-only constraint and SELECT-only policy. It adds behavioral context beyond basic operation, though it does not detail error handling or concurrency behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, each essential. The first states the primary action, the second adds a critical constraint. No extraneous words, information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with 2 parameters and an output schema, the description covers the core purpose and restriction. However, it omits details like database path format, query limitations, and error handling. Given minimal complexity, it is decent but could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, yet the description adds no details about the parameters (db_path, query) beyond the schema. It does not specify expected formats, validation, or constraints, failing to compensate for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool executes SELECT queries, specifying the action (execute), resource (SQLite database), and scope (SELECT only). It distinguishes from siblings like add_record and create_database, which modify data or create structures.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states that only SELECT statements are allowed and that it is read-only, providing clear guidance on when to use (for reading data) and when not (for modifications). It implicitly points to siblings like add_record for writes, though not naming them directly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_schema_summaryB

Get a comprehensive summary of the entire database schema, including all tables and their column definitions.

ParametersJSON Schema
NameRequiredDescriptionDefault
db_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided; description states it returns schema summary but omits behavioral details like potential performance impact or necessary permissions for read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence that directly states the tool's function, but could be more structured by separating parameter info.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Output schema exists, so return values are covered; however, lack of parameter guidance and usage context leaves gaps for a one-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description provides no explanation of the required 'db_path' parameter (format, examples, or where to obtain it).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states verb 'Get' and resource 'comprehensive summary of the entire database schema', distinguishing it from siblings like describe_table (single table) and list_tables (table names).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage when a full schema overview is needed, but no explicit when-to-use or when-not-to-use compared to alternatives like describe_table.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_databasesA

List all SQLite database files (.db, .sqlite, .sqlite3) in the specified directory. Default is the current directory.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNo.

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It implies a read-only operation (listing files) but does not explicitly state that it is non-destructive, nor does it describe behavior like recursion depth or error handling.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences front-load the purpose and parameter, with no redundant or extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema and the simplicity of the tool, the description covers the primary purpose and parameter. It could optionally mention search depth (top-level only or recursive), but it is generally sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage on the 'path' parameter, but the description adds meaning by identifying it as a directory and noting the default. However, it lacks details on format, relative vs. absolute paths, or validation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists SQLite database files (.db, .sqlite, .sqlite3) in a specified directory. This specific verb+resource combination distinguishes it from sibling tools like list_tables and search_databases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for discovering database files in a directory, but it does not provide explicit guidance on when to use this tool versus alternatives or mention any prerequisites or caveats.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_tablesC

List all tables in the specified SQLite database.

ParametersJSON Schema
NameRequiredDescriptionDefault
db_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description must disclose behavioral traits. It only implies a read-only operation ('list') but does not explain behavior on missing databases, permissions, side effects, or output format. This is insufficient for a tool with no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence, which is concise and front-loaded. However, it sacrifices necessary detail for brevity, making it less helpful for an agent. It earns a 3 for being non-redundant but incomplete.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having an output schema, the description does not explain what the tool returns or any behavioral context. With no annotations and a single parameter that lacks clarification, the description is too sparse to provide a complete understanding for safe agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must add meaning beyond the schema. It mentions 'specified SQLite database' but does not explain the format, constraints, or examples for the 'db_path' parameter. The description adds minimal value over the schema definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list' and the resource 'all tables in the specified SQLite database'. This distinguishes it from siblings like 'list_databases' or 'describe_table', which target different resources or actions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or context that would help an agent decide between this and similar tools like 'get_schema_summary'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_databasesB

Search for a keyword in all SQLite databases within a directory. Searches table names and column names to help discover relevant data.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses it searches table and column names, but no annotations exist. Does not mention scope boundaries, error conditions, or performance considerations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no redundancy. Action and scope are front-loaded, second sentence adds relevant detail concisely.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Simple tool with two parameters and an output schema. Description is adequately complete for its complexity, though could mention that it targets SQLite databases only.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%; description only implies 'path' is a directory and 'query' is a keyword, but does not explicitly define them or provide format details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it searches a keyword across all SQLite databases in a directory, specifically table and column names. It distinguishes from siblings like list_databases or describe_table, though not explicitly stating the difference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives (e.g., list_tables, execute_query). Lacks when-not conditions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 8 tool updatesv0.1.7
    • First observedadd_record
    • First observedcreate_database
    • First observeddescribe_table
    • First observedexecute_query
    • First observedget_schema_summary
    • First observedlist_databases
    • First observedlist_tables
    • First observedsearch_databases

TDQS

A3.7/5.0
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

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
    Not graded
    quality
    C
    maintenance
    An MCP server that enables AI agents to interact with SQLite databases by querying schemas, executing SQL, and inspecting table metadata. It supports safe database access through configurable read-only modes, query timeouts, and dry-run execution plans.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Zero-config MCP server that empowers AI agents to safely query SQL and NoSQL databases like PostgreSQL, MySQL, SQLite, MongoDB, and Redis.
    24
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A read-only MCP server that enables LLMs to safely explore and query any SQLite database via natural language. It exposes tools for listing tables, describing schemas, and executing SELECT/WITH queries with built-in safety guards like write prevention and row limits.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that provides safe, read-only SQL access for AI agents to query databases (PostgreSQL, MySQL, SQLite) with schema awareness and guardrails.
    12
    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/stevefordev/sqlite-mcp'

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