Microsoft Access Database MCP Server
Give any AI assistant full control over Microsoft Access databases. Create forms, write VBA, design tables, manage controls, run queries, build relationships, and edit every corner of an .accdb - all through natural language. 68 tools that turn Access into something you can talk to. Its 40 documented tools cover access, vbe, form, table. It runs locally over stdio via the published package.
People connecting database tools to Claude, Cursor, VS Code, or another MCP client. The project is written in Python.
VERIFIED ACTIVE
LAST COMMIT 2026-07-30 · ★ 49 · #42 OF 151 MAINTAINED DATABASE · VERIFIED 2026-08-25
Python servers · how we verify → /methodology
01 · Install Microsoft Access Database
before you install - you'll need
Set MCP_ACCESS_ALLOW_CODE_EXEC before connecting.
Claude Code
claude mcp add unmateria-mcp-access -- uvx mcp-msaccess-database Claude Desktop / Cursor / VS Code - add to config
{
"mcpServers": {
"unmateria-mcp-access": {
"command": "uvx",
"args": [
"mcp-msaccess-database"
]
}
}
} Same JSON for Cursor. For VS Code, rename the top-level key from `mcpServers` to `servers`.
Using another client? Same JSON, different key
Claude Desktop · mcpServers
Cursor · mcpServers
VS Code · servers
Windsurf · mcpServers
Zed · context_servers
Cline · mcpServers
Roo Code · mcpServers
Continue · mcpServers
LibreChat · mcpServers
Gemini CLI · mcpServers
Codex CLI · mcp_servers
Full setup guides: every client.
02 · Evidence
Security posture
What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.
runs as local process (stdio) - runs on your machine with your user's permissions
license no standard license detected - usage rights unclear; check the repo before commercial use
pypi package mcp-msaccess-database - check the name against the project README before installing (PyPI has no namespace ownership)
registry namespace io.github.unmateria is GitHub-verified and matches the repo owner
03 · What Microsoft Access Database can do
Prose above is summarized from the project's README and registry record - no invented capabilities.
What you can build
With this server connected, an agent can create a new empty .accdb database file, close the COM session and release the .accdb file, list objects by type (table, module, form, report, query, macro, all). System tables filtered, and export an object's full definition as text.
The 40 tools it gives your agent
Extracted from the project's README - what Microsoft Access Database lets an agent do.
- access_create_database
- - Create a new empty .accdb database file
- access_close
- - Close the COM session and release the .accdb file
- access_list_objects
- - List objects by type (table, module, form, report, query, macro, all). System tables filtered
- access_get_code
- - Export an object's full definition as text
- access_set_code
- - Import modified text back (creates or overwrites)
- access_export_structure
- - Generate a Markdown index of all modules, forms, reports, queries
- access_delete_object
- - Delete a module, form, report, query, or macro. Requires confirm=true
- access_create_form
- - Create a new form without triggering the "Save As" MsgBox that blocks COM. Optional has_header for header/footer section, record_source (bind to table/query), d
- access_execute_sql
- - Run SQL via DAO - SELECT returns rows as JSON (limit default 500). DELETE/DROP/ALTER require confirm_destructive=true
- access_execute_batch
- - Execute multiple SQL statements in one call. Supports mixed SELECT/INSERT/UPDATE/DELETE with per-statement results, stop_on_error, and confirm_destructive
- access_table_info
- - Show table structure via DAO (fields, types, sizes, required, linked status)
- access_search_queries
- - Search text in the SQL of ALL queries at once (find which queries reference a table, field, or keyword)
show all 40 tools
- access_create_table
- - Create a table via DAO with full type, default, description and primary key support in one call. More robust than CREATE TABLE SQL
- access_alter_table
- - Modify table structure via DAO: add field, delete field (requires confirm=true), rename field
- access_vbe_get_lines
- - Read a line range from a VBA module without exporting the whole file
- access_vbe_get_proc
- - Get a procedure's code and position by name
- access_vbe_module_info
- - List all procedures with their line numbers
- access_vbe_replace_lines
- - Replace/insert/delete lines in a VBA module directly via VBE
- access_vbe_find
- - Search text in ONE specific module. To search all modules at once, use access_vbe_search_all
- access_vbe_search_all
- - Search text across ALL modules/forms/reports in the database at once
- access_vbe_replace_proc
- - Replace a full procedure by name (auto-calculates line bounds). Strips misplaced Option lines, runs structural health check
- access_vbe_patch_proc
- - Surgical find/replace within a procedure. Atomic by default (a failed patch writes nothing), case-insensitive anchors, optional require_unique, whitespace-toler
- access_vbe_append
- - Append code at the end of a module. Auto-strips Option Explicit/Option Compare to prevent misplacement
- access_list_controls
- - List all controls of a form/report with key properties. Controls inside Pages/OptionGroups include a parent field
- access_get_control
- - Get the full definition block of a specific control (finds controls inside Pages/OptionGroups)
- access_create_control
- - Create a new control via COM in design view. Supports class_name for ActiveX (type 119) ProgID initialization. Use type 128 (acWebBrowser) for native WebBrowser
- access_delete_control
- - Delete a control via COM
- access_set_control_props
- - Modify control properties via COM in design view
- access_set_multiple_controls
- - Modify properties of multiple controls in a single design-view session
- access_lint_form
- - Deterministic check for objectively-broken layout: contrast (WCAG), overlap, out-of-bounds, truncation, sibling inconsistency, zero-size/invisible. Returns verd
- access_export_text
- - Export form/report/module as text via SaveAsText. Does NOT open Design view. UTF-16 LE output
- access_import_text
- - Import form/report/module from text via LoadFromText. Replaces if exists. Auto-splits CodeBehindForm VBA
- access_get_db_property
- - Read a DB property (CurrentDb.Properties) or Access option (GetOption)
- access_set_db_property
- - Set a DB property or Access option - creates the property if it doesn't exist
- access_get_form_property
- - Read form or report properties (RecordSource, Caption, DefaultView, etc.). object_type required (form or report). Omit property_names for all
- access_set_form_property
- - Set form/report properties (RecordSource, Caption, DefaultView, HasModule, etc.) via COM in Design view
- access_list_linked_tables
- - List linked tables with source table, connection string, ODBC flag. name='X' returns one table; names_only=true is a light listing (no connect strings - use it
- access_relink_table
- - Change connection string and refresh link - auto-saves credentials (dbAttachSavePWD) when UID/PWD detected. relink_all=true updates all tables with the same ori
- access_list_relationships
- - List table relationships with field mappings and cascade flags
- access_create_relationship
- - Create a relationship between two tables (supports cascade update/delete)
Limitations (from the README)
- Access runs visible (Visible = True) so VBE COM access works correctly. - One Access instance is shared across all tool calls (singleton session). Opening a different .accdb closes the previous one. - COM thread isolation: All COM calls run in a dedicated single-thread executor (_com_executor) with CoInitialize(). This keeps COM in one STA thread while the asyncio event loop stays free for stdio I/O, preventing -32
04 · Who maintains Microsoft Access Database
Microsoft Access Database is maintained by unmateria. We track 2 MCP servers from unmateria - 2 actively maintained, 51 combined GitHub stars, oldest repo from Feb 2026. Full record: all servers from unmateria.
05 · Facts
- repository
- github.com/unmateria/mcp-access
- category
- database - ranked #42 of 151 actively-maintained database servers as of 2026-08-25.
- registry
- io.github.unmateria/msaccess-database (active, first published 2026-05-04 · 22 versions)
- packages
- pypi:mcp-msaccess-database
06 · Microsoft Access Database FAQ
Is Microsoft Access Database still maintained?
Yes - as of 2026-08-25, its last commit was 2026-07-30. We re-verify nightly.
What can Microsoft Access Database do?
With this server connected, an agent can create a new empty .accdb database file, close the COM session and release the .accdb file, list objects by type (table, module, form, report, query, macro, all). System tables filtered, and export an object's full definition as text.
How do I install Microsoft Access Database?
Run `uvx mcp-msaccess-database`. The README documents one environment variable (MCP_ACCESS_ALLOW_CODE_EXEC) to set first. Set MCP_ACCESS_ALLOW_CODE_EXEC before connecting. You can also paste the ready-made client config above.
Does Microsoft Access Database run locally?
Yes - it's a stdio server: it runs on your machine (via uvx) with your user's permissions. Your data stays local unless the server itself calls external APIs.
07 · Alternatives to Microsoft Access Database
Alternatives to Microsoft Access Database
Maintained database servers if Microsoft Access Database isn't the fit.
- Dbx Query databases from AI agents using connections configured in DBX. ★ 16,462 · 2026-08-25
- Toolbox for Databases MCP Toolbox for Databases enables your agent to connect to your database. ★ 16,249 · 2026-08-25
- Dbhub Minimal, token-efficient Database MCP Server for PostgreSQL, MySQL, SQL Server, SQLite, MariaDB ★ 3,395 · 2026-08-21
- Butterbase Ai MCP Server Butterbase MCP server - manage your backend: schemas, auth, functions, storage, RAG, deploys. ★ 3,225 · 2026-08-24
- Supabase MCP server for interacting with the Supabase platform ★ 2,871 · 2026-08-22
- MongoDB MCP Server MongoDB Model Context Protocol Server ★ 1,106 · 2026-08-24
Pairs well with
Servers that cover what Microsoft Access Database doesn't - only shown when the pairing reason fits the companion.
- Server Chart → data & analytics companion data & analytics · ★ 4,337
- Keboola MCP Server → data & analytics companion data & analytics · ★ 86
- Server Filesystem → filesystem companion filesystem · ★ 38,704
- X402 List MCP → filesystem companion filesystem · ★ 58
- Telnyx → API integration companion API integration · ★ 197
- Microsoft 365 MCP Server → API integration companion API integration · ★ 932
More database MCP servers · Upstash MCP Server · Can LII (vaquill-ai) · Local WP · Context Fabric · Quarry
More Python MCP servers · Contrast API · Release Gate · Vap E · Bastion (vaquarkhan) · Vaquill · see all