MCP-Access: Microsoft Access through an agent
MCP-Access
An MCP server with 69 tools for .accdb databases: forms, VBA, tables, queries and controls over COM, Windows only
- 67 ★ on the repository
- Last commit
Broad access
Why this level
- The agent changes forms, VBA and table structure of the database, and SQL and object deletion are available behind confirmation flags
- With MCP_ACCESS_ALLOW_CODE_EXEC on, the agent runs arbitrary VBA on your computer
Install
- Works in
Manual install
claude mcp add access -- python C:\path\to\access_mcp_server.pyThe README command. Use the real path to the server script and install pywin32 and pillow first.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- The agent changes forms, VBA and table structure of the database, and SQL and object deletion are available behind confirmation flags
- With MCP_ACCESS_ALLOW_CODE_EXEC on, the agent runs arbitrary VBA on your computer
This is third-party code. Review the repository files before installing.
What it does
MCP-Access drives an installed Microsoft Access through COM automation and gives the agent 69 tools. For forms and reports it offers create, clone, export, import and screenshots. VBA code can be read, written, replaced line by line or by whole procedure and compiled. Controls are created, changed and deleted, including those inside TabControl pages. For tables and SQL the server works through DAO: it creates and alters tables, runs queries and batches of statements and searches text across all Text and Memo fields. Linked ODBC tables, relationships, indexes, references, queries and macros are supported. Maintenance includes compact and repair, decompiling bloated databases and exporting structure to Markdown. The access_lint_form tool flags objectively broken layouts: white-on-white text, overlaps, truncation and off-canvas controls. The installed Office is autodetected. Running VBA and macros is off by default.
Who it is for. Developers and admins who maintain Microsoft Access databases with forms and VBA and want to speed up edits through an agent.
Good fit when
- A form with a list, date filters and a search button should be created from a description
- A click handler in VBA must be added to a form module and the project compiled
- An audit table with time, user and action fields should be created through DAO
- A bloated database needs compacting, repairing and a Markdown structure export
- Form layouts should be checked for white-on-white text and overlaps
Not a fit when
- You need macOS, Linux or web Access: the server uses COM and runs on Windows only
- Only the Access runtime is installed without the full program: full Microsoft Access 2010 or newer is needed
- Trusted access to the VBA object model is off: without it the VBA tools will not work
Example request
Create a form Invoices in the database with a list, two date filters and a search button, then add a VBA handler to the button.MCP
- Transport
- stdio
- Authentication
- not required
Environment variables
MCP_ACCESS_ALLOW_CODE_EXEC- Enables the VBA and macro run tools
Limitations
It works only on Windows with Microsoft Access installed, any version from 2010 that has a VBA editor, and Python 3.10 or newer. In the Trust Center you must enable trusted access to the VBA project object model, and the enable_vba_trust.ps1 script does it. The author tested the server only with Claude Code. Macro and VBA run tools execute arbitrary code, so they are enabled by a separate MCP_ACCESS_ALLOW_CODE_EXEC variable. Destructive SQL and object deletion need explicit confirmation flags. The repository states no license.
How to disable. Run claude mcp remove access. Delete the script and dependencies by hand and turn off trusted access to the VBA object model in the Access Trust Center.
FAQ
Which systems are supported?
Windows only, because automation goes through COM. Microsoft Access 2010 or newer and Python 3.10 or newer must be installed.
How do I enable running VBA?
Set the MCP_ACCESS_ALLOW_CODE_EXEC environment variable. Without it access_run_macro, access_run_vba and access_eval_vba refuse because they run arbitrary code.
Are destructive operations guarded?
Yes. Object deletion, DELETE, DROP and ALTER in SQL and field deletion need an explicit confirm or confirm_destructive flag.
What does access_lint_form do?
Checks a form for objective layout defects: white-on-white text, overlaps, truncated text and off-canvas controls. It is a checker and does not do design.
Can I edit existing forms and modules?
Yes, access_get_code exports an object definition as text and access_set_code imports the modified text back. Cloning preserves VBA and binary sections.
Discussion
No questions or reviews yet.
Related
MCP serversAn MCP server that knows every class, table and form in your D365FO code and checks X++ signatures before the agent writes code
An MCP server that lets an agent read files, search code and run commands in a workspace
MCP server for 1C over COM
mcp-1c-com
A Python MCP server connecting to a 1C infobase via V83.COMConnector, with nothing to install inside the base itself
1C metadata MCP proxy (adapted fork)
1C_MCP_SERVER_OWN
A Python proxy between an MCP client and a 1C HTTP service: reads metadata, object structure and predefined data, with optional OAuth2
An MCP server for SAP ABAP: an agent finds objects, reads and edits sources, checks syntax and handles transports through ADT
1C OData MCP with a JSON cache
MCP сервер для работы с OData 1C
A Python MCP server over 1C OData: reads and changes catalogs and documents, saving everything to JSON files for local analysis without repeat queries
README in short
The README shows example prompts, a feature list, requirements, dependency installation and enabling trusted VBA access. Registration in Claude Code and other clients and tool tables by group follow.