Spotlight MCP
by api-commons
README.md
<p align="center"><a href="https://spotlight-rules.com"><img src="https://raw.githubusercontent.com/api-commons/spotlight-mcp/main/spotlight-rules-logo.png" alt="Spotlight Rules" height="90"></a></p>
# Spotlight MCP
A [Model Context Protocol](https://modelcontextprotocol.io) server that exposes
[Spotlight](https://spotlight-rules.com) to **any AI client** — so an agent can lint
your API artifacts and work with rulesets conversationally. It runs the same
`@spotlight-rules/*` engine as [spotlight-cli](https://github.com/api-commons/spotlight-cli),
over stdio.
## Tools
| Tool | What it does |
| --- | --- |
| `lint_artifact` | Lint an artifact (`content`, optional `format`, optional `ruleset`) → findings (code, message, severity, path) + counts |
| `list_rulesets` | The built-in rulesets (`spotlight:oas`, `:asyncapi`, `:arazzo`) and their rules |
| `list_formats` | The artifact formats Spotlight can lint |
| `validate_ruleset` | Structurally validate a ruleset (alias, object, or YAML/JSON string) |
## Use it
```bash
npm install
npm start # speaks MCP over stdio
```
### Claude Desktop / any MCP client
Add to your client's MCP server config (e.g. Claude Desktop `claude_desktop_config.json`):
```json
{
"mcpServers": {
"spotlight": {
"command": "npx",
"args": ["-y", "@spotlight-rules/spotlight-mcp"]
}
}
}
```
Then ask: *"Lint this OpenAPI with Spotlight and tell me what to fix."*
## Part of the Spotlight suite
One engine (the CLI), one vocabulary (the spec + its rule tags): **spec** · **cli** ·
**api** (HTTP) · **mcp** (AI, this repo) · **vscode** · **validator**. Where
[spotlight-api](https://github.com/api-commons/spotlight-api) is the HTTP surface,
this is the AI surface.
---
Part of [Spotlight Rules](https://spotlight-rules.com) — a project of [API Evangelist](https://apievangelist.com), maintained openly under [API Commons](https://apicommons.org). Apache-2.0.
TDQS
A4/5.0
Scored across 4 tools
Disambiguation5/5
Each tool has a clearly distinct purpose: linting artifacts, listing supported formats, listing available rulesets, and validating ruleset definitions. No ambiguity or overlap.
Naming Consistency5/5
All tool names follow a consistent verb_noun pattern (e.g., lint_artifact, list_formats). Underscore separation and lowercase verbs are used uniformly.
Tool Count5/5
Four tools cover the core functionality of a linter server (lint, discover formats, list rulesets, validate rulesets) without being overly sparse or excessive.
Completeness4/5
The tool set covers the main use cases, though a tool to view a single rule's details or run lint with a custom ruleset might be missing, but these are minor gaps.
Maintenance
ActivityMaintained
ResponsivenessSyncing