| Crates.io | mcpls-core |
| lib.rs | mcpls-core |
| version | 0.3.1 |
| created_at | 2025-12-24 23:45:35.180569+00 |
| updated_at | 2026-01-24 01:07:48.535182+00 |
| description | Core library for MCP to LSP protocol translation |
| homepage | |
| repository | https://github.com/bug-ops/mcpls |
| max_upload_size | |
| id | 2004017 |
| size | 441,926 |
The translation layer that makes AI understand code semantically.
mcpls-core bridges MCP and LSP protocols, transforming AI tool calls into language server requests and translating rich semantic responses back. It's the engine behind mcpls.
[!NOTE] This is the library crate. For the CLI, see
mcpls.
[dependencies]
mcpls-core = "0.3.1"
flowchart LR
subgraph mcpls-core
M["mcp/"] -->|"tool calls"| B["bridge/"]
B -->|"LSP requests"| L["lsp/"]
C["config/"] -.->|"settings"| L
end
| Module | Responsibility |
|---|---|
mcp/ |
MCP server implementation with rmcp, 16 tool handlers |
bridge/ |
Position encoding, document state, notification cache, request translation |
lsp/ |
JSON-RPC 2.0 client, process management, notification handling, protocol types |
config/ |
TOML parsing, server discovery, workspace configuration |
use mcpls_core::config::Config;
use mcpls_core::mcp::McplsServer;
#[tokio::main]
async fn main() -> anyhow::Result<()> {
let config = Config::load()?;
let server = McplsServer::new(config);
server.run().await
}
thiserror, never panicsDual-licensed under Apache 2.0 or MIT.