devinmlowe/vba-lint-mcp
MCP server providing VBA code inspections, linting, and parse tree analysis. Inspired by and derived from the Rubberduck VBA project.
Platform-specific configuration:
{
"mcpServers": {
"vba-lint-mcp": {
"command": "npx",
"args": [
"-y",
"vba-lint-mcp"
]
}
}
}Add the config above to .claude/settings.json under the mcpServers key.
[](https://www.gnu.org/licenses/gpl-3.0) [](https://nodejs.org/) [](https://modelcontextprotocol.io/)
An MCP server providing VBA code inspections, linting, and parse tree analysis -- 65 inspections ported from Rubberduck VBA.
vba-lint-mcp exposes VBA static analysis capabilities through the Model Context Protocol, enabling AI assistants (Claude Code, etc.) and MCP-compatible tools to perform code quality checks on VBA source files.
The inspection logic is derived from the Rubberduck VBA project -- an open-source VBIDE add-in providing code inspections, refactoring, navigation, and unit testing for VBA developers. This project translates Rubberduck's proven C# inspection patterns to TypeScript and makes them accessible via MCP.
Who is this for?
git clone git@github.com:devinmlowe/vba-lint-mcp.git
cd vba-lint-mcp
npm install
npm run generate-parser # Requires Java 17+ (JRE)
npm run buildAdd to your MCP settings (.claude/settings.json or project settings):
{
"mcpServers": {
"vba-lint": {
"command": "node",
"args": ["/path/to/vba-lint-mcp/dist/server.js"],
"env": {
"VBA_LINT_LOG_LEVEL": "warn"
}
}
}
}Once configured, Claude Code can inspect VBA code directly:
> Inspect this VBA code for issues:
>
> Sub Example()
> Dim x
> Let y = 10
> If True Loading reviews...