---
title: "LSP Servers"
description: "Claude plugin LSP servers define configuration discovery, manifest wiring, JSON validation, and provider limits."
---

> Documentation Index
> Fetch the complete documentation index at: https://nimbus.focal.host/llms.txt
> Use this file to discover all available pages before exploring further.

# LSP Servers

<a id="lsp-servers"></a>

<!-- skillset:generated:start feature-support -->
| Feature | Feature status | claude | codex | cursor |
| --- | --- | --- | --- | --- |
| `plugin-lsp-servers` | `implemented` | `pass_through` | `not_applicable` | `planned` |
<!-- skillset:generated:end feature-support -->

Support vocabulary: [Feature Reference](/skillset/reference/features/#support-vocabulary)

Claude plugins can include an `.lsp.json` file that declares language server configuration. Skillset treats the file as [provider-native](/skillset/glossary/#provider-native) Claude plugin pass-through and wires the documented manifest field when the file is present.

## Authoring

Place `.skillset/plugins/<plugin>/.lsp.json` in the plugin source root. Discovery is automatic, and the file is copied only when the Claude plugin [target](/skillset/glossary/#target) is active.

```text
.skillset/plugins/reviewer/.lsp.json
```

## Target Rendering

| Source | Claude output | Codex output | Status | Notes |
| --- | --- | --- | --- | --- |
| `<source-root>/plugins/<plugin>/.lsp.json` | `.lsp.json` plus manifest `lspServers: "./.lsp.json"` | n/a | `target_native` / `implemented` | JSON utility output is parsed after generation; deeper LSP schema validation is not a portable contract. |

## Diagnostics

- Refuse malformed generated JSON.
- Back up unmanaged [generated-output](/skillset/glossary/#generated-output) collisions before replacing them in confirmed builds.
- Reject divergent provider source that tries to emit the same `.lsp.json` path.
- Do not copy Claude LSP configuration into Codex plugin output.

## Provenance

The generated file participates in plugin output hashes and lock provenance as a target-native companion file. It is not a `plugin-feature` entry because the implemented contract does not provide `lsp.source`.

## Evidence

Plugin manifest fixtures verify field declaration, pass-through copying, post-generation JSON parsing, and the absence of a Codex [projection](/skillset/glossary/#projection). Skillset validates JSON syntax but does not claim a portable deep LSP schema.

Source: https://nimbus.focal.host/skillset/reference/features/lsp-servers/index.mdx
