Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Universal LSP MCP server
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"lsp": {
"command": "npx",
"args": [
"-y",
"@theupsider/lsp-mcp"
]
}
}
}Ejecuta esto en tu terminal
claude mcp add lsp -- npx -y @theupsider/lsp-mcpPégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"lsp": {
"command": "npx",
"args": [
"-y",
"@theupsider/lsp-mcp"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"lsp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@theupsider/lsp-mcp"
]
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 8 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub theUpsider, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.1.6) llegó al registro hace 6 meses.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, Filesystem MCP
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Filesystem MCP server for AI assistants.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
One MCP server to rule all Language Servers — automatic language detection, zero-config setup.
A Model Context Protocol (MCP) server that gives language models access to Language Server Protocol (LSP) functionality across all major programming languages. Unlike existing LSP-MCP servers, this project supports 13 languages out of the box with zero manual configuration — it automatically detects your codebase, selects the right language server, and exposes all LSP operations through a stable, language-independent tool interface.
| Language | Language Server | Auto-Detected Via |
|---|---|---|
| Python | pyright / pylsp | pyproject.toml, setup.py |
| TypeScript | typescript-language-server | tsconfig.json |
| JavaScript | typescript-language-server | package.json |
| C# | omnisharp | *.csproj, *.sln |
| Java | vscode-java / jdtls | pom.xml, build.gradle |
| Go | gopls | go.mod |
| Rust | rust-analyzer | Cargo.toml |
| C / C++ | clangd | *.c, *.cpp, *.h |
| Ruby | solargraph | Gemfile |
| PHP | intelephense | composer.json |
| Kotlin | kotlin-language-server | build.gradle.kts |
| Swift | sourcekit-lsp | Package.swift |
package.json, Cargo.toml, go.mod, etc.)lsp_init disappears from the tool list once all servers start cleanlylsp_init reappears if a previously-working server starts failing (e.g. language added, binary missing)text field + raw LSP data in raw fieldImportant: Install
lsp-mcpon the same machine where your code lives. The language servers it manages need direct filesystem access to your codebase — they cannot work over a remote connection or on a different machine than your source files.
# npm
npm install -g @theupsider/lsp-mcp@latest
bun install -g @theupsider/lsp-mcp@latest
Add to your workspace .vscode/mcp.json (recommended — ensures the server runs on the same machine as your code, including SSH remotes, WSL, and Dev Containers):
{
"servers": { "lsp-mcp": { "type": "stdio", "command": "npx", "args": ["-y", "@theupsider/lsp-mcp@latest"] } } }
Why workspace config? VS Code runs servers defined in
.vscode/mcp.jsonwherever the workspace lives. Servers defined in your user profile always run locally — which breaks LSP when your code is on a remote machine.
# Run the server (reads from stdin, writes to stdout)
lsp-mcp
The server starts with no active project. Most clients auto-initialize when they support the MCP Roots protocol (VS Code, Copilot, etc.), but lsp_init remains available as a manual override.
For clients without Roots support, the first action the model must take is calling lsp_init:
lsp_init({ root: "/path/to/your/project" })
lsp_init will:
Optional: pre-warm specific languages (skips detection, faster cold start):
lsp_init({ root: "/path/to/project", languages: ["python", "typescript"] })
Persistence: Once initialized, the workspace configuration (detected languages) is saved to your OS-standard config directory (~/.config/lsp-mcp/ on Linux, ~/Library/Application Support/lsp-mcp/ on macOS, %APPDATA%\lsp-mcp\ on Windows). On subsequent server startups, the MCP server will automatically reconnect using the last-known root, so you rarely need to call lsp_init again.
Re-emergence: If a language server that was previously healthy fails to start (e.g. you added a new language or removed a binary), lsp_init will reappear in the tool list, signaling the model should re-initialize.
| Tool | Description | Key Parameters | Visibility |
|---|---|---|---|
lsp_init | Initialize server for a project root | root (required), languages (optional string array) | Conditional — hidden after a successful explicit lsp_init call |
lsp_definition | Go to definition | file, line, character | Always |
lsp_references | Find all references | file, line, character | Always |
lsp_document_symbols | List symbols in a file | file | Always |
lsp_workspace_symbols | Search symbols across workspace | query (limit: 100–500 results) | Always |
lsp_diagnostics | Get errors & warnings | file (scope: file or workspace) | Always |
lsp_type_definition | Go to type definition | file, line, character | Always |
lsp_implementation | Find implementations | file, line, character | Always |
lsp_health | Check status of all LSP servers | _(none)_ | Always |
| Tool | Description | Key Parameters |
|---|---|---|
lsp_rename | Rename symbol | file, line, character, newName |
lsp_code_action | Apply / list code actions | file, line, character, apply |
lsp_formatting | Format document | file |
lsp_range_formatting | Format code range | file, range |
| Environment Variable | Description | Default |
|---|---|---|
LSP_MCP_LOG_LEVEL | Log level: error, info, debug | info |
Two helper scripts are included for setting up a development environment:
# 1. Install language runtimes
chmod +x setup-languages-ubuntu24.sh ./setup-languages-ubuntu24.sh
chmod +x setup-lsp.sh ./setup-lsp.sh
source ~/.bashrc
If a language server cannot be auto-installed, the server logs a structured error and continues running for other languages. Manually install the missing server:
# Python
pipx install python-lsp-server
dotnet tool install -g omnisharp-roslyn
npm install -g vscode-java
gem install solargraph
Ensure your project root contains a language marker file (e.g., package.json for TypeScript, Cargo.toml for Rust). The server scans the directory passed to lsp_init for these markers.
Each language server runs as a separate process. For large projects with many languages, consider limiting the workspace or using LSP_MCP_LOG_LEVEL=info to monitor server health.
┌─────────────────────────────────────────────┐
│ MCP Client (AI Model) │ └──────────────────┬──────────────────────────┘ │ MCP Protocol (stdio) ▼ ┌─────────────────────────────────────────────┐ │ LSP MCP Server (Node.js) │ │ ┌───────────┐ ┌──────────┐ ┌───────────┐ │ │ │ lsp_init │ │ lsp_... │ │ lsp_... │ │ │ └─────┬─────┘ └────┬─────┘ └─────┬─────┘ │ │ └─────────────┼─────────────┘ │ │ ▼ │ │ Language Router & Adapter │ │ (auto-detects language → selects LSP) │ └──────┬──────────┬──────────┬───────────┬─────┘ │ │ │ │ ▼ ▼ ▼ ▼ pyright typescript gopls clangd pylsp lsp rust- ... analyzer
Apache-2.0