mcp-tutorial-1
SQLite MCP Server tutorial for Cursor, VS Code, Windsurf, and Claude Desktop. Zero-configuration setup with uvx, cross-platform support, and DXT extension included. Perfect for learning Model Context Protocol integration.
GitHub Stars
1
User Rating
Not Rated
Favorites
0
Views
20
Forks
1
Issues
1
SQLite MCP Server Tutorial (1)
This is the first tutorial for a Model Context Protocol (MCP) server for operating SQLite databases. Can be used with Cursor editor and other MCP-compatible clients.
Features
- SQLite database read/write operations
- SQL query execution
- Table creation, deletion, and modification
- Data insertion, updating, and deletion
- Schema inspection
Characteristics
- Zero configuration: Start using immediately without additional setup
- Complete SQL operation support: Full CRUD (Create, Read, Update, Delete) operations
- Cross-platform: Windows, macOS, Linux support
Setup
1. Database Initialization
If you need initial data, run init.sql using SQLite commands or a DB browser:
If SQLite3 is installed
# For bash, command prompt, zsh
sqlite3 database.db < init.sql
# For PowerShell
Get-Content .\init.sql | sqlite3.exe .\database.db
2. MCP Server Runtime Environment Installation
This repository uses uvx, so uv installation is required in advance.
# macOS
brew install uv
# Windows 11
winget install --id=astral-sh.uv
3. MCP Configuration File Placement
For Cursor: .cursor/mcp.json
For VS Code: .vscode/mcp.json
For Windsurf: .windsurf/mcp.json
This project places ./.cursor/mcp.json, ./.vscode/mcp.json, and ./.windsurf/mcp.json,
so they will be automatically recognized when the project is opened.
4. Setup Instructions
For Cursor
- Clone or download this repository
- Open this repository directory in Cursor
- Press
Shift + Ctrl + P(Windows/Linux)Cmd + Shift + P(MacBook) to
open the command palette - Type
openmcpand open the "Tools & Integrations" tab - Turn on the "sqlite" MCP server switch (green) from the "MCP Tools" section
For VS Code
- Clone or download this repository
- Open this repository directory in VS Code
- Press
Shift + Ctrl + P(Windows/Linux)Cmd + Shift + P(MacBook) to
open the command palette - Type
mcpliand select "MCP: List Servers" - Select "sqlite stopped" from the command palette and start it
For Windsurf
- Clone or download this repository
- Open this repository directory in Windsurf
- Press
Shift + Ctrl + P(Windows/Linux)Cmd + Shift + P(MacBook) to
open the command palette - Type
mcpliand select "MCP: List Servers" - Select "sqlite stopped" from the command palette and start it
Usage with Claude Desktop
To use MCP servers with Claude Desktop, build and install a DXT (Desktop Extensions) package.
The steps to build a DXT package for Claude Desktop are as follows:
# Common for bash, command prompt, PowerShell, zsh
# Navigate to dxt directory and build
cd dxt-src
npm run package
# Only PowerShell Commands Are Different
npm run package-ps
When the build succeeds, the dist/sqlite-mcp-server.dxt file will be generated.
Required Dependencies
Building the DXT package requires:
- Node.js 18 or higher
- Official DXT CLI (automatically installed when running npm run build)
Installation in Claude Desktop
- Build the DXT package using the above steps
- Drag and drop the generated
.dxtfile to Claude Desktop's Settings > Extensions screen - Give the database file path to "SQLite MCP Server" and turn on the "Enabled" switch (blue)
- If the database file exists at the specified location, the SQLite MCP server will become available
Troubleshooting
When MCP Server Fails to Start
- Confirm
uvis installed - Check internet connection (required for
uvxto download packages) - Verify the database file exists as
database.dbin the project root
When Database File Cannot Be Found
- Check write permissions for project directory
- Run
init.sqlwithsqlite3to create the database - Verify the database file path is correctly set in
mcp.jsonor "SQLite MCP Server" DXT
File Structure
mcp-tutorial-1/
├── init_ja.sql # Initial database schema and sample data (Japanese version)
├── init.sql # Initial database schema and sample data (English version)
├── README_ja.md # This file (Japanese version)
├── README.md # This file
├── database.db # SQLite database file (created during initialization)
├── .gitignore # Git exclusion settings
├── .cursor/mcp.json # MCP configuration file (for Cursor)
├── .vscode/mcp.json # MCP configuration file (for VS Code)
├── .windsurf/mcp.json # MCP configuration file (for Windsurf)
├── docs/ # Design documentation files
│ ├── DESIGN_ja.md # Design document (Japanese)
│ └── DESIGN.md # Design document (English)
├── dxt-src/ # DXT files for Claude Desktop
│ ├── .gitignore # DXT exclusion settings
│ ├── manifest.json # DXT manifest file
│ ├── icon.png # DXT icon image
│ ├── package.json # Package configuration for DXT
│ ├── README_ja.md # DXT-specific documentation (Japanese)
│ └── README.md # DXT-specific documentation (English)
└── dist/ # Build artifacts (.dxt files)
└── sqlite.dxt # Desktop extension for Claude Desktop
License
This project is released under the MIT License. See the LICENSE file for details.
The MCP SQLite Server is a Model Context Protocol (MCP) server that facilitates interaction with SQLite databases. It supports complete CRUD operations and allows for database exploration and execution of custom SQL queries. The setup is straightforward, requiring only the definition of a command in your IDE's MCP server settings to get started.
memory-bank-mcp-mongo is a TypeScript library designed for managing a memory bank using MongoDB. It provides functionalities for efficiently storing, retrieving, and updating data, allowing developers to easily perform database operations. Notably, it supports asynchronous processing, which can enhance performance.