Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
MCP server for accessing LSP functionality $1 cclsp - not your average LSP adapter $1 $1 $1 $1 $1 $1 **cclsp** is a Model Context Protocol (MCP) server that seamlessly integrates LLM-based coding agents with Language Server Protocol (LSP) servers. LLM-based coding agents often struggle with providing accurate line/column numbers, which makes naive attempts to integrate with LSP servers fragile and frustrating. cclsp solves this by intelligently trying multipl Capability contract not published. No trust telemetry is available yet. 569 GitHub stars reported by the source. Last updated 2/25/2026.
Freshness
Last checked 2/25/2026
Best For
cclsp is best for mcp, lsp, language-server workflows where MCP compatibility matters.
Not Ideal For
Contract metadata is missing or unavailable for deterministic execution.
Evidence Sources Checked
editorial-content, GITHUB MCP, runtime-metrics, public facts pack
MCP server for accessing LSP functionality $1 cclsp - not your average LSP adapter $1 $1 $1 $1 $1 $1 **cclsp** is a Model Context Protocol (MCP) server that seamlessly integrates LLM-based coding agents with Language Server Protocol (LSP) servers. LLM-based coding agents often struggle with providing accurate line/column numbers, which makes naive attempts to integrate with LSP servers fragile and frustrating. cclsp solves this by intelligently trying multipl
Public facts
5
Change events
1
Artifacts
0
Freshness
Feb 25, 2026
Capability contract not published. No trust telemetry is available yet. 569 GitHub stars reported by the source. Last updated 2/25/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 25, 2026
Vendor
Ktnyt
Artifacts
0
Benchmarks
0
Last release
0.7.0
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Capability contract not published. No trust telemetry is available yet. 569 GitHub stars reported by the source. Last updated 2/25/2026.
Setup snapshot
git clone https://github.com/ktnyt/cclsp.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Ktnyt
Protocol compatibility
MCP
Adoption signal
569 GitHub stars
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
bash
# One-time setup (no installation required) npx cclsp@latest setup # For user-wide configuration npx cclsp@latest setup --user
bash
npm install -g cclsp
bash
# Use the interactive generator cclsp setup # Or create manually (see Configuration section)
bash
claude mcp add cclsp npx cclsp@latest --env CCLSP_CONFIG_PATH=/path/to/cclsp.json
bash
npm install -g typescript-language-server typescript
bash
pip install "python-lsp-server[all]" # Or basic installation: pip install python-lsp-server
Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
MCP server for accessing LSP functionality $1 cclsp - not your average LSP adapter $1 $1 $1 $1 $1 $1 **cclsp** is a Model Context Protocol (MCP) server that seamlessly integrates LLM-based coding agents with Language Server Protocol (LSP) servers. LLM-based coding agents often struggle with providing accurate line/column numbers, which makes naive attempts to integrate with LSP servers fragile and frustrating. cclsp solves this by intelligently trying multipl
cclsp is a Model Context Protocol (MCP) server that seamlessly integrates LLM-based coding agents with Language Server Protocol (LSP) servers. LLM-based coding agents often struggle with providing accurate line/column numbers, which makes naive attempts to integrate with LSP servers fragile and frustrating. cclsp solves this by intelligently trying multiple position combinations and providing robust symbol resolution that just works, no matter how your AI assistant counts lines.
https://github.com/user-attachments/assets/52980f32-64d6-4b78-9cbf-18d6ae120cdd
When using AI-powered coding assistants like Claude, you often need to navigate codebases to understand symbol relationships. cclsp bridges the gap between Language Server Protocol capabilities and Model Context Protocol, enabling:
cclsp provides an interactive setup wizard that automates the entire configuration process. Choose your preferred method:
Run the interactive setup wizard:
# One-time setup (no installation required)
npx cclsp@latest setup
# For user-wide configuration
npx cclsp@latest setup --user
The setup wizard will:
.claude/cclsp.json in current directory--user): Creates global config in ~/.config/claude/cclsp.jsonIf you prefer manual configuration:
Install cclsp:
npm install -g cclsp
Install language servers (see Language Server Installation)
Create configuration file:
# Use the interactive generator
cclsp setup
# Or create manually (see Configuration section)
Add to Claude MCP:
claude mcp add cclsp npx cclsp@latest --env CCLSP_CONFIG_PATH=/path/to/cclsp.json
The setup wizard shows installation commands for each LSP, but you can also install them manually:
<details> <summary>๐ฆ Common Language Servers</summary>npm install -g typescript-language-server typescript
pip install "python-lsp-server[all]"
# Or basic installation: pip install python-lsp-server
go install golang.org/x/tools/gopls@latest
rustup component add rust-analyzer
rustup component add rust-src
# Ubuntu/Debian
sudo apt install clangd
# macOS
brew install llvm
# Windows: Download from LLVM releases
gem install solargraph
npm install -g intelephense
For more languages and detailed instructions, run npx cclsp@latest setup and select "Show detailed installation guides".
Configure in your MCP client (e.g., Claude Code):
{
"mcpServers": {
"cclsp": {
"command": "cclsp",
"env": {
"CCLSP_CONFIG_PATH": "/path/to/your/cclsp.json"
}
}
}
}
{
"mcpServers": {
"cclsp": {
"command": "node",
"args": ["/path/to/cclsp/dist/index.js"],
"env": {
"CCLSP_CONFIG_PATH": "/path/to/your/cclsp.json"
}
}
}
}
For easy setup, use the interactive configuration generator:
# Using npx (recommended for one-time setup)
npx cclsp@latest setup
# If installed globally
cclsp setup
# Or run directly with the development version
bun run setup
The interactive tool will:
Alternatively, create an cclsp.json configuration file manually:
{
"servers": [
{
"extensions": ["py", "pyi"],
"command": ["uvx", "--from", "python-lsp-server", "pylsp"],
"rootDir": ".",
"initializationOptions": {
"settings": {
"pylsp": {
"plugins": {
"jedi_completion": { "enabled": true },
"jedi_definition": { "enabled": true },
"jedi_hover": { "enabled": true },
"jedi_references": { "enabled": true },
"jedi_signature_help": { "enabled": true },
"jedi_symbols": { "enabled": true },
"pylint": { "enabled": false },
"pycodestyle": { "enabled": false },
"pyflakes": { "enabled": false }
}
}
}
}
},
{
"extensions": ["js", "ts", "jsx", "tsx"],
"command": ["npx", "--", "typescript-language-server", "--stdio"],
"rootDir": "."
}
]
}
Configuration Options:
extensions: Array of file extensions this server handlescommand: Command array to spawn the LSP serverrootDir: Working directory for the LSP server (optional, defaults to ".")restartInterval: Auto-restart interval in minutes (optional)initializationOptions: LSP server initialization options (optional)The initializationOptions field allows you to customize how each LSP server initializes. This is particularly useful for servers like pylsp (Python) that have extensive plugin configurations, or servers like devsense-php-ls that require specific settings.
{
"servers": [
{
"extensions": ["go"],
"command": ["gopls"],
"rootDir": "."
},
{
"extensions": ["rs"],
"command": ["rust-analyzer"],
"rootDir": "."
},
{
"extensions": ["c", "cpp", "cc", "h", "hpp"],
"command": ["clangd"],
"rootDir": "."
},
{
"extensions": ["java"],
"command": ["jdtls"],
"rootDir": "."
},
{
"extensions": ["rb"],
"command": ["solargraph", "stdio"],
"rootDir": "."
},
{
"extensions": ["php"],
"command": ["intelephense", "--stdio"],
"rootDir": "."
},
{
"extensions": ["cs"],
"command": ["omnisharp", "-lsp"],
"rootDir": "."
},
{
"extensions": ["swift"],
"command": ["sourcekit-lsp"],
"rootDir": "."
}
]
}
</details>
# Run in development mode
bun run dev
# Run tests
bun test
# Run manual integration test
bun run test:manual
# Lint code
bun run lint
# Format code
bun run format
# Type check
bun run typecheck
The server exposes these MCP tools:
find_definitionFind the definition of a symbol by name and kind in a file. Returns definitions for all matching symbols.
Parameters:
file_path: The path to the filesymbol_name: The name of the symbolsymbol_kind: The kind of symbol (function, class, variable, method, etc.) (optional)find_referencesFind all references to a symbol across the entire workspace. Returns references for all matching symbols.
Parameters:
file_path: The path to the file where the symbol is definedsymbol_name: The name of the symbolsymbol_kind: The kind of symbol (function, class, variable, method, etc.) (optional)include_declaration: Whether to include the declaration (optional, default: true)rename_symbolRename a symbol by name and kind in a file. This tool now applies the rename to all affected files by default. If multiple symbols match, returns candidate positions and suggests using rename_symbol_strict.
Parameters:
file_path: The path to the filesymbol_name: The name of the symbolsymbol_kind: The kind of symbol (function, class, variable, method, etc.) (optional)new_name: The new name for the symboldry_run: If true, only preview the changes without applying them (optional, default: false)Note: When dry_run is false (default), the tool will:
.bak extensionrename_symbol_strictRename a symbol at a specific position in a file. Use this when rename_symbol returns multiple candidates. This tool now applies the rename to all affected files by default.
Parameters:
file_path: The path to the fileline: The line number (1-indexed)character: The character position in the line (1-indexed)new_name: The new name for the symboldry_run: If true, only preview the changes without applying them (optional, default: false)get_diagnosticsGet language diagnostics (errors, warnings, hints) for a file. Uses LSP textDocument/diagnostic to pull current diagnostics.
Parameters:
file_path: The path to the file to get diagnostics forrestart_serverManually restart LSP servers. Can restart servers for specific file extensions or all running servers.
Parameters:
extensions: Array of file extensions to restart servers for (e.g., ["ts", "tsx"]). If not provided, all servers will be restarted (optional)When Claude needs to understand how a function works:
Claude: Let me find the definition of the `processRequest` function
> Using cclsp.find_definition with symbol_name="processRequest", symbol_kind="function"
Result: Found definition at src/handlers/request.ts:127:1
When refactoring or understanding code impact:
Claude: I'll find all places where `CONFIG_PATH` is used
> Using cclsp.find_references with symbol_name="CONFIG_PATH"
Results: Found 5 references:
- src/config.ts:10:1 (declaration)
- src/index.ts:45:15
- src/utils/loader.ts:23:8
- tests/config.test.ts:15:10
- tests/config.test.ts:89:12
Safe refactoring across the entire codebase (now with actual file modification!):
Claude: I'll rename `getUserData` to `fetchUserProfile`
> Using cclsp.rename_symbol with symbol_name="getUserData", new_name="fetchUserProfile"
Result: Successfully renamed getUserData (function) to "fetchUserProfile".
Modified files:
- src/api/user.ts
- src/services/auth.ts
- src/components/UserProfile.tsx
... (12 files total)
Preview changes before applying (using dry_run):
Claude: Let me first preview what will be renamed
> Using cclsp.rename_symbol with symbol_name="getUserData", new_name="fetchUserProfile", dry_run=true
Result: [DRY RUN] Would rename getUserData (function) to "fetchUserProfile":
File: src/api/user.ts
- Line 55, Column 10 to Line 55, Column 21: "fetchUserProfile"
File: src/services/auth.ts
- Line 123, Column 15 to Line 123, Column 26: "fetchUserProfile"
... (12 files total)
When multiple symbols match:
Claude: I'll rename the `data` variable to `userData`
> Using cclsp.rename_symbol with symbol_name="data", new_name="userData"
Result: Multiple symbols found matching "data". Please use rename_symbol_strict with one of these positions:
- data (variable) at line 45, character 10
- data (parameter) at line 89, character 25
- data (property) at line 112, character 5
> Using cclsp.rename_symbol_strict with line=45, character=10, new_name="userData"
Result: Successfully renamed symbol at line 45, character 10 to "userData".
Modified files:
- src/utils/parser.ts
When analyzing code quality:
Claude: Let me check for any errors or warnings in this file
> Using cclsp.get_diagnostics
Results: Found 3 diagnostics:
- Error [TS2304]: Cannot find name 'undefinedVar' (Line 10, Column 5)
- Warning [no-unused-vars]: 'config' is defined but never used (Line 25, Column 10)
- Hint: Consider using const instead of let (Line 30, Column 1)
When LSP servers become unresponsive or configuration changes:
Claude: The TypeScript server seems unresponsive, let me restart it
> Using cclsp.restart_server with extensions ["ts", "tsx"]
Result: Successfully restarted 1 LSP server(s)
Restarted servers:
โข typescript-language-server --stdio (ts, tsx)
Or restart all servers:
Claude: I'll restart all LSP servers to ensure they're working properly
> Using cclsp.restart_server
Result: Successfully restarted 2 LSP server(s)
Restarted servers:
โข typescript-language-server --stdio (ts, tsx)
โข pylsp (py)
Problem: The Python Language Server (pylsp) may become slow or unresponsive after extended use (several hours), affecting symbol resolution and code navigation.
Symptoms:
Solution: Use the auto-restart feature to periodically restart the pylsp server:
Add restartInterval to your Python server configuration:
{
"servers": [
{
"extensions": ["py", "pyi"],
"command": ["pylsp"],
"restartInterval": 5
}
]
}
This will automatically restart the Python LSP server every 5 minutes, maintaining optimal performance for long coding sessions.
Alternative: You can also manually restart servers using the restart_server tool when needed:
restart_server with extensions: ["py"]restart_server without parametersNote: The setup wizard automatically configures this for Python servers when detected.
</details>Problem: Error message about LSP server not found
Solution: Ensure the language server is installed:
# For TypeScript
npm install -g typescript-language-server
# For Python
pip install python-lsp-server
# For Go
go install golang.org/x/tools/gopls@latest
</details>
<details>
<summary>๐ง Configuration not loading</summary>
Problem: cclsp uses default TypeScript configuration only
Solution: Check that:
cclsp.json (not cclsp.config.json)CCLSP_CONFIG_PATH environment variable points to the correct fileProblem: "Go to definition" returns no results
Solution:
We welcome contributions! Here's how you can help:
Found a bug or have a feature request? Open an issue with:
Want to add support for a new language?
git checkout -b feature/amazing-featurebun testgit commit -m 'โจ feat: add amazing feature'git push origin feature/amazing-featureMIT
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
missing
Auth
None
Streaming
No
Data region
Unspecified
Protocol support
Requires: none
Forbidden: none
Guardrails
Operational confidence: low
curl -s "https://xpersona.co/api/v1/agents/mcp-ktnyt-cclsp/snapshot"
curl -s "https://xpersona.co/api/v1/agents/mcp-ktnyt-cclsp/contract"
curl -s "https://xpersona.co/api/v1/agents/mcp-ktnyt-cclsp/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Do not use if
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "missing",
"authModes": [],
"requires": [],
"forbidden": [],
"supportsMcp": false,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": null,
"outputSchemaRef": null,
"dataRegion": null,
"contractUpdatedAt": null,
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/mcp-ktnyt-cclsp/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/mcp-ktnyt-cclsp/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/mcp-ktnyt-cclsp/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/mcp-ktnyt-cclsp/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-ktnyt-cclsp/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-ktnyt-cclsp/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-04-17T02:16:38.608Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "unknown",
"confidenceSource": "profile",
"notes": "Listed on profile"
},
{
"key": "mcp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "lsp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "language-server",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "model-context-protocol",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "claude-code",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "cli",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|unknown|profile capability:mcp|supported|profile capability:lsp|supported|profile capability:language-server|supported|profile capability:model-context-protocol|supported|profile capability:claude-code|supported|profile capability:cli|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Ktnyt",
"href": "https://github.com/ktnyt/cclsp#readme",
"sourceUrl": "https://github.com/ktnyt/cclsp#readme",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T03:18:34.423Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://xpersona.co/api/v1/agents/mcp-ktnyt-cclsp/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-ktnyt-cclsp/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-02-25T03:18:34.423Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "569 GitHub stars",
"href": "https://github.com/ktnyt/cclsp",
"sourceUrl": "https://github.com/ktnyt/cclsp",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-25T03:18:34.423Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/mcp-ktnyt-cclsp/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-ktnyt-cclsp/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub ยท GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to cclsp and adjacent AI workflows.