biome-mcp

biome-mcp

Enables LLMs to run Biome formatting, linting, and assist checks on TypeScript/web projects with token-efficient, structured output, plus searchable cached Biome documentation.

Category
Visit Server

README

biome-mcp

A Model Context Protocol (MCP) server for running Biome on TypeScript and web projects with token-efficient output.

Overview

biome-mcp gives LLMs direct access to Biome's formatting, linting, and assist checks without shelling out to the CLI. Diagnostic output is parsed structurally and reduced to compact, grouped results before it reaches the model, so long check runs stay readable and cheap.

The server also caches the Biome CLI, configuration, and JavaScript linter documentation and exposes it as searchable resources.

Features

  • biome_check - Run formatting, linting, and assist checks in one pass
  • biome_lint - Lint-only diagnostics with an all / error / warning severity filter
  • biome_format - Verify formatting without modifying files
  • Structured parsing - json-pretty output avoids fragile parsing of human-readable text
  • Adaptive aggregation - large result sets include rule/file rollups before flat diagnostics
  • changed_only - Check only staged, unstaged, and untracked web files (*.ts, *.tsx, *.js, ...)
  • Documentation cache - Searchable, version-aware cache of Biome docs
  • Bundled Agent Skill - Install biome-mcp skill into .agents/skills with one command

How It Works

biome-mcp implements the Model Context Protocol to expose Biome through read-only tools. Every check tool returns a CheckResult with compact output text and the underlying exit_code; it never writes to source files.

Tool What it runs
biome_check(paths?, changed_only?) biome check (format + lint + assist)
biome_lint(paths?, level?, changed_only?) biome lint, filtered by severity
biome_format(paths?, changed_only?) biome check with linter and assist disabled
search_documentation(query) Search the cached Biome docs
update_cache(force?) Refresh the cached docs from biomejs.dev

Usage

To start the server:

uvx biome-mcp

Or from a checkout:

uv run biome-mcp

Configure an MCP client to launch the server in the project directory to check, e.g. for opencode:

{
  "mcp": {
    "biome-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": ["biome-mcp"]
    }
  }
}

The server checks the project in its working directory. To target another directory, set BIOME_MCP_PROJECT_DIR.

Biome is invoked through bunx @biomejs/biome by default. Set BIOME_MCP_COMMAND_PREFIX to use another project-local invocation (see docs/configuration.md).

Agent Skill

Install the bundled biome skill in a project when the agent client discovers skills from .agents/skills:

uvx biome-mcp skill install biome --target .

The skill directs agents to the server's read-only tools and the cached documentation resources.

Configuration

Environment variables, all optional:

Variable Default Purpose
BIOME_MCP_LOG_LEVEL INFO Logging level (stderr)
BIOME_MCP_PROJECT_DIR server working directory Project directory to check
BIOME_MCP_COMMAND_PREFIX bunx @biomejs/biome Invocation for Biome; empty string uses binaries from PATH
BIOME_MCP_COMMAND_TIMEOUT none Optional per-command timeout in seconds
BIOME_MCP_CACHE_DIR ~/.cache/biome-mcp/docs Documentation cache location

Documentation

See the docs for the full picture:

Development

This project is built with FastMCP and uv.

uv sync --extra dev
uv run ruff check
uv run ruff format --check
uv run ty check
uv run pytest

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured