Microsoft Access Database
Resumen
Descripción del creador (original en inglés)
Read and edit Microsoft Access databases (.accdb/.mdb) - forms, VBA, tables, queries. Windows.
Los tres pilares de PopNx MCP
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
- Opinión de usuariosiAún no hay reseñasLas reseñas se abrirán junto con las cuentas en una etapa posterior
- Nuestras revisiones básicasi1 de 1 superadasRevisado con información pública; el código aún no se ha escaneado
- UsoiMuy nuevo↓ 262/sem · ★ –
Qué puedes hacer con él
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
- Conexión: Se ejecuta en tu computadora
- Transporte: stdio
- Categoría: Bases de datos y conjuntos de datos
Instalación
Elige la app de IA que usas y copia la configuración.
Antes de instalar
- Revisiones básicas: 1 de 1 superadas
- Se ejecuta en tu computadora con los permisos de tu usuario (archivos, red, apps).
- El registro no indica ninguna clave que completar.
Necesitas
- PyPIuv de Python instalado (para el comando uvx)
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"msaccess-database": {
"command": "uvx",
"args": [
"mcp-msaccess-database"
]
}
}
}Ejecuta esto en tu terminal
claude mcp add msaccess-database -- uvx mcp-msaccess-databaseO copia la configuración tú
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"msaccess-database": {
"command": "uvx",
"args": [
"mcp-msaccess-database"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
O copia la configuración tú
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"msaccess-database": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-msaccess-database"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Qué puede hacer
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisiones básicasi
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 8 nov 2026
- ✓ Superada
El creador coincide con el repo
El nombre en el registro se verificó con la cuenta de GitHub unmateria, dueña del repo
- … Aún sin revisar
Sigue en mantenimiento
Todavía no hemos leído este repo en GitHub
- … Aún sin revisar
Tiene licencia
Todavía no hemos leído este repo en GitHub
- – No aplica
El endpoint responde
Este se ejecuta en tu computadora; no hay endpoint en internet
- – No aplica
Inicio de sesión con OAuth
Se ejecuta en tu computadora y usa ajustes locales en su lugar
- … Aún sin revisar
Sin instrucciones ocultas en las descripciones de herramientas
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con otros en Bases de datos y conjuntos de datosi
- Más estrellas que el 0% de los otros 1144 servidores de esta categoría
- Publicado en el registro más recientemente que el 82% de los otros 1144 servidores de esta categoría
- Revisiones básicas iguales o mejores que el 100% de los otros 1144 servidores de esta categoría
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Preguntas frecuentes
¿Es seguro Microsoft Access Database?
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
¿Qué claves o códigos necesita?
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
¿Se ejecuta en mi computadora o en la nube?
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
¿Sigue en mantenimiento?
El repo de GitHub cambió por última vez –, y la última versión (0.7.65) llegó al registro hace 8 días.
¿Qué apps pueden usarlo?
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.
¿Qué puedo usar en su lugar?
En la misma categoría: Supabase, MongoDB MCP Server, Elasticsearch MCP Server
Alternativas
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
README del creador
Abrir el README
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
mcp-access
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. 69 tools that turn Access into something you can *talk to*.
No Access expertise required. Just describe what you want.
"Create a form called Invoices with a ListBox, two date filters, and a search button"
"Add a VBA click handler that filters the recordsource by date range" "Create a table called audit_log with timestamp, user, and action fields" "List all controls inside the Payment tab and change the combo's row source"
The AI handles the COM automation, design view, VBA modules, binary sections, cache invalidation, and all the ugly parts. You get the result.
What it can do
- Forms & Reports — create, clone, export, import, screenshot, click, type. Full UI automation loop
- VBA — read, write, replace, compile, and *run* procedures. Line-level or full-proc editing
- Controls — create, delete, modify, list, set tab order. Finds controls nested inside TabControl pages
- Tables & SQL — create via DAO, alter, query, batch execute, full-text search across every Text/Memo field. Linked ODBC tables supported
- Relationships, indexes, references, queries, macros — full CRUD. Clone any object (form / report / module / class / query / macro) preserving VBA and binary sections
- Maintenance — compact & repair, decompile bloated databases, export structure docs. Office install autodetected (no more hardcoded Office 16 paths)
- UI lint —
access_lint_formflags *objectively* broken layouts (white-on-white text, overlaps, truncation, off-canvas controls). A checker, not a designer — see the note below
Works with Claude Code, Cursor, Windsurf, Continue, or any MCP-compatible client.
Requirements
- Windows (COM automation is Windows-only)
- Microsoft Access installed (any version that supports VBE, 2010+)
- Python 3.10+
- *"Trust access to the VBA project object model"* enabled in Access Trust Center
Installation
pip install "mcp>=1.0.0,<2" pywin32 pillow
Enable VBA object model access
File → Options → Trust Center → Trust Center Settings → Macro Settings → check Trust access to the VBA project object model
Or run the included PowerShell script:
.\enable_vba_trust.ps1
Register with Claude Code
Global (available in all projects):
claude mcp add access -- python C:\path\to\access_mcp_server.py
Project-only (creates .mcp.json in current directory):
claude mcp add --scope project access -- python C:\path\to\access_mcp_server.py
Register with other MCP clients
Add to your MCP config file (.mcp.json, mcp.json, or client-specific settings):
{
"mcpServers": { "access": { "type": "stdio", "command": "python", "args": ["C:\\path\\to\\access_mcp_server.py"] } } }
Compatible with any MCP-compliant client (Cursor, Windsurf, Continue, etc.).
Tools (69)
Database
| Tool | Description |
|---|---|
access_create_database | Create a new empty .accdb database file |
access_close | Disconnect MCP; leave user-owned Access open, quit only an MCP-created instance |
Database objects
| Tool | Description |
|---|---|
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), default_view (0=Single, 1=Continuous, 2=Datasheet, ...) |
SQL & tables
| Tool | Description |
|---|---|
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) |
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 |
VBE line-level editing
| Tool | Description |
|---|---|
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. A hit on a statement wrapped with _ also returns the whole joined statement. 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. A hit on a statement wrapped with _ also returns the whole joined statement. Optional context_lines (0-10) returns the surrounding code with each hit |
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-tolerant fallback matching + contextual error messages when patches fail. proc_name='(Declarations)' targets the declarations section |
access_vbe_append | Append code at the end of a module. Auto-strips Option Explicit/Option Compare to prevent misplacement |
Form & report controls
| Tool | Description |
|---|---|
access_list_controls | List all controls of a form/report with key properties. Long values split across lines in the export are returned joined. Controls inside Pages/OptionGroups include a parent field. Optional fields keeps only the keys you ask for |
access_get_control | Get the full, unabridged definition block of a specific control — where to go for a property access_list_controls does not return (finds controls inside Pages/OptionGroups) |
access_search_controls | Search text or regex in the control properties of every form/report (ControlSource, RowSource, Caption, Tag, Filter… or properties=["all"]). Values split across continuation lines are joined before matching |
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 verdict PASS/REVIEW/FAIL. Also runs automatically on every control edit |
### ⚠️ A note on
access_lint_form— manage your expectations
This is NOT a designer and there is zero super-design here. Don't expect it to make a form *look good*, suggest a nice palette, or have any taste — it has none and never will.
It is a dumb, deterministic verifier of the obvious, easy-to-check stuff: is the text the same colour as its background? do two controls physically overlap? does a caption not fit its box? is something off the edge of the form, or zero pixels tall? That's it. Plain math — WCAG contrast ratios and rectangle intersection — with a pile of false-positive guards so it doesn't cry wolf.
Think seatbelt, not stylist: it won't make the car pretty, it just stops you shipping a form with white text on a white background without noticing. It runs automatically on every control edit so those obvious mistakes surface on their own. If you were hoping for a UI-design AI, this isn't it (honest PRs to make it smarter are very welcome 😄).
Text export/import
| Tool | Description |
|---|---|
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 |
Database properties
| Tool | Description |
|---|---|
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. section reads a section instead |
access_set_form_property | Set form/report properties (RecordSource, Caption, DefaultView, HasModule, etc.) via COM in Design view. section (Detail, FormHeader, 0–8…) targets a section: BackColor, Height, Visible… |
Linked tables
| Tool | Description |
|---|---|
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 when hundreds of links overflow the result); mask_password=true masks PWD= |
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 original connection. refresh=true re-reads the schema using the table's own connect string (no new_connect, password never dumped) |
Relationships
| Tool | Description |
|---|---|
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) |
access_delete_relationship | Delete a relationship by name |
VBA References
| Tool | Description |
|---|---|
access_list_references | List VBA project references with GUID, path, broken/built-in status |
access_manage_reference | Add (by GUID or file path) or remove a VBA reference — guards against removing built-in refs |
Maintenance
| Tool | Description |
|---|---|
access_compact_repair | Compact & repair the database — closes, compacts to temp, swaps atomically, reopens |
access_decompile_compact | Remove orphaned VBA p-code via /decompile, recompile, then compact. Typical reduction: 60-70% on heavily-edited front-end databases. Use when a data-free .accdb exceeds 30-40 MB |
Query management
| Tool | Description |
|---|
| access_manage_query | Create, modify, delete, rename, or read SQL of a QueryDef. D
Solo se muestra el principio; lee el resto en el repo