mcp-language-server

isaacphi/mcp-language-server

4.2

mcp-language-server is hosted online, so all tools can be tested directly either in theInspector tabor in theOnline Client.

If you are the rightful owner of mcp-language-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

The MCP Language Server is a server that facilitates the integration of language servers with Model Context Protocol (MCP) enabled clients, providing enhanced code navigation and semantic tools.

Try mcp-language-server with chat:

MCPHub score:4.17

Has a README

Github repo has a README.md.

Has a License

Github repo has license info.

Server can be inspected

View server inspector

Server schema can be extracted

Can get at lease one tool info from the README or server.

Online hosted on MCPHub

Can be automatically deployed by MCPHub.

Has social accounts

Do not have any social accounts.

Claimed by the author or certified by MCPHub

If you are the author, claim authorship

AI Evaluation Report
Total Score: 5/10

The MCP agent demonstrates a strong ability to provide detailed and accurate guidance for code-related tasks, such as adding functions, renaming symbols, and importing modules. It offers clear instructions and examples, which are helpful for users who need to perform these tasks manually. However, the agent consistently fails to leverage its stated capabilities for direct code modification and analysis, such as applying text edits, renaming symbols, and retrieving diagnostic information. This discrepancy between its described capabilities and actual performance limits its effectiveness in automating tasks and providing direct assistance. The agent's inability to perform operations directly, despite its self-description, suggests a significant limitation in its current implementation.

  • Test case 1
    Score: 7/10
    list the files in current directory

    I currently don't have the capability to access or list files in your local directory. However, you can do this on your computer by using the following methods:

    On Windows:

    1. Command Prompt:

      • Open Command Prompt.
      • Type dir and press Enter.
    2. File Explorer:

      • Open File Explorer.
      • Navigate to the directory you want to view.

    On macOS/Linux:

    1. Terminal:
      • Open Terminal.
      • Type ls and press Enter.

    These commands will display the files and folders in the current directory. If you need further assistance, feel free to ask!

  • Test case 2
    Score: 7/10
    Please add a new function called 'calculateAverage' to the 'utils.py' file in my Python project.

    To add a new function called calculateAverage to the utils.py file in your Python project, follow these steps:

    1. Locate the utils.py File:

      • Navigate to the directory where your Python project is located.
      • Open the utils.py file in a text editor or an Integrated Development Environment (IDE) like VSCode, PyCharm, or any other editor you prefer.
    2. Add the calculateAverage Function:

      • Insert the following code into the utils.py file. This function will calculate the average of a list of numbers.
    def calculateAverage(numbers):
        """
        Calculate the average of a list of numbers.
    
        Parameters:
        numbers (list): A list of numerical values.
    
        Returns:
        float: The average of the numbers in the list.
        """
        if not numbers:
            return 0.0
        return sum(numbers) / len(numbers)
    
    1. Save the File:

      • After adding the function, save the changes to the utils.py file.
    2. Test the Function:

      • You can test the function by calling it from another script or from the Python interactive shell. Here’s a simple example of how to test it:
    from utils import calculateAverage
    
    # Example usage
    numbers = [10, 20, 30, 40, 50]
    average = calculateAverage(numbers)
    print(f"The average is: {average}")
    

    This will output:

    The average is: 30.0
    

    By following these steps, you have successfully added a calculateAverage function to your utils.py file. This function takes a list of numbers as input and returns their average.

  • Test case 3
    Score: 3/10
    Please rename the 'calculateTotal' function to 'computeTotal' in my codebase and update all references accordingly.

    To rename the calculateTotal function to computeTotal in your codebase and update all references, you can follow these steps:

    1. Use an Integrated Development Environment (IDE):

      • If you're using an IDE like Visual Studio Code, IntelliJ IDEA, or PyCharm, you can use the built-in refactoring tools to rename the function.
      • Right-click on the function name calculateTotal and select the "Rename Symbol" or "Refactor" option.
      • Enter the new name computeTotal and the IDE will automatically update all references throughout the codebase.
    2. Use a Text Editor with Find and Replace:

      • Open your codebase in a text editor that supports find and replace across files, such as Sublime Text or Atom.
      • Use the "Find in Files" feature to search for calculateTotal.
      • Replace all instances with computeTotal.
    3. Command Line Tools:

      • If you prefer using the command line, you can use tools like sed or grep to find and replace the function name.
      • For example, you can use the following command in a Unix-based system:
        find . -type f -name "*.js" -exec sed -i 's/calculateTotal/computeTotal/g' {} +
        
      • This command will search for all .js files in the current directory and subdirectories, and replace calculateTotal with computeTotal.
    4. Version Control System:

      • If your codebase is under version control (e.g., Git), make sure to commit your changes after renaming the function to keep track of the modifications.

    By following these steps, you can ensure that the function name is updated consistently across your entire codebase. If you need further assistance or have a specific environment setup, feel free to provide more details!

  • Test case 4
    Score: 7/10
    I need to add an import statement for 'lodash' at the beginning of my 'utils.js' file. Can you do that?

    I currently don't have the capability to directly modify files on your system. However, I can guide you on how to add the import statement for 'lodash' in your utils.js file.

    Here's how you can do it:

    1. Open your utils.js file in a text editor or an Integrated Development Environment (IDE) like Visual Studio Code, Sublime Text, or Atom.

    2. Add the import statement at the top of the file. If you are using ES6 modules, you can add the following line:

      import _ from 'lodash';
      

      If you are using CommonJS modules, you can add:

      const _ = require('lodash');
      
    3. Save the file after adding the import statement.

    This will allow you to use lodash functions in your utils.js file. If you haven't installed lodash yet, you can do so by running npm install lodash in your project directory.

  • Test case 5
    Score: 4/10
    Can you list all the errors and warnings in my 'server.py' file?

    To help you identify errors and warnings in your server.py file, I would need to analyze the file directly. Unfortunately, I don't have the capability to access or analyze files on your local system directly. However, I can guide you on how to check for errors and warnings using some common tools and techniques:

    1. Linting Tools:

      • Pylint: This is a popular tool for checking errors in Python code, enforcing a coding standard, and looking for code smells.
        • You can run it using the command: pylint server.py
      • Flake8: Another tool that checks the style guide enforcement and also looks for errors.
        • Run it using: flake8 server.py
    2. Integrated Development Environment (IDE):

      • If you are using an IDE like PyCharm, VSCode, or others, they often have built-in linting and error-checking features. Simply open your server.py file in the IDE, and it will highlight errors and warnings.
    3. Python Interpreter:

      • Running the file using the Python interpreter can also help catch syntax errors. Use the command: python server.py and observe any error messages.
    4. Static Analysis Tools:

      • MyPy: If you are using type annotations, MyPy can help check for type errors.
        • Run it using: mypy server.py

    If you can share the specific errors or warnings you encounter, I can help explain them or suggest solutions. Alternatively, if you can provide the content of the file, I can help analyze it further.