CAT
/MCP
SkillsMCPMarketplacesDigestToolsAdvertise

This week in Claude

Every Monday: Claude Code, Agent SDK, MCP, and the Anthropic platform moves worth your time.

Skills by Category
Frontend DevelopmentBackend & APIsTesting & QASecurityDevOps & CI/CDGit & Pull RequestsDocumentationCode Review & QualityAI & Agent BuildingSkill Development
MCP Servers by Category
Sales & MarketingWeb & Browser AutomationDatabasesAI & LLM ToolsCloud & InfrastructureCommunication & MessagingDeveloper ToolsDesign & CreativeDocuments & KnowledgeSearch & Web Crawling
Marketplaces by Category
AI Agents & OrchestrationLLM IntegrationDevelopment ToolsFrontend & UIBackend & APIsDatabasesTesting & Code QualityDevOps & CloudSecurity & ComplianceGit & Version Control

Cross AI Tools

Discover Claude Code plugins, extensions, and tools. Automatically updated directory of Anthropic Claude AI marketplaces with development tools, productivity plugins, and integrations.

Resources

  • Browse Skills
  • Browse MCP Servers
  • Browse Marketplaces
  • Plugins Reference

Community

  • About
  • Tools
  • Feedback
  • Privacy Policy
  • Advertise

Built for the Claude Code community with Claude Code by @mertduzgun

Independent project, not affiliated with Anthropic

Sqlite

ofershap/mcp-server-sqlite
215 toolsSTDIOregistry active
Summary

A TypeScript reimplementation of SQLite database access for MCP clients, since the official reference server is Python only. Exposes five tools: query (SELECT, PRAGMA, EXPLAIN, WITH), schema (all tables with columns and types), table_info (single table details), explain (query plan analysis), and list_databases (find .db files in a directory). Opens databases read-only by default so you can explore safely, but supports an opt-in write mode for mutations. Built for Node.js environments where you want Claude to inspect local SQLite files, run analytical queries, or help optimize slow statements. Works with Claude Desktop, Cursor, and VS Code through npx, no authentication needed since it's all local filesystem access.

CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →

Tools

Public tool metadata for what this MCP can expose to an agent.

15 tools
sqlite_queryExecute a SELECT query on the SQLite database and return rows as a JSON array. Use this for reading data — supports any valid SELECT statement with optional parameter binding for safe queries.2 params

Execute a SELECT query on the SQLite database and return rows as a JSON array. Use this for reading data — supports any valid SELECT statement with optional parameter binding for safe queries.

Parameters* required
sqlstring
SQL SELECT query to execute (e.g., "SELECT * FROM users WHERE age > ?")
paramsarray
Array of bind parameter values for ? placeholders (e.g., [25])
sqlite_executeExecute a write statement (INSERT, UPDATE, DELETE, CREATE, ALTER, DROP) on the SQLite database. Returns the number of rows changed and the last inserted row ID. Use parameter binding for safe writes.2 params

Execute a write statement (INSERT, UPDATE, DELETE, CREATE, ALTER, DROP) on the SQLite database. Returns the number of rows changed and the last inserted row ID. Use parameter binding for safe writes.

Parameters* required
sqlstring
SQL write statement to execute (e.g., "INSERT INTO users (name, age) VALUES (?, ?)")
paramsarray
Array of bind parameter values for ? placeholders (e.g., ["Alice", 30])
sqlite_run_scriptExecute multiple SQL statements in a single transaction. All statements succeed or all fail (atomic). Separate statements with semicolons. Use for migrations, seed data, or batch operations.1 params

Execute multiple SQL statements in a single transaction. All statements succeed or all fail (atomic). Separate statements with semicolons. Use for migrations, seed data, or batch operations.

Parameters* required
sqlstring
Multiple SQL statements separated by semicolons (e.g., "CREATE TABLE t1 (id INTEGER); INSERT INTO t1 VALUES (1);")
sqlite_list_tablesList all tables and views in the database with their row counts. Use this as the first step to explore an unfamiliar database. Returns table name, type (table or view), and row count.1 params

List all tables and views in the database with their row counts. Use this as the first step to explore an unfamiliar database. Returns table name, type (table or view), and row count.

Parameters* required
_fieldsstring
Comma-separated list of fields to return (e.g., "name,type,rowCount"). Leave empty for all fields.
sqlite_describe_tableGet the column schema of a table — column names, data types, NOT NULL constraints, default values, and primary key flags. Also returns the CREATE TABLE SQL statement.1 params

Get the column schema of a table — column names, data types, NOT NULL constraints, default values, and primary key flags. Also returns the CREATE TABLE SQL statement.

Parameters* required
tablestring
Table name to describe (e.g., "users")
sqlite_list_indexesList all indexes on a table — index name, uniqueness, origin (manual or auto-created), and whether it is a partial index.1 params

List all indexes on a table — index name, uniqueness, origin (manual or auto-created), and whether it is a partial index.

Parameters* required
tablestring
Table name to list indexes for (e.g., "users")
sqlite_list_foreign_keysList foreign key constraints on a table — referenced table, local and remote columns, ON UPDATE and ON DELETE actions.1 params

List foreign key constraints on a table — referenced table, local and remote columns, ON UPDATE and ON DELETE actions.

Parameters* required
tablestring
Table name to list foreign keys for (e.g., "orders")
sqlite_create_tableCreate a new table with column definitions. Each column has a name, type, and optional constraints (PRIMARY KEY, NOT NULL, UNIQUE, DEFAULT). Use ifNotExists to skip if the table already exists.3 params

Create a new table with column definitions. Each column has a name, type, and optional constraints (PRIMARY KEY, NOT NULL, UNIQUE, DEFAULT). Use ifNotExists to skip if the table already exists.

Parameters* required
tablestring
Name for the new table (e.g., "users")
columnsarray
Array of column definitions with name, type, and optional constraints
ifNotExistsboolean
Skip creation if table already exists (default: false)
sqlite_alter_tableAlter an existing table — add a new column, rename a column, or rename the table. SQLite does not support dropping columns via ALTER TABLE.9 params

Alter an existing table — add a new column, rename a column, or rename the table. SQLite does not support dropping columns via ALTER TABLE.

Parameters* required
typestring
Column data type (for add_column action, e.g., "TEXT", "INTEGER")
tablestring
Current table name to alter (e.g., "users")
actionstring
Alter action: "add_column" to add a new column, "rename_column" to rename a column, "rename_table" to rename the tableone of add_column · rename_column · rename_table
columnstring
New column name (for add_column action)
defaultvalue
Default value for new column (for add_column)
newNamestring
New column name (for rename_column action)
notNullboolean
Add NOT NULL constraint to new column (for add_column, default: false)
oldNamestring
Current column name to rename (for rename_column action)
newTableNamestring
New table name (for rename_table action)
sqlite_drop_tableDrop (delete) a table and all its data permanently. This action is irreversible. Use ifExists to avoid errors if the table does not exist.2 params

Drop (delete) a table and all its data permanently. This action is irreversible. Use ifExists to avoid errors if the table does not exist.

Parameters* required
tablestring
Table name to drop (e.g., "old_users")
ifExistsboolean
Skip if table does not exist instead of throwing error (default: false)
sqlite_create_indexCreate an index on one or more columns to speed up queries. Optionally create a UNIQUE index to enforce uniqueness. Index name is auto-generated if not provided.5 params

Create an index on one or more columns to speed up queries. Optionally create a UNIQUE index to enforce uniqueness. Index name is auto-generated if not provided.

Parameters* required
tablestring
Table to create the index on (e.g., "users")
uniqueboolean
Create a UNIQUE index to enforce uniqueness (default: false)
columnsarray
Array of column names to index (e.g., ["email"] or ["last_name", "first_name"])
indexNamestring
Custom index name (auto-generated as idx_table_col1_col2 if omitted)
ifNotExistsboolean
Skip if index already exists (default: false)
sqlite_drop_indexDrop (delete) an index by name. Does not affect the table data, only removes the index. Use ifExists to avoid errors if the index does not exist.2 params

Drop (delete) an index by name. Does not affect the table data, only removes the index. Use ifExists to avoid errors if the index does not exist.

Parameters* required
ifExistsboolean
Skip if index does not exist instead of throwing error (default: false)
indexNamestring
Name of the index to drop (e.g., "idx_users_email")
sqlite_get_infoGet database metadata — file path, file size, table count, page count, page size, journal mode, WAL status, encoding, and SQLite version. Use this to understand the database state.1 params

Get database metadata — file path, file size, table count, page count, page size, journal mode, WAL status, encoding, and SQLite version. Use this to understand the database state.

Parameters* required
_fieldsstring
Comma-separated list of fields to return (e.g., "path,size,tables"). Leave empty for all fields.
sqlite_vacuumOptimize and compact the database file by rebuilding it. Reclaims space from deleted rows and defragments the file. Returns file size before and after. May take time on large databases.1 params

Optimize and compact the database file by rebuilding it. Reclaims space from deleted rows and defragments the file. Returns file size before and after. May take time on large databases.

Parameters* required
_fieldsstring
Comma-separated list of fields to return (e.g., "sizeBefore,sizeAfter"). Leave empty for all fields.
sqlite_integrity_checkRun PRAGMA integrity_check to verify the database is not corrupted. Returns "ok" if the database is healthy, or a list of issues found. Use after crashes or suspicious behavior.1 params

Run PRAGMA integrity_check to verify the database is not corrupted. Returns "ok" if the database is healthy, or a list of issues found. Use after crashes or suspicious behavior.

Parameters* required
_fieldsstring
Comma-separated list of fields to return (e.g., "ok,errors"). Leave empty for all fields.

mcp-server-sqlite

npm version npm downloads CI TypeScript License: MIT

Query SQLite databases, inspect schemas, and explain queries from your AI assistant. Read-only by default for safety.

npx mcp-sqlite-server

Works with Claude Desktop, Cursor, VS Code Copilot, and any MCP client. Reads local .db files, no auth needed.

MCP server for querying SQLite databases and inspecting schemas

Demo built with remotion-readme-kit

Why

SQLite is everywhere. It's the default database for mobile apps, Electron apps, local-first tools, and increasingly for server-side projects too (Turso, Cloudflare D1, Bun's built-in SQLite). The official MCP reference includes a basic SQLite server, but it's Python-only. If you're working in a TypeScript/Node.js environment and want to ask your assistant "what tables are in this database?" or "run this query and show me the results," this server handles that. It opens the database read-only by default so you can explore safely, and you can opt into write mode when you need it.

Tools

ToolWhat it does
queryExecute SQL (SELECT, PRAGMA, EXPLAIN, WITH). Returns results as a table.
schemaGet full schema: all tables with columns, types, and row counts.
table_infoDetailed info for a single table: columns, constraints, row count.
explainRun EXPLAIN QUERY PLAN to optimize queries.
list_databasesList .db, .sqlite, .sqlite3 files in a directory.

Quick Start

Cursor

Add to .cursor/mcp.json:

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

Claude Desktop

Add to claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):

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

VS Code

Configure the MCP server in your VS Code settings to run npx mcp-sqlite-server.

Example prompts

  • "Show me the schema of my database at ./data.db"
  • "Query the users table: SELECT * FROM users LIMIT 10"
  • "Explain the query plan for this complex join"
  • "What tables are in this database?"
  • "Find all .db files in the current directory"

Safety

Read-only by default. The query tool accepts only SELECT, PRAGMA, EXPLAIN, and WITH in readonly mode. Set readonly=false in the tool args to enable INSERT, UPDATE, DELETE, etc.

Development

npm install
npm run typecheck
npm run build
npm test
npm run format
npm run lint

See also

More MCP servers and developer tools on my portfolio.

Author

Made by ofershap

LinkedIn GitHub


README built with README Builder

License

MIT © 2026 Ofer Shapira

Featured
CodeRabbit
CodeRabbit
AI writes the code. CodeRabbit catches the slop.
Try For Free →
Keep your Mac awake
Keep your Mac awake
Keep your Mac awake while Claude Code and 40+ AI agents run. Sleeps when they're idle.
One time payment $9 →
Context.devContext.dev
Context.dev
Integrate web data into your AI product. One API to scrape website & brand data.
Get API Key Now →
Make your agent a DeFi expert
Make your agent a DeFi expert
Agent, run crypto. Access onchain data & trade routes via 1inch.
Install now →
Make money from your Skills
Make money from your Skills
On Capafy, your Skill runs online 24/7 as an agent product, and you get paid every time someone uses it.
Start earning →
AppSignal
AppSignal
Monitor with ease. Code with confidence.
Start Free Trial →
Categories
DatabasesData & Analytics
Registryactive
Packagemcp-sqlite-server
TransportSTDIO
UpdatedMar 10, 2026
View on GitHub

Related Databases MCP Servers

View all →
Postgres

ai.waystation/postgres

Connect to your PostgreSQL database to query data and schemas.
54
Read Only Local Postgres Mcp Server

hovecapital/read-only-local-postgres-mcp-server

MCP server for read-only PostgreSQL database queries in Claude Desktop
2
Database Mcp

cocaxcode/database-mcp

MCP server for database connectivity. Multi-DB (PostgreSQL, MySQL, SQLite), 19 tools.
1
Mcp Mysql

io.github.infoinlet-marketplace/mcp-mysql

Read-only MySQL/MariaDB for AI agents — query, list/describe tables, health. SQL-guarded.
Database Admin

io.github.cybeleri/database-admin

Database admin MCP: schema inspection, query optimization for PostgreSQL and MySQL
Postgres Secured (Aegis Zero-Trust)

io.github.yash-0620/postgres-mcp-secured

Enterprise PostgreSQL MCP secured by Aegis Zero-Trust to block unauthorized SQL injections.