Vitus Labs
Tools MCP

Tools MCP

MCP server for AI assistants to scaffold, configure, and diagnose @vitus-labs/tools projects.

@vitus-labs/tools-mcp is a Model Context Protocol server that exposes 3 tools and 12 documentation resources over stdio transport. It enables AI assistants (Claude, Cursor, Copilot) to scaffold new projects, add tooling to existing ones, and diagnose configuration issues — all using the @vitus-labs/tools ecosystem.

Installation

npm install @vitus-labs/tools-mcp

Quick Start

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "vitus-labs-tools": {
      "command": "npx",
      "args": ["vl_mcp"]
    }
  }
}

Claude Code

Add to your project's .mcp.json:

{
  "mcpServers": {
    "vitus-labs-tools": {
      "command": "npx",
      "args": ["vl_mcp"]
    }
  }
}

Programmatic

import { createServer } from '@vitus-labs/tools-mcp'
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'

const server = createServer()
const transport = new StdioServerTransport()
await server.connect(transport)

Tools

scaffold_package

Scaffold a new project pre-configured with @vitus-labs/tools. Creates all config files (package.json, tsconfig, biome, vitest, vl-tools.config.mjs) for the selected preset.

ParameterTypeDescription
namestringPackage name (e.g. @my-org/my-lib)
directorystringAbsolute path to create the project in
preset'library' | 'nextjs' | 'storybook'Project type

Presets:

PresetIncludesBuild Command
libraryrolldown, vitest, typescript, biomebun run build
nextjsNext.js, typescript, biomebun run dev
storybookStorybook, biomebun run stories

add_tooling

Add @vitus-labs/tools packages to an existing project. Merges dependencies, scripts, and config files into the existing package.json without overwriting.

ParameterTypeDescription
directorystringAbsolute path to project root (must contain package.json)
toolsstring[]Tools to add

Available tools:

ToolPackageWhat it adds
typescript@vitus-labs/tools-typescripttsconfig.json extending shared preset
lint@vitus-labs/tools-lintbiome.json + lint/format scripts
vitest@vitus-labs/tools-vitestvitest.config.ts + test scripts
rolldown@vitus-labs/tools-rolldownbuild/dev scripts
rollup@vitus-labs/tools-rollupbuild/dev scripts
nextjs@vitus-labs/tools-nextjsnext.config.ts with withVitusLabs
nextjs-images@vitus-labs/tools-nextjs-imagesImage optimization dependency
storybook@vitus-labs/tools-storybookstories/stories:build scripts
favicon@vitus-labs/tools-faviconfavicon script
atlas@vitus-labs/tools-atlasatlas script

diagnose_config

Analyze a project for @vitus-labs/tools configuration issues. Returns a report with errors, warnings, and suggestions.

ParameterTypeDescription
directorystringAbsolute path to the project root to diagnose

Checks performed:

CheckSeverityWhat it detects
Missing package.jsonerrorNo package.json found
Invalid JSONerrorpackage.json is not valid JSON
Missing ESMwarningMissing "type": "module"
Missing tsconfigwarningNo tsconfig.json or non-standard extends
Missing BiomewarningNo biome.json (also detects legacy ESLint)
Missing vl-tools.configinfoNo vl-tools.config.mjs
Missing exports.typeswarningexports["."].types not set
Missing .js extensionserrorRelative imports without .js extension
Missing dependencieserrorScripts reference tools not in dependencies

Documentation Resources

The server also exposes read-only documentation resources via the MCP resource protocol:

URIContent
docs://vitus-labs/overviewPackage table with quick start guide
docs://vitus-labs/packages/{name}Per-package documentation

Available package docs: core, rolldown, rollup, typescript, lint, vitest, nextjs, nextjs-images, storybook, favicon, atlas.

These resources give AI assistants instant context about the @vitus-labs/tools ecosystem without needing web access.

On this page