lsp-tools-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@lsp-tools-mcpShow diagnostics for src/index.ts"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
lsp-tools-mcp
Standalone Language Server Protocol tools exposed as a stdio MCP server.
Used By
This package is the upstream source of truth for two downstream plugins. Codex consumes the repository-level package directly; OpenCode consumes the same runtime as a built-in MCP package.
Project | Path | Role |
| Codex plugin that reuses these LSP MCP tools plus a Codex-specific PostToolUse diagnostics hook. | |
oh-my-openagent (a.k.a. |
| OpenCode plugin that registers this server as a built-in Tier-1 stdio MCP. Exposes |
If you fix or extend the LSP runtime here, downstream adapters should reuse this package. Do not fork the runtime into a downstream; land changes here instead.
Related MCP server: mcp-lsp-v1
Quick Start
npm install
npm run check
npm test
npm run build
printf '%s\n' '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | node dist/cli.js mcpMCP Tools
This server exposes the following tools:
lsp.statuslsp.diagnosticslsp.goto_definitionlsp.find_referenceslsp.symbolslsp.prepare_renamelsp.rename
Tool aliases are also available for compatibility:
lsp_statuslsp_diagnosticslsp_goto_definitionlsp_find_referenceslsp_symbolslsp_prepare_renamelsp_rename
When an MCP host registers this server under the name lsp (the default in both downstreams), the tools are exposed to agents as lsp_status, lsp_diagnostics, and so on, matching the alias names above.
Configuration
Default config paths (matches codex-lsp's historical layout):
Project:
.codex/lsp-client.jsonUser:
~/.codex/lsp-client.json
Path overrides via environment variables:
LSP_TOOLS_MCP_PROJECT_CONFIGLSP_TOOLS_MCP_USER_CONFIG
Examples (oh-my-openagent points the project config at .opencode/lsp.json via the env var):
LSP_TOOLS_MCP_PROJECT_CONFIG=.opencode/lsp.json node dist/cli.js mcp
LSP_TOOLS_MCP_USER_CONFIG=.opencode/lsp.json node dist/cli.js mcpExample config file:
{
"lsp": {
"typescript": {
"command": ["typescript-language-server", "--stdio"],
"extensions": [".ts", ".tsx", ".js", ".jsx"]
}
}
}Architecture
src/lsp/*standalone LSP runtime (process management, JSON-RPC transport, configuration, diagnostics, workspace edits)src/tools.tsMCP tool definitions and handlerssrc/mcp.tsstdio MCP server entry and registrationsrc/cli.tsstandalone CLI entry (mcpsubcommand only)
Local Development
npm install
npm run check
npm test
npm pack --dry-runLicense
This server cannot be deployed
Maintenance
Related MCP Connectors
Lean 4 MCP server: compile, prove theorems, and formalize math with Mathlib.
The official Svelte MCP server providing docs and autofixing tools for Svelte development
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceAn MCP server that exposes Language Server Protocol features to external clients, allowing access to hover information, definitions, completions, references, and rename functionalities.6 npm42MIT
- FlicenseAqualityDmaintenanceAn MCP stdio server that wraps language servers to expose read-oriented code-intelligence tools (hover, definition, references, diagnostics, etc.) for coding agents, supporting TypeScript/JavaScript and Python.561-
- FlicenseAqualityDmaintenanceBridges MCP and LSP to enable semantic code analysis, including go-to-definition, find references, hover info, and function call relationship checks.4-
- FlicenseNot gradedqualityBmaintenanceExposes LSP features (definition, hover, references, etc.) over MCP, spawning an isolated language server process per project.-