squiggles — Claude Code MCP server: LSP and setup
squiggles exposes language-server features to coding agents through MCP, from diagnostics to refactoring. Use it when your project depends on LSP tooling.
claude mcp add squiggles -- npx -y squigglesWhat squiggles does
squiggles connects coding agents with Language Server Protocol servers and exposes their capabilities as MCP tools. The agent can inspect diagnostics, jump through definitions and references, rename symbols, format files, inspect hierarchies, and query document symbols. Each configured server starts when a tool first needs it, so untouched languages do not start with the server.
In the project root, create squiggles.yaml or one of its supported filename variants. Running npx squiggles init detects project files and writes language-server settings; you can also name presets for TypeScript, Rust, Ruby, Go, C++ or Lua. Every selected language server must be available on PATH. TypeScript needs a discoverable typescript package; with TypeScript 7, keep typescript@5 in the workspace because that release has no tsserver.js.
The server also exposes language-specific operations, such as Ruby test discovery, Rust macro expansion, TypeScript import repair after a file move, go_vulncheck, and source-header switching for C++. Without the matching language server on PATH, those tools cannot start.
What it helps with
- inspect diagnostics across project files
- jump to definitions and locate references
- rename symbols while applying edits to disk
- repair imports after moving a TypeScript file
- run language-server checks and commands
Example prompts for the agent
- Use squiggles to inspect diagnostics in
src/app.tsand explain each issue. - Find every reference to
parseConfig, then open its definition. - After moving
src/user.ts, repair the project imports withts_rename_file.
How to install squiggles
Platform CLI
claude mcp add squiggles -- npx -y squigglesPlatform CLI
codex mcp add squiggles -- npx -y squigglesConfig file
{
"mcpServers": {
"squiggles": {
"command": "npx",
"args": [
"-y",
"squiggles"
]
}
}
}Config file
{
"servers": {
"squiggles": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"squiggles"
]
}
}
}Platform CLI
gemini mcp add squiggles npx -y squigglesStep by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about squiggles
How do I install squiggles in Claude Code?
Run claude mcp add squiggles -- npx -y squiggles.
What does the squiggles MCP server do?
It connects coding agents to configured LSP servers and exposes diagnostics, navigation, formatting, refactoring, and server-specific operations as MCP tools.
What does squiggles need to work?
Each selected language needs its language server on PATH, plus a squiggles.yaml file or another supported configuration filename. TypeScript also needs a discoverable typescript package; with TypeScript 7, use typescript@5.