Access and SQLite MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add access-sqlite-mdb -- uv run --with fastmcp --with pandas --with sqlalchemy-access --with openpyxl fastmcp run path/to/repo/server.py
README.md

Enables AI interaction with Microsoft Access and SQLite databases

Databases MCP Server (Access and SQLite 3)

A simple MCP server to let AI interact with Microsoft Access and SQLite 3 databases. Supports import/export with CSV and Excel files, and store human-readable notes about files.

WARNING: This server has full access to databases, so it can read and modify any data in it. Use with caution to avoid data loss!

Configuration

To use this MCP server with Claude Desktop (or any other MCP host), clone the repo and add the following to your config.json:

{
  "mcpServers": {
    "access-mdb": {
      "command": "uv",
      "args": [
        "run",
        "--with", "fastmcp",
        "--with", "pandas",
        "--with", "sqlalchemy-access",
        "--with", "openpyxl",
        "fastmcp", "run",
        "path/to/repo/server.py"
      ],
    }
  }
}

Dev note: to use with uvx, we need to create a package and publish it to PyPI.

Supported Database Types

  • Microsoft Access: .mdb and .accdb files
  • SQLite 3: .db, .sqlite, and .sqlite3 files
  • In-memory SQLite: When no database path is specified

Available Tools

Database management:

  • list: List all active databases available in the server.
  • create: Create a new database file (for Microsoft Access, copies the empty.mdb template).
  • connect: Connect to an existing database file, or creates an in-memory database if the file is not specified.
  • disconnect: Close a database connection. For in-memory databases, this will clear all its data.

Data management:

  • query: Execute a SQL query to retrieve data from a database.
  • update: Execute a SQL query to insert/update/delete data in a database.
  • import_csv: Imports data from a CSV file into a database table.
  • export_csv: Exports data from a database table to a CSV file.
  • import_excel: Imports data from an Excel file into a database table.

Notes management:

  • read_notes: Reads notes from the specified file, or discovers notes in the specified directory.
  • write_notes: Writes notes to the specified file, or linked to the specified database.

Note: Excel export is not implemented, use haris-musa/excel-mcp-server instead. The main problem is tracking the index of the rows and columns in the Excel file, to correctly import/export data to the same cells, and/or insert new rows/columns. In addition, merged cells complicate the process, it would be too complex to implement.

Project structure

Main files:

Tests:

Documentation:

Scouting scripts, used in the first stages to develop basic functionality:

TODO

  • Add tool to create a new database, copying empty.mdb to the specified path.
  • Add the ability to connect to multiple databases at the same time.
  • Add tool to list all tables in the database.
  • Add tools to import/export data from/to CSV files.
  • Add tools to import data from/to Excel files.
  • Add prompt to guide AI asking info to the user about the database.
  • Store info about files (.AInotes files), to retrieve it later.
  • Add tool to remember imported/exported CSV and Excel files.

Tools (11)

listList all active databases available in the server.
createCreate a new database file.
connectConnect to an existing database file or create an in-memory database.
disconnectClose a database connection.
queryExecute a SQL query to retrieve data from a database.
updateExecute a SQL query to insert, update, or delete data in a database.
import_csvImports data from a CSV file into a database table.
export_csvExports data from a database table to a CSV file.
import_excelImports data from an Excel file into a database table.
read_notesReads notes from the specified file or directory.
write_notesWrites notes to the specified file or database.

Configuration

claude_desktop_config.json
{"mcpServers": {"access-mdb": {"command": "uv", "args": ["run", "--with", "fastmcp", "--with", "pandas", "--with", "sqlalchemy-access", "--with", "openpyxl", "fastmcp", "run", "path/to/repo/server.py"]}}}

Try it

Connect to my database file at ./data/inventory.accdb and list all available tables.
Run a SQL query to find all items in the 'products' table where the stock is less than 10.
Import the data from sales_report.csv into the 'sales' table in my SQLite database.
Read the notes associated with my project database to understand the schema changes.
Update the 'status' column to 'completed' for all records with ID 500 in the database.

Frequently Asked Questions

What are the key features of Access and SQLite MCP Server?

Supports Microsoft Access (.mdb, .accdb) and SQLite 3 databases. Allows SQL query execution and data modification. Enables data import and export via CSV and Excel files. Provides tools for managing human-readable notes about database files. Supports in-memory SQLite database operations.

What can I use Access and SQLite MCP Server for?

Automating data migration from CSV or Excel files into local databases. Querying legacy Microsoft Access databases using natural language. Maintaining documentation and notes directly alongside database files. Performing bulk updates or data cleanup tasks via AI-generated SQL.

How do I install Access and SQLite MCP Server?

Install Access and SQLite MCP Server by running: git clone https://github.com/scanzy/mcp-server-access-mdb

What MCP clients work with Access and SQLite MCP Server?

Access and SQLite MCP Server works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep Access and SQLite MCP Server docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare