LSP Tools MCP Server
Servidor MCP de herramientas LSP
Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona una funcionalidad similar a la del Protocolo de Servidor de Lenguaje para el análisis de texto.
Características
Buscar posición de expresión regular : busque las posiciones de línea y columna indexadas en 0 de las coincidencias de patrones de expresión regular en un archivo
Lista de directorios permitidos : obtiene una lista de directorios a los que el servidor tiene permiso de acceder
Related MCP server: TokenScope
Instalación
npm install
npm run buildUso
# Start the server allowing access to a specific directory
node dist/index.js /path/to/allowed/directory
# Start the server with multiple allowed directories
node dist/index.js /path/to/dir1 /path/to/dir2 /path/to/dir3Desarrollo
Ejecución de pruebas
El proyecto utiliza Jest para las pruebas. Ejecútalas con:
npm testPara ejecutar pruebas en modo de observación durante el desarrollo:
npm run test:watchPelusa
Pelar el código con ESLint:
npm run lintDocumentación de herramientas
encontrar_posición_de_expresión_regular
Esta herramienta encuentra las posiciones de líneas y columnas indexadas en 0 de las coincidencias de patrones de expresiones regulares en un archivo.
Parámetros:
path: La ruta al archivo a buscarregex: El patrón de expresión regular a buscar
Devoluciones:
Una matriz de coincidencias con las siguientes propiedades:
match: El texto coincidenteline: La línea de inicio (indexada en 0)column: La columna inicial (indexada en 0)endLine: La línea final (indexada en 0)endColumn: La columna final (indexada en 0, exclusiva)
lista_de_directorios_permitidos
Esta herramienta enumera todos los directorios a los que este servidor tiene permiso de acceder.
Parámetros:
Ninguno
Devoluciones:
Una matriz de rutas absolutas a directorios permitidos
Licencia
Instituto Tecnológico de Massachusetts (MIT)
Available Tools
2 toolsfind_regex_positionA
Find the positions (line and column) of regex pattern matches in a file. Returns an array of matches with their positions. Line and column numbers are 0-indexed (first line is 0). Each match includes: match (matched text), line (starting line), column (starting column), endLine (ending line), and endColumn (ending column, exclusive). IMPORTANT: The path parameter must be an absolute path. Relative paths are not supported.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Absolute path to the file to search in. Relative paths are not supported. | |
| regex | Yes | Regular expression pattern to search for |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the return format (array structure with specific fields), indexing convention (0-indexed), and path requirement (absolute only). It doesn't mention error handling, performance characteristics, or permission requirements, but provides substantial behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured with zero wasted sentences. It front-loads the core purpose, details the return format, and ends with the critical constraint. Every sentence adds essential information for tool understanding and usage.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 2 parameters, 100% schema coverage, and no output schema, the description provides excellent context about the return format and behavioral constraints. It could potentially mention error cases or performance considerations, but covers the essential information needed to use the tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both parameters thoroughly. The description reinforces the 'absolute path' requirement for the path parameter but doesn't add meaningful semantic context beyond what's in the schema. This meets the baseline for high schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Find the positions of regex pattern matches'), resource ('in a file'), and output format ('Returns an array of matches with their positions'). It distinguishes itself from the sibling tool 'list_allowed_directories' by focusing on regex matching rather than directory listing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool (searching for regex matches in files) and includes an important constraint ('path parameter must be an absolute path'). However, it doesn't explicitly state when NOT to use it or mention alternatives to regex-based searching.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_allowed_directoriesA
Lists all directories that this server is allowed to access. Use this to understand which paths are accessible before trying to access files. Returns an array of absolute paths to allowed directories.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the tool returns 'an array of absolute paths to allowed directories,' which is useful behavioral context about the output format. However, it doesn't mention potential limitations like rate limits, permissions needed, or whether the list is cached.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero waste: the first states the purpose, and the second provides usage guidance and output details. It's front-loaded and efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (0 parameters, no annotations, no output schema), the description is mostly complete. It explains what the tool does, when to use it, and the return format. However, without annotations or output schema, it could benefit from more behavioral details like error conditions or performance characteristics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters with 100% coverage, so the baseline is 4. The description appropriately doesn't add parameter information since none exist, maintaining focus on the tool's purpose and output.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('Lists all directories') and resource ('that this server is allowed to access'), distinguishing it from the sibling tool 'find_regex_position' which appears unrelated to directory listing. It provides a complete picture of what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use this tool: 'Use this to understand which paths are accessible before trying to access files.' This provides clear context and purpose for invocation, though it doesn't mention alternatives since the sibling tool is unrelated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
- First observed
find_regex_position - First observed
list_allowed_directories
TDQS
Scored across 2 tools
The two tools have completely distinct purposes with no overlap. find_regex_position performs a specific text search operation on files, while list_allowed_directories provides metadata about server permissions. An agent would never confuse these tools as they serve fundamentally different functions in the workflow.
Both tools follow a clear verb_noun naming pattern (find_regex_position, list_allowed_directories) with consistent snake_case formatting. The naming is logical and predictable, though with only two tools it's difficult to assess full consistency across a larger set.
With only 2 tools, this server feels severely underpowered for an LSP (Language Server Protocol) context. LSP servers typically handle numerous language operations like diagnostics, completions, definitions, and references. This minimal toolset suggests either an incomplete implementation or a very narrow specialization that doesn't match typical LSP expectations.
For an LSP server, this toolset is severely incomplete. While the two provided tools are useful (file search and directory listing), they represent only a tiny fraction of expected LSP functionality. Missing are core language features like code completion, hover information, go-to-definition, references, diagnostics, formatting, and other standard LSP capabilities that agents would expect from such a server.
Maintenance
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Model Context Protocol server for Studex tools, notifications, and profile integrations
Repository knowledge graph MCP server for codebase understanding and debugging.
Related MCP Servers
- AlicenseBqualityFmaintenanceA Model Context Protocol server that enables LLMs to read, search, and analyze code files with advanced caching and real-time file watching capabilities.615 npm39MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables token-aware directory exploration and file analysis for LLMs, helping them understand codebases through intelligent scanning and reporting.4MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that provides powerful regex-based code refactoring and search tools for Coding Agents.236 npm7MIT
- FlicenseAqualityDmaintenanceA Model Context Protocol server that enables keyword search within files, returning matching lines with line numbers.11-