• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

karellen / karellen-lsp-mcp / 22763598618
79%

Build:
DEFAULT BRANCH: master
Ran 06 Mar 2026 12:33PM UTC
Jobs 5
Files 8
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

06 Mar 2026 12:31PM UTC coverage: 50.897%. First build
22763598618

push

github

arcivanov
Initial implementation of karellen-lsp-mcp

MCP server that bridges to LSP servers, giving LLMs structured code
intelligence (definitions, references, call/type hierarchies, hover,
symbols, diagnostics) — the same information a human developer gets
from their IDE.

Architecture:
- Shared daemon process owns all LSP server subprocesses and a
  refcounted project registry, listening on a Unix domain socket
- Thin MCP stdio frontends (one per Claude session) proxy tool calls
  to the daemon, returning structured dataclass responses
- Multiple sessions sharing the same project get the same LSP server

Features:
- 10 MCP tools: register/deregister projects, query definitions,
  references, hover, document symbols, call hierarchy (in/out),
  type hierarchy (super/sub), diagnostics, indexing status
- Smart readiness handling: single-file queries (definition, hover,
  document symbols) only wait for server initialization, not indexing;
  cross-file queries wait with dynamic timeouts based on progress
- clangd normalizer tracks $/progress for indexing status reporting
- Daemon singleton via filelock, file-based logging, clean apoptosis
  (exits immediately when last frontend disconnects)
- Parent death detection in MCP frontend via getppid() polling
- C/C++ support via clangd with compile_commands.json integration

Includes unit tests, integration tests (with clangd), and CI workflow.

152 of 382 branches covered (39.79%)

Branch coverage included in aggregate %.

756 of 1402 new or added lines in 7 files covered. (53.92%)

756 of 1402 relevant lines covered (53.92%)

2.67 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
15
86.23
src/main/python/karellen_lsp_mcp/project_registry.py
26
82.07
src/main/python/karellen_lsp_mcp/lsp_normalizer.py
86
42.35
src/main/python/karellen_lsp_mcp/server.py
98
13.33
src/main/python/karellen_lsp_mcp/daemon_client.py
199
34.68
src/main/python/karellen_lsp_mcp/lsp_client.py
222
43.73
src/main/python/karellen_lsp_mcp/daemon.py
Jobs
ID Job ID Ran Files Coverage
1 22763598618.1 06 Mar 2026 12:33PM UTC 8
50.9
GitHub Action Run
2 22763598618.2 06 Mar 2026 12:33PM UTC 8
50.9
GitHub Action Run
3 22763598618.3 06 Mar 2026 12:33PM UTC 8
50.9
GitHub Action Run
4 22763598618.4 06 Mar 2026 12:33PM UTC 8
50.9
GitHub Action Run
5 22763598618.5 06 Mar 2026 12:35PM UTC 8
49.94
GitHub Action Run
Source Files on build 22763598618
  • Tree
  • List 8
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 3cf71b7b on github
  • Next Build on master (#22767399283)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc