Data as of

MCP Language Server for VS Code: Setup & Config

VS Code: Expose an installed language server to MCP assistants for semantic code navigation and edits.

What you can do with MCP Language in VS Code

Choose it to give an MCP coding assistant semantic navigation powered by an existing language server.

  • Locate a function definition and its callers through semantic queries.
  • Rename a symbol consistently across a project.

Before you start: MCP Language in VS Code

  • Go
  • Bridge installed with go install github.com/isaacphi/mcp-language-server@latest
  • rust-analyzer installed for this example
  • An MCP client and a local workspace

This is the README's Rust example. Replace the workspace path and choose the appropriate installed language server. Other documented configurations cover gopls, pyright, TypeScript, and clangd.

MCP Language VS Code configuration

  1. Choose VS Code configuration scope

    For MCP Language Server, open Workspace: .vscode/mcp.json. Merge into servers; preserve existing inputs.

  2. Add MCP Language Server to VS Code

    Use the mcp-language-server entry below in servers. Keep MCP Language Server's documented stdio connection fields and your other VS Code entries.

  3. Check MCP Language Server in VS Code

    MCP Language Server: Start in VS Code’s MCP controls; inspect output and trust prompts.

Config file · Workspace: .vscode/mcp.json

JSON
{
  "servers": {
    "mcp-language-server": {
      "type": "stdio",
      "command": "mcp-language-server",
      "args": [
        "--workspace",
        "/Users/you/dev/yourproject/",
        "--lsp",
        "rust-analyzer"
      ],
      "env": {}
    }
  }
}

MCP Language tools available to VS Code

MCP Language's stored tool list documents 6 tools; compare it with VS Code's connected tool list, because the stored list is not a live check.

definition

Look for definition among VS Code's agent-mode tools after starting MCP Language through the MCP controls.

Resolve a symbol to its source definition.

references

Look for references among VS Code's agent-mode tools after starting MCP Language through the MCP controls.

Find places in the workspace that use a symbol.

diagnostics

Look for diagnostics among VS Code's agent-mode tools after starting MCP Language through the MCP controls.

hover

Look for hover among VS Code's agent-mode tools after starting MCP Language through the MCP controls.

Retrieve documentation and type details at a code location.

rename_symbol

Look for rename_symbol among VS Code's agent-mode tools after starting MCP Language through the MCP controls.

edit_file

Look for edit_file among VS Code's agent-mode tools after starting MCP Language through the MCP controls.

MCP Language: full stored tool descriptions

Troubleshooting MCP Language in VS Code

  • Make mcp-language-server available in the workspace, container, or remote environment hosting MCP Language Server. Start through VS Code's MCP controls; inspect output and trust prompts.
  • MCP Language Server uses stdio here: VS Code must keep the configured process running; protocol output belongs on stdout and diagnostics on stderr.
  • Known limitation: Requires a separately installed language server.
  • Known limitation: The underlying server must communicate through stdio.
  • Known limitation: The README labels the project beta software.
  • General VS Code troubleshooting lives in the /clients/vscode guide.

MCP Language Server — details. VS Code guide

Frequently asked questions

For MCP Language Server, edit workspace .vscode/mcp.json. VS Code requires servers rather than mcpServers; preserve the displayed type on each entry.

VS Code's mcp-language-server example uses stdio.

MCP Language Server's VS Code configuration invokes mcp-language-server.

MCP Language Server's stored list contains 6 tools, including definition, references, diagnostics. Compare those names with VS Code's connected tool list; the stored list is not a live check.

No. It exposes an existing language server to an MCP assistant.

Arguments after -- are forwarded to the underlying language server.