xlide_mcp
Read, write, analyze and test the VBA inside Excel, Word, PowerPoint and Access files, and edit the document around it. No Office installation needed.
Install / Use
claude mcp add WilliamSmithEdward -- npx -y github:WilliamSmithEdward/xlide_mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Content & MediaSupported Platforms
Tags
Our assessment of xlide_mcp
xlide_mcp scores 84/100 on our quality scale, 858th of 1,176 Content & Media skills we index.
Its MCP Server is 18 KB long, well organised into 12 sections with 10 code examples: a thorough specification that gives an agent plenty to work with.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 2 days ago, so xlide_mcp is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
xlide_mcp compared with similar skills
All 4 of these similar skills score higher than xlide_mcp; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| xlide_mcp (this skill)by WilliamSmithEdward | 84 | 10 | 2d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 96.2k | 3d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 75.1k | 1d ago | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.4k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 86.9k | today | MCP Server |
Frequently asked questions
- How do I install xlide_mcp?
- Run
claude mcp add WilliamSmithEdward -- npx -y github:WilliamSmithEdward/xlide_mcp. The install tabs above show the steps for each supported agent. - Which AI agents does xlide_mcp work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is xlide_mcp safe to use?
- It is MIT-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is xlide_mcp still maintained?
- The repository was last updated 2 days ago, so xlide_mcp is actively maintained.
Skill content
View source on GitHubxlide-mcp
An MCP server for the inside of an Office file. Read, write, analyze and test the VBA in Excel, Word, PowerPoint and Access, and edit the document around it. Visual Basic 6 projects open the same way.
VBA, Power Query and OOXML worksheet edits need no Office installation and run on
Windows, macOS and Linux. Reading .xlsb and .xls cells, writing .xlsb cells,
and running macros or tests need Windows with the desktop application.
xlide_list_projects -> Budget.xlsm
xlide_project_info Budget.xlsm -> 4 modules, 2 sheets, 1 query, not signed
xlide_read_module Helpers -> the source, and a content token
xlide_write_module Helpers -> guarded by that token
xlide_analyze Budget.xlsm -> 0 errors, 2 warnings
xlide_run_tests Budget.xlsm -> 12 passed
Why
An agent asked to fix a macro works from a copied snippet with no idea what else is in the project, or asks the user to export the modules and paste them back afterwards. Both treat the Office file as opaque. The VBA project, the form designs and the M code are all readable and writable without opening the application at all.
This server makes that reachable, and bounds it. A write is refused if the module changed since it was read. An analysis error fails the change. A run happens in an application the server created and holds a deadline over. Anything that cannot be undone is the user's decision.
Implementations
| Directory | Language | Status |
|---|---|---|
| python/ | Python 3.10+ | Reference implementation |
Other languages go in sibling directories. Python is normative: it tracks the upstream libraries, and ports track it. See docs/porting.md.
Install and run
pip install xlide-mcp # reads and writes files, any platform
pip install "xlide-mcp[live]" # adds running macros and tests, Windows
xlide-mcp --root /path/to/your/files
Point a client at it. For Claude Desktop, Claude Code or any client that launches a server over stdio:
{
"mcpServers": {
"xlide": {
"command": "xlide-mcp",
"args": ["--root", "/path/to/your/files"]
}
}
}
For VS Code, put this in .vscode/mcp.json at the workspace root. VS Code uses
servers here; the portable .mcp.json format above uses mcpServers.
{
"servers": {
"xlide": {
"type": "stdio",
"command": "uvx",
"args": ["--from", "xlide-mcp[live]", "xlide-mcp", "--root", "${workspaceFolder}"]
}
}
}
Run MCP: List Servers in VS Code to start xlide and inspect its output if it
does not register. The server prints its version and allowed roots to stderr on
startup. The VS Code configuration format and commands are described in
VS Code's MCP guide.
Or install nothing and let uv fetch it on first run. uv is one binary and installs its own Python, so a machine with neither can still run this:
{
"mcpServers": {
"xlide": {
"command": "uvx",
"args": [
"--from", "xlide-mcp[live]",
"xlide-mcp", "--root", "/path/to/your/files"
]
}
}
}
The live extra is safe to ask for on every platform: what it pulls in is marked
sys_platform == 'win32', so off Windows it resolves to nothing and the same
configuration works everywhere. Drop the --from pair for the file layer alone.
uvx takes the newest published version unless you pin it, as xlide-mcp@1.2.3.
There is a Dockerfile for the file layer, which is the part that needs no
Office installation. Mount the folder holding the files at /workspace, because
that is the root the container is bounded to:
docker build -t xlide-mcp .
docker run --rm -i -v "$PWD:/workspace" xlide-mcp
--root is the security boundary. Every path a tool accepts is resolved,
symlinks included, and refused unless it lands inside a root. Add --read-only
to allow reads and analysis and refuse every write.
Call xlide_doctor first from a new client: it reports the workspace roots, which
layers are installed, which Office applications this machine has, and whether
each one has the Trust Center setting that module injection needs.
What it does
Files - the VBA project and the document it lives in. Most file tools need no Office installation; binary Excel grids use Excel on Windows.
The code project
| | |
|---|---|
| Discover | xlide_list_projects, xlide_project_info, xlide_validate_project, xlide_create_project, xlide_doctor |
| Modules | xlide_list_modules, xlide_read_module, xlide_write_module, xlide_edit_module, xlide_rename_module, xlide_delete_module, xlide_list_procedures, xlide_search_modules |
| Analysis | xlide_analyze, xlide_analyze_source, xlide_rules |
| Forms | xlide_list_forms, xlide_read_form, xlide_manage_form, xlide_edit_form |
| References and catalog | xlide_list_references, xlide_manage_reference, xlide_access_catalog, xlide_read_access_query |
| Source control | xlide_export_modules, xlide_import_modules, xlide_git_changes |
xlide_edit_module accepts preview_only=true to check a batch of line edits and
return its proposed diff without saving. The preview's content token can be used
to apply the same edits if the module has not changed.
xlide_search_modules returns tokens for matched modules, so its line numbers
can also be passed directly to a guarded edit.
Broad searches can be paged with offset and next_offset; total_match_count
reports how many matching lines exist across all pages.
xlide_list_procedures returns a content token for guarded edits at the listed
lines. Reading an empty module returns its empty body and token.
Writing an identical module or applying an unchanged module import skips the save;
the response reports saved=false.
Applying an unchanged export leaves the existing .bas and .cls files untouched.
Long Power Query formulas can be read by line; the read returns a token that
xlide_write_query can use to refuse a stale change.
Large form designs can be read in pages with offset and next_offset.
Office file, VBA module and Power Query lists also return next_offset when a
later page is available.
For crowded drawing layers, pass sheet to xlide_list_shapes and follow its
next_offset to read later shapes.
Worksheet lists mark unreadable visibility or pivot metadata as unknown, and formatted or rich
text cell reads name the cell when decoding fails instead of returning a blank.
An Excel-backed worksheet survey refuses malformed output instead of dropping sheets.
An Excel-backed cell read refuses a partial grid instead of labeling it as the full range.
Form summary lists use the same offset and next_offset paging.
Form reads distinguish missing properties or sections from a read failure, and
an unreadable Access report collection fails instead of appearing empty.
Procedure lists also return next_offset for long modules.
Structural validation problems can be read with offset and next_offset.
Access catalog lists return a next_offsets entry for each included collection.
Long saved query SQL is previewed in the catalog; xlide_read_access_query
returns the full text in character pages with a content token.
The list actions for tables, names, validation, conditional formats, hyperlinks
and comments also accept offset and max_results and return next_offset.
Merging cells keeps only the top-left value. xlide_format_cells refuses to clear
other values or formulas unless allow_overwrite=true is passed.
xlide_sort_rows sorts a range, table or filter with ordered keys;
xlide_remove_duplicates keeps the first matching row. xlide_copy_cells copies
between sheets with Paste Special options and requires allow_overwrite=true.
xlide_update_shape changes a shape's position, name, text, alt text or visibility
without removing it; it also changes a Forms control's linked cell or list range.
xlide_check_cells lists Excel's green-triangle error checks, including numbers
stored as text and inconsistent formulas, with paging for long lists.
The document around it
| | |
|---|---|
| Power Query | xlide_list_queries, xlide_read_query, xlide_write_query (set, rename, remove, load, unload) |
| Sheets and cells | xlide_list_sheets, xlide_read_cells, xlide_write_cells, xlide_evaluate_formula, xlide_check_cells, xlide_format_cells, xlide_sort_rows, xlide_remove_duplicates, xlide_copy_cells |
| Structure | xlide_manage_sheet, xlide_manage_rows_columns |
| Tables and names | xlide_manage_table, xlide_manage_name, xlide_manage_filter |
| Rules, links and notes | xlide_manage_validation, xlide_manage_conditional_format, xlide_manage_hyperlink, xlide_manage_comment, xlide_page_setup |
| Shapes and charts | xlide_list_shapes, xlide_manage_shape, xlide_update_shape, xlide_set_shape_macro, xlide_add_chart |
Execution - Windows with the desktop application.
xlide_run_macro, xlide_run_vba, xlide_run_tests, xlide_compile_check
Your Office applications - Windows with the desktop application. The one place this server acts inside an application the user is running, and only on the file named.
xlide_is_open, xlide_open_in_app, xlide_close_in_app
Live editor - a running xlide_vbide session inside the Visual Basic Editor.
xlide_live_sessions, xlide_live_state, xlide_live_request, xlide_live_read_module
xlide_live_read_module accepts line ranges for long unsaved source and returns
a content token for comparing that source with the saved module.
Both analysis tools return next_offset when findings exceed a page, while
keeping their full severity counts.
Formats
| Host | Extensions |
|---|---|
| Excel | .xlsm .xlsb .xlam .xls, and .xlsx for everything except VBA |
| Word | .docm .dotm .doc |
| PowerPoint | .pptm .potm |
| Access | .accdb .mdb |
| Visual Basic 6 | .vbp |
VBA reads and writes in all of them. Power Query is available in .xlsx, .xlsm,
.xlsb and .xlam; package-based worksheet edits are available in .xlsx,
.xlsm and .xlam. A .xlsx has no VBA project by design and is listed anyway,
since its queries and sheets are fully reachable.
A recognized extension outside those sets is listed with the reason it cannot be opened. Nothing d
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
96.2kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
75.1kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.4kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
86.9k🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
