SQLite MCP Server
by aWiseKing
README.md
# SQLite MCP Server
This is a Model Context Protocol (MCP) server that provides access to a SQLite database. It allows AI assistants (like Trae) to query and modify SQLite databases directly.
## Features
- **Read Queries**: Execute `SELECT` queries to retrieve data.
- **Write Queries**: Execute `INSERT`, `UPDATE`, `DELETE` queries to modify data.
- **Schema Inspection**: List tables and describe table schemas.
- **Secure**: Runs locally on your machine.
## Prerequisites
- Python 3.10 or higher
- `pip` (Python package installer)
## Installation
1. Clone or download this repository.
2. Install the required dependencies:
```bash
pip install -r requirements.txt
```
## Usage
You can run the server directly from the command line:
```bash
python main.py --db path/to/your/database.sqlite
```
If the database file does not exist, it will be created automatically when you perform a write operation.
## Configuration in Trae
To use this MCP server in Trae, you need to add it to your MCP configuration file.
1. Open Trae.
2. Go to **Settings** -> **MCP Servers** (or edit the configuration file directly if you know the location, typically `~/.config/trae/config.json` or similar depending on OS).
3. Add the following configuration:
```json
{
"mcpServers": {
"sqlite": {
"command": "python",
"args": [
"absolute/path/to/sqlite_mcp/main.py",
"--db",
"absolute/path/to/your/database.sqlite"
]
}
}
}
```
**Note:**
- Replace `absolute/path/to/sqlite_mcp/main.py` with the full path to the `main.py` file in this project.
- Replace `absolute/path/to/your/database.sqlite` with the full path to your SQLite database file.
- On Windows, use double backslashes `\\` or forward slashes `/` in paths (e.g., `"C:\\Users\\Name\\sqlite_mcp\\main.py"`).
## API Documentation
### Tools
#### `read_query`
Executes a SELECT query on the SQLite database.
- **Input**: `query` (string) - The SQL SELECT query.
- **Output**: List of dictionaries representing the rows.
#### `write_query`
Executes an INSERT, UPDATE, or DELETE query.
- **Input**: `query` (string) - The SQL modification query.
- **Output**: Success message with row count.
#### `list_tables`
Lists all tables in the database.
- **Input**: None.
- **Output**: List of table names.
#### `describe_table`
Gets the schema for a specific table.
- **Input**: `table_name` (string).
- **Output**: List of column definitions.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues