{"passport":{"unfragile":{"@version":"1.0","version":"2026-05","artifact":{"id":"npm_npm-cclsp","slug":"npm-cclsp","name":"cclsp","type":"mcp","url":"https://www.npmjs.com/package/cclsp","page_url":"https://unfragile.ai/npm-cclsp","categories":["mcp-servers"],"tags":["mcp","lsp","language-server","model-context-protocol","claude-code"],"pricing":{"model":"open_source","free":true,"starting_price":null},"status":"active","verified":false},"capabilities":[{"id":"npm_npm-cclsp__cap_0","uri":"capability://tool.use.integration.lsp.to.mcp.protocol.bridging.with.multi.language.server.support","name":"lsp-to-mcp protocol bridging with multi-language server support","description":"Exposes Language Server Protocol (LSP) capabilities through the Model Context Protocol (MCP) interface, enabling Claude and other MCP clients to invoke LSP features (code completion, diagnostics, hover information, symbol navigation) by translating MCP tool calls into LSP JSON-RPC messages and routing responses back through the MCP transport layer. Implements bidirectional message marshaling between the two protocol stacks with automatic capability discovery from connected LSP servers.","intents":["Enable Claude to perform code intelligence tasks (completion, diagnostics, refactoring) against any LSP-compatible language server","Access language-specific tooling (TypeScript, Python, Rust, Go LSPs) through a unified MCP interface without reimplementing language analysis","Integrate existing editor LSP infrastructure (VS Code, Neovim, Emacs language servers) into AI agent workflows"],"best_for":["AI agent developers building code-aware systems that need language-specific intelligence","Teams integrating Claude with existing LSP-based development infrastructure","Developers building MCP servers that need to expose language tooling capabilities"],"limitations":["Latency overhead from protocol translation layer — each LSP request incurs JSON-RPC serialization/deserialization and MCP message wrapping (~50-200ms per round-trip depending on server responsiveness)","LSP server availability and stability directly impacts capability — if underlying LSP crashes or becomes unresponsive, the MCP bridge cannot recover without manual restart","No built-in caching of LSP responses — repeated queries for the same symbol or completion context will re-query the LSP server, potentially causing performance degradation with large codebases","Limited to LSP capabilities exposed by the connected server — if an LSP server doesn't implement a feature (e.g., semantic tokens), the MCP bridge cannot provide it"],"requires":["Node.js 16+ (for MCP server runtime)","At least one Language Server Protocol (LSP) server installed and accessible (e.g., typescript-language-server, pylsp, rust-analyzer)","MCP client capable of connecting to stdio-based MCP servers (Claude Desktop, custom MCP client, or similar)","Network or local IPC access to the LSP server (stdio, TCP socket, or Unix domain socket depending on LSP server configuration)"],"input_types":["LSP request parameters (file URIs, positions, query strings, code snippets)","MCP tool call arguments (serialized LSP method names and parameters)","File paths and code context from the MCP client"],"output_types":["LSP response objects (completion items, diagnostics, hover information, symbol definitions)","Structured JSON containing code intelligence results (type information, references, implementations)","Diagnostic arrays with severity levels and fix suggestions"],"categories":["tool-use-integration","code-generation-editing"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-cclsp__cap_1","uri":"capability://code.generation.editing.code.completion.and.intellisense.via.lsp.textdocument.completion","name":"code completion and intellisense via lsp textdocument/completion","description":"Translates MCP tool calls into LSP textDocument/completion requests, querying the connected language server for context-aware code suggestions at a specific file position. Returns completion items with type information, documentation, and insertion text, leveraging the LSP server's semantic understanding of the codebase rather than pattern matching or static analysis.","intents":["Get intelligent code completions for a specific cursor position in a file","Retrieve completion context including parameter hints, return types, and documentation","Enable Claude to suggest code with full awareness of available symbols, imports, and type constraints"],"best_for":["AI agents generating or editing code that need to respect language semantics and available APIs","Code generation workflows where completion context improves suggestion quality","Developers building Claude-powered code editors or IDE plugins"],"limitations":["Completion quality depends entirely on the underlying LSP server's implementation — some LSP servers provide richer metadata than others","No filtering or ranking of completions by relevance — returns raw LSP completion list, requiring client-side ranking logic","Requires file to be open and indexed by the LSP server — completions for unsaved or newly created files may be incomplete","Trigger character handling varies by LSP server — some servers may not provide completions for all syntactically valid positions"],"requires":["LSP server with textDocument/completion capability (most modern LSP servers support this)","File URI and cursor position (line and character) in the target file","LSP server must have the file indexed (typically requires the file to be opened via didOpen notification)"],"input_types":["File URI (e.g., file:///path/to/file.ts)","Position object with line and character numbers (0-indexed)","Optional completion context (trigger character, incomplete token)"],"output_types":["Array of CompletionItem objects (label, kind, detail, documentation, insertText, sortText)","Completion metadata (isIncomplete flag indicating more results available)"],"categories":["code-generation-editing","tool-use-integration"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-cclsp__cap_10","uri":"capability://tool.use.integration.document.and.workspace.synchronization.with.lsp.didopen.didchange.didclose.notifications","name":"document and workspace synchronization with lsp didopen, didchange, didclose notifications","description":"Manages LSP document lifecycle notifications (didOpen, didChange, didClose, didSave) to keep the LSP server's view of the codebase synchronized with the MCP client's state. Translates file changes from the MCP client into LSP notifications, ensuring the LSP server has current file content for accurate analysis. Implements incremental change tracking to minimize bandwidth and server load.","intents":["Keep the LSP server synchronized with file changes made through the MCP client","Enable LSP analysis on modified files without saving to disk","Maintain accurate diagnostics and code intelligence as code is edited"],"best_for":["Interactive code editing workflows where Claude modifies code and needs real-time analysis","Code generation systems that need to validate generated code immediately","Developers building Claude-powered code editors with live analysis"],"limitations":["Synchronization overhead — each file change requires an LSP notification, which can impact performance with rapid edits","No built-in conflict resolution — if multiple clients modify the same file, synchronization state may become inconsistent","LSP server may have stale state if notifications are lost or reordered — requires careful message ordering","Memory overhead — LSP server maintains full file content in memory for all open files, which can be problematic for very large files"],"requires":["LSP server with document synchronization support (all LSP servers support this)","MCP client that can track file changes and send notifications","File URI and content for each file being synchronized"],"input_types":["File URI to open/close","File content (full content for didOpen, incremental changes for didChange)","Change range and new text for incremental updates"],"output_types":["LSP notifications (no direct output, but enables downstream LSP features)","Implicit output through updated diagnostics and code intelligence"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-cclsp__cap_11","uri":"capability://tool.use.integration.multi.language.server.orchestration.and.capability.negotiation","name":"multi-language server orchestration and capability negotiation","description":"Manages connections to multiple LSP servers simultaneously, each serving different languages or file types. Implements LSP initialize/shutdown handshake for each server, negotiates supported capabilities, and routes file operations to the appropriate language server based on file extension or language ID. Enables a single MCP instance to provide code intelligence for polyglot codebases.","intents":["Support code intelligence for multiple languages in a single workspace (TypeScript, Python, Go, etc.)","Automatically route file operations to the correct language server","Discover and negotiate capabilities with multiple LSP servers"],"best_for":["Polyglot development teams working with multiple languages in a single codebase","Monorepo environments with code in multiple languages","Developers building universal code intelligence tools"],"limitations":["Complexity increases with each additional LSP server — managing multiple server connections adds operational overhead","Resource consumption scales with number of servers — each LSP server consumes memory and CPU, which can be problematic on resource-constrained systems","No built-in load balancing or failover — if one LSP server crashes, that language becomes unavailable","Capability negotiation complexity — different LSP servers support different capabilities, requiring client-side capability checking"],"requires":["Multiple LSP servers installed and configured (one per language)","File type to language mapping (file extension or language ID)","Configuration specifying which LSP server to use for each language"],"input_types":["File URI and language ID to determine which LSP server to use","LSP server configuration (command, arguments, environment)"],"output_types":["Capability information for each connected LSP server","Routing decisions mapping file types to LSP servers"],"categories":["tool-use-integration","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-cclsp__cap_2","uri":"capability://code.generation.editing.diagnostic.collection.and.code.quality.analysis.via.lsp.textdocument.publishdiagnostics","name":"diagnostic collection and code quality analysis via lsp textdocument/publishdiagnostics","description":"Subscribes to LSP textDocument/publishDiagnostics notifications and exposes collected diagnostics (errors, warnings, hints) as queryable MCP resources. Maintains a diagnostic cache indexed by file URI, allowing Claude to retrieve current code quality issues, their severity levels, and suggested fixes without re-running analysis.","intents":["Retrieve all errors and warnings in a file to inform code generation or refactoring decisions","Identify type errors, linting violations, and other code quality issues before suggesting fixes","Enable Claude to prioritize fixes based on diagnostic severity and location"],"best_for":["Code quality automation workflows that need to understand existing issues before suggesting changes","AI-assisted debugging where Claude needs to see compiler/linter errors","Refactoring agents that must validate changes against the language server's analysis"],"limitations":["Diagnostics are only available after the LSP server has analyzed the file — newly opened files may have stale or missing diagnostics until the server completes its analysis pass","No real-time diagnostic updates if the LSP server is slow or overloaded — diagnostic freshness depends on server performance","Diagnostic interpretation is language-specific — error codes and messages vary significantly across LSP servers, requiring client-side parsing for actionable insights","No built-in diagnostic deduplication — if multiple LSP servers are connected, duplicate diagnostics may appear"],"requires":["LSP server with diagnostic support (most LSP servers implement this)","File must be opened in the LSP server (via didOpen notification) to receive diagnostics","MCP client must maintain a persistent connection to receive publishDiagnostics notifications"],"input_types":["File URI to query diagnostics for","Optional severity filter (error, warning, information, hint)"],"output_types":["Array of Diagnostic objects (range, message, severity, code, source, relatedInformation)","Diagnostic metadata including suggested fixes (CodeAction objects)"],"categories":["code-generation-editing","safety-moderation"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-cclsp__cap_3","uri":"capability://code.generation.editing.symbol.definition.and.reference.navigation.via.lsp.textdocument.definition.and.textdocument.references","name":"symbol definition and reference navigation via lsp textdocument/definition and textdocument/references","description":"Implements LSP textDocument/definition and textDocument/references requests to enable code navigation and symbol resolution. Translates MCP queries into LSP position-based requests, returning file locations and ranges where a symbol is defined or referenced, enabling Claude to understand code structure and trace dependencies.","intents":["Find the definition of a symbol (function, class, variable) to understand its implementation","Locate all references to a symbol to assess impact of changes","Navigate code structure to understand dependencies and relationships between modules"],"best_for":["Code refactoring agents that need to understand symbol usage across a codebase","Developers building code navigation features in Claude-powered IDEs","Codebase analysis workflows that require understanding symbol relationships"],"limitations":["Definition resolution depends on LSP server's indexing — may fail for dynamically generated code or symbols from external packages not in the workspace","Reference finding can be slow on large codebases — some LSP servers may timeout or return incomplete results for heavily-used symbols","No built-in filtering of results — returns all references including comments and strings, requiring client-side filtering for actionable results","Cross-file navigation requires all files to be indexed by the LSP server — may miss references in unopened or excluded files"],"requires":["LSP server with textDocument/definition and textDocument/references capability","File URI and cursor position (line and character) pointing to the symbol","LSP server must have indexed the codebase (typically requires opening files or running a workspace initialization)"],"input_types":["File URI and position (line, character) of the symbol to navigate","Optional context (include declaration, include definition)"],"output_types":["Array of Location objects (file URI and range) for definitions or references","LocationLink objects with additional context (originSelectionRange, targetRange, targetSelectionRange)"],"categories":["code-generation-editing","search-retrieval"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-cclsp__cap_4","uri":"capability://code.generation.editing.hover.information.and.type.inspection.via.lsp.textdocument.hover","name":"hover information and type inspection via lsp textdocument/hover","description":"Exposes LSP textDocument/hover requests through MCP, returning type signatures, documentation, and contextual information about a symbol at a specific position. Enables Claude to inspect types, read documentation, and understand symbol semantics without opening the symbol's definition file.","intents":["Inspect the type signature of a variable, function, or expression at a cursor position","Retrieve documentation and comments associated with a symbol","Understand parameter types and return types before generating code that uses a symbol"],"best_for":["Code generation workflows where Claude needs to understand symbol types before suggesting usage","Interactive code exploration where Claude explains code to users","Type-aware code completion and suggestion systems"],"limitations":["Hover information quality varies by LSP server — some servers provide rich markdown documentation while others return minimal type information","No caching of hover results — repeated queries for the same symbol will re-query the LSP server","Hover information is position-dependent — the same symbol may have different hover information in different contexts (e.g., overloaded functions)","Limited to information the LSP server can infer — may be incomplete for dynamically-typed code or external dependencies without type stubs"],"requires":["LSP server with textDocument/hover capability","File URI and cursor position (line and character) pointing to the symbol","LSP server must have indexed the file and its dependencies"],"input_types":["File URI and position (line, character) to inspect","Optional context (surrounding code for better type inference)"],"output_types":["Hover object containing contents (markdown or plaintext) and optional range","Type information and documentation as formatted text"],"categories":["code-generation-editing","memory-knowledge"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-cclsp__cap_5","uri":"capability://search.retrieval.workspace.symbol.search.via.lsp.workspace.symbol","name":"workspace symbol search via lsp workspace/symbol","description":"Implements LSP workspace/symbol requests to enable global symbol search across the entire workspace. Translates MCP search queries into LSP symbol queries, returning matching symbols with their locations, kinds (function, class, variable, etc.), and file paths. Enables Claude to discover available APIs and understand codebase structure without file-by-file navigation.","intents":["Search for a function or class by name across the entire codebase","Discover available APIs and exported symbols in a workspace","Understand codebase structure by exploring symbol hierarchies"],"best_for":["Code generation agents that need to discover available functions and classes to use","Codebase exploration workflows where Claude needs to understand what's available","Refactoring tools that need to find all instances of a symbol across the workspace"],"limitations":["Search performance degrades with large workspaces — some LSP servers may timeout or return truncated results for broad queries","Symbol search is typically fuzzy and may return many false positives — requires client-side filtering and ranking","Results depend on LSP server's indexing completeness — may miss symbols from unopened files or excluded directories","No built-in ranking by relevance — results are typically returned in arbitrary order, requiring client-side sorting"],"requires":["LSP server with workspace/symbol capability","Workspace initialized with LSP server (typically requires opening a folder or project root)","Search query string (symbol name or partial name)"],"input_types":["Query string (symbol name or partial match)","Optional filters (symbol kind, file path pattern)"],"output_types":["Array of SymbolInformation objects (name, kind, location, containerName)","Workspace symbol results with file URIs and ranges"],"categories":["search-retrieval","code-generation-editing"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-cclsp__cap_6","uri":"capability://code.generation.editing.code.formatting.and.style.normalization.via.lsp.textdocument.formatting","name":"code formatting and style normalization via lsp textdocument/formatting","description":"Exposes LSP textDocument/formatting requests to enable code formatting and style normalization. Translates MCP formatting requests into LSP formatting calls, returning TextEdit arrays that describe the formatting changes needed. Allows Claude to format code according to the project's configured style rules without implementing language-specific formatters.","intents":["Format generated code to match the project's style conventions","Normalize code style across a file or selection","Apply formatting rules defined in the project's configuration (prettier, black, rustfmt, etc.)"],"best_for":["Code generation workflows where Claude needs to format generated code before returning it","Style normalization tasks where code must conform to project standards","Developers building Claude-powered code editors with formatting support"],"limitations":["Formatting quality depends on the LSP server's formatter integration — some LSP servers may not have formatters configured","Formatting can be slow on large files — some formatters may timeout or return incomplete results","No preview of formatting changes — must apply TextEdits to see the result","Formatting configuration is project-specific — may not be portable across different projects with different style rules"],"requires":["LSP server with textDocument/formatting capability","File URI and optional range (if formatting only a selection)","LSP server must have a formatter configured (e.g., prettier for JavaScript, black for Python)"],"input_types":["File URI to format","Optional range (line and character range) to format only a selection","Optional formatting options (tab size, insert spaces, etc.)"],"output_types":["Array of TextEdit objects describing formatting changes (range and new text)","Formatted code as a sequence of edits to apply"],"categories":["code-generation-editing","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-cclsp__cap_7","uri":"capability://code.generation.editing.rename.refactoring.with.cross.file.impact.analysis.via.lsp.textdocument.rename","name":"rename refactoring with cross-file impact analysis via lsp textdocument/rename","description":"Implements LSP textDocument/rename requests to enable safe symbol renaming across the codebase. Translates MCP rename requests into LSP rename calls, returning WorkspaceEdit objects that describe all necessary changes across multiple files. Enables Claude to perform refactoring with confidence that all references are updated consistently.","intents":["Rename a symbol (function, class, variable) and update all references across the codebase","Perform safe refactoring with LSP-verified impact analysis","Understand the scope of a rename operation before applying changes"],"best_for":["Refactoring agents that need to rename symbols safely across large codebases","Code transformation workflows where consistency is critical","Developers building Claude-powered refactoring tools"],"limitations":["Rename operations can be slow on large codebases — some LSP servers may timeout when computing all affected files","Rename may fail if the new name conflicts with existing symbols — requires client-side validation","No preview of rename changes — must inspect the WorkspaceEdit to understand the impact","Rename is language-specific — some languages have complex scoping rules that may not be fully captured by the LSP server"],"requires":["LSP server with textDocument/rename capability","File URI and cursor position (line and character) pointing to the symbol to rename","New name for the symbol","LSP server must have indexed all files that reference the symbol"],"input_types":["File URI and position (line, character) of the symbol to rename","New name string"],"output_types":["WorkspaceEdit object containing TextEdit arrays for each affected file","Document changes describing all necessary modifications across the codebase"],"categories":["code-generation-editing","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-cclsp__cap_8","uri":"capability://code.generation.editing.code.action.and.quick.fix.suggestions.via.lsp.textdocument.codeaction","name":"code action and quick fix suggestions via lsp textdocument/codeaction","description":"Exposes LSP textDocument/codeAction requests to retrieve suggested fixes and refactoring actions for a specific code range. Translates MCP requests into LSP code action queries, returning Command and CodeAction objects that describe available fixes (e.g., 'add missing import', 'fix type error', 'extract function'). Enables Claude to discover and apply automated fixes without implementing language-specific fix logic.","intents":["Retrieve suggested fixes for errors and warnings at a specific location","Discover available refactoring actions (extract function, inline variable, etc.)","Apply automated fixes to resolve code quality issues"],"best_for":["Code quality automation where Claude needs to apply LSP-suggested fixes","Refactoring workflows that leverage language-specific refactoring actions","Error resolution agents that automatically fix common issues"],"limitations":["Code action availability depends on the LSP server's implementation — not all LSP servers provide code actions for all error types","Code actions may have side effects or unintended consequences — requires careful review before applying","No built-in ranking or filtering of code actions — returns all available actions, requiring client-side selection logic","Code action execution may require additional context or user input — some actions are interactive and cannot be applied automatically"],"requires":["LSP server with textDocument/codeAction capability","File URI and range (start and end positions) to query for code actions","Optional context (diagnostics at the range, code action kind filter)"],"input_types":["File URI and range (line and character range) to query","Optional code action kind filter (e.g., 'quickfix', 'refactor', 'source')","Optional diagnostics context"],"output_types":["Array of CodeAction objects (title, kind, edit, command, diagnostics)","Command objects describing actions that require execution","WorkspaceEdit objects for actions that modify code"],"categories":["code-generation-editing","automation-workflow"],"confidence":0.5,"matches":0,"success_rate":0},{"id":"npm_npm-cclsp__cap_9","uri":"capability://code.generation.editing.semantic.token.highlighting.and.syntax.analysis.via.lsp.textdocument.semantictokens","name":"semantic token highlighting and syntax analysis via lsp textdocument/semantictokens","description":"Implements LSP textDocument/semanticTokens requests to retrieve semantic token information for a file or range. Returns token type and modifier information (e.g., 'function', 'readonly', 'deprecated') that enables semantic-aware syntax highlighting and code analysis. Allows Claude to understand code structure at a semantic level beyond simple syntax highlighting.","intents":["Analyze code structure using semantic token information (identify functions, classes, variables, etc.)","Understand semantic properties of code (readonly variables, deprecated functions, etc.)","Enable semantic-aware code generation that respects language semantics"],"best_for":["Code analysis workflows that need semantic understanding beyond syntax","Developers building semantic-aware code editors or analysis tools","Code generation agents that need to understand code structure semantically"],"limitations":["Semantic token support varies by LSP server — not all LSP servers implement this capability","Semantic token computation can be expensive on large files — may impact performance","Token information is position-dependent and may change as code is edited — requires re-querying after edits","No built-in caching of semantic tokens — repeated queries will re-compute tokens"],"requires":["LSP server with textDocument/semanticTokens capability","File URI and optional range (if querying only a portion of the file)","LSP server must have indexed the file"],"input_types":["File URI to analyze","Optional range (line and character range) to analyze only a selection"],"output_types":["SemanticTokens object containing token data (encoded as relative positions and token type/modifier indices)","Token type and modifier information describing semantic properties"],"categories":["code-generation-editing","data-processing-analysis"],"confidence":0.5,"matches":0,"success_rate":0}],"trust":{"score":40,"verified":false,"data_access_risk":"high","permissions":["Node.js 16+ (for MCP server runtime)","At least one Language Server Protocol (LSP) server installed and accessible (e.g., typescript-language-server, pylsp, rust-analyzer)","MCP client capable of connecting to stdio-based MCP servers (Claude Desktop, custom MCP client, or similar)","Network or local IPC access to the LSP server (stdio, TCP socket, or Unix domain socket depending on LSP server configuration)","LSP server with textDocument/completion capability (most modern LSP servers support this)","File URI and cursor position (line and character) in the target file","LSP server must have the file indexed (typically requires the file to be opened via didOpen notification)","LSP server with document synchronization support (all LSP servers support this)","MCP client that can track file changes and send notifications","File URI and content for each file being synchronized"],"failure_modes":["Latency overhead from protocol translation layer — each LSP request incurs JSON-RPC serialization/deserialization and MCP message wrapping (~50-200ms per round-trip depending on server responsiveness)","LSP server availability and stability directly impacts capability — if underlying LSP crashes or becomes unresponsive, the MCP bridge cannot recover without manual restart","No built-in caching of LSP responses — repeated queries for the same symbol or completion context will re-query the LSP server, potentially causing performance degradation with large codebases","Limited to LSP capabilities exposed by the connected server — if an LSP server doesn't implement a feature (e.g., semantic tokens), the MCP bridge cannot provide it","Completion quality depends entirely on the underlying LSP server's implementation — some LSP servers provide richer metadata than others","No filtering or ranking of completions by relevance — returns raw LSP completion list, requiring client-side ranking logic","Requires file to be open and indexed by the LSP server — completions for unsaved or newly created files may be incomplete","Trigger character handling varies by LSP server — some servers may not provide completions for all syntactically valid positions","Synchronization overhead — each file change requires an LSP notification, which can impact performance with rapid edits","No built-in conflict resolution — if multiple clients modify the same file, synchronization state may become inconsistent","builder identity is not verified yet","no observed match outcomes yet"],"rank_breakdown":{"adoption":0.4530013211321174,"quality":0.34,"ecosystem":0.45,"match_graph":0.25,"freshness":0.6,"weights":{"adoption":0.25,"quality":0.25,"ecosystem":0.15,"match_graph":0.23,"freshness":0.12}},"observed_outcomes":{"matches":0,"success_rate":0,"avg_confidence":0,"top_intents":[],"last_matched_at":null},"maintenance":{"status":"active","updated_at":"2026-05-24T12:16:23.903Z","last_scraped_at":"2026-04-22T08:09:21.905Z","last_commit":null},"community":{"stars":null,"forks":null,"weekly_downloads":9204,"model_downloads":null,"model_likes":null}},"distribution":{"claim_url":"https://unfragile.ai/submit?claim=npm-cclsp","compare_url":"https://unfragile.ai/compare?artifact=npm-cclsp"}},"signature":"ulR7dUn119e1MOzYw8+dtvO3lfcqLRaSJCcUtE/xrrZrDzAo8ZCPBYVwJyo0UsOMnH3QZ4luOhOboLylfwE2BQ==","signedAt":"2026-06-20T00:31:49.238Z","signedBy":"unfragile.ai","version":1},"_links":{"self":"https://unfragile.ai/api/v1/passport/npm-cclsp","artifact":"https://unfragile.ai/npm-cclsp","verify":"https://unfragile.ai/api/v1/verify?slug=npm-cclsp","publicKey":"https://unfragile.ai/api/v1/trust-passport-public-key","spec":"https://unfragile.ai/trust","schema":"https://unfragile.ai/schema.json","docs":"https://unfragile.ai/docs"}}