microsoft/language-server-protocol

Defines a common protocol for language servers.

View on GitHub ↗Jump to charts ↓Open shareable report →

Data as of . Signed-in members get hourly updates — create a free account.

Summary Information

Updated 27 minutes ago
Type:Documentation / SpecificationCategory(s):Documentation ToolsEditors & IDEsDeveloper Tools
Added to GitGenius on September 4th, 2026
Created on September 4th, 2015
Open Issues & Pull Requests: 301 (+1)
GitHub issues: Enabled
Number of forks: 1,016
Total Stargazers: 13,041 (-1)
Total Subscribers: 306 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 20.4 hours
Mean response time: 41.7 days
90th percentile: 186.0 days
Tracked items: 159

Maintainer activity

1 person did triage or write work on this repository in the last 12 months.

Counts unlabeled, assigned, unassigned, milestoned, demilestoned, locked, unlocked over the last 12 months. These are issue and pull request events that require triage or write permission. Commits and code review are not counted. labeled and renamed are excluded because GitHub issue forms record the issue author as the actor. Figures from October 11, 2026. This count is not comparable across projects: each project's automation decides which of these events a person emits.

How this project is maintained

96% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "new request" is answered fastest, typically in about 4 hours, while "clarification" waits about 4 days. Three people close 87% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 99
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 992 days
Stale 30+ days: 97
Stale 90+ days: 89

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • feature-request (68)
  • clarification (32)
  • new request (14)
  • info-needed (11)
  • help wanted (8)
  • document symbols (6)
  • discussion (5)
  • *question (4)

Most active issues this week

Sign in to see which issues are moving.
Sign in

Detailed Description

The Language Server Protocol is a specification that defines a standardized communication protocol between code editors and language servers.

The protocol solves the problem of duplicating language intelligence features across many editor and IDE combinations. Traditionally, implementing features like code completion, diagnostics, and refactoring required building separate integrations for each editor-language pair, creating an exponential maintenance burden. The protocol establishes a common interface that allows a single language server implementation to work with any editor that supports the protocol, and any editor to leverage language servers without custom integration work for each one. Communication happens over JSON-RPC, with the protocol defining the messages, methods, and data structures that editors and servers exchange.

Adoption makes sense for editor and IDE developers who want to support multiple programming languages without implementing language features themselves, and for language tool developers who want their intelligence available across many editors without building separate plugins. The protocol suits projects where decoupling the editor from language-specific logic is valuable. The specification is language-agnostic, so implementations exist across many programming languages and ecosystems. The protocol has become a de facto standard in the editor space, with support in Visual Studio Code, Vim, Emacs, Neovim, and other editors, alongside language servers for JavaScript, Python, Go, Rust, and numerous other languages.

The project maintains detailed specification documentation and reference implementations. Development activity shows sustained engagement with the specification itself, including refinements to the protocol definition and expansion of supported capabilities. The project accepts contributions that extend the protocol to cover additional language server scenarios. Community adoption has driven real-world validation of the specification, with feedback from implementers across different editors and languages informing protocol evolution. The specification remains actively maintained with attention to compatibility and backward compatibility concerns as new features are added.