cclsp - LLM-LSP Bridge (Model Context Protocol Server)

0.7.0 · active · verified Sun Apr 19

cclsp is a Model Context Protocol (MCP) server designed to bridge the gap between Large Language Model (LLM)-based coding agents and traditional Language Server Protocol (LSP) servers. It specifically addresses common frustrations where LLMs struggle with precise line/column numbers in LSP requests, employing intelligent position resolution and robust symbol handling to ensure accurate code navigation and refactoring. The current stable version is 0.7.0, indicating active development. While no explicit release cadence is provided, its iteration suggests regular updates. Key differentiators include its specialized handling of LLM positional ambiguities, an AI-friendly interface for MCP, and broad language support through configurable LSP servers (e.g., `typescript-language-server`, `pylsp`, `gopls`). It requires Node.js 18+ and a compatible TypeScript peer dependency for full functionality.

Common errors

Warnings

Install

Imports

Quickstart

Initializes cclsp with an interactive setup wizard and demonstrates how to start the MCP server ready for requests.

npx cclsp@latest setup

# After setup, you can start the server (it will listen for MCP requests, usually via stdin/stdout)
# and then use an MCP tool to interact with it.
npx cclsp

# Example of sending an MCP request to the running server (conceptually):
# This shows how an AI agent might request a definition after the server is running.
# In practice, this would be sent over stdin/stdout or a socket by an MCP client.
# (Example: find definition for 'myFunction' in 'src/index.ts' at line 10, column 5)
# echo '{"jsonrpc":"2.0","method":"find_definition","params":{"uri":"file:///path/to/project/src/index.ts","position":{"line":10,"character":5},"symbolName":"myFunction"},"id":1}' | npx cclsp

# A more typical interactive usage with a client might be:
# npx cclsp setup --interactive
# # ... follow prompts ...
# npx cclsp # This starts the MCP server, waiting for input.

view raw JSON →