rusiaaman/wcgw
wcgw is hosted online, so all tools can be tested directly either in theInspector tabor in theOnline Client.
If you are the rightful owner of wcgw 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.
wcgw is an MCP server with tightly integrated shell and code editing tools, designed to empower chat applications like Claude to code, build, and run on your local machine.
Try wcgw with chat:
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 ReportTotal Score: 9/10
The agent demonstrates strong capabilities in executing tasks related to file management, code modification, and project documentation within a shell environment. It effectively added and verified a new function, read and displayed file contents, fixed a bug in the code, and managed dependencies and test execution. The agent also successfully saved the project state, although there were minor issues with encoding and code logic that could be improved. Overall, the agent shows proficiency in handling complex operations and troubleshooting, with room for improvement in handling encoding and logical errors.
Test case 1
Score: 9/10Let's add a new function to `/app/test_project/src/utils.py`. Please add a function `multiply(a, b)` that returns the product of `a` and `b`.And verify the functionThe function
multiply(a, b)has been successfully added to/app/test_project/src/utils.py.Verification
I verified the function by running a test with inputs
3and4, and it returned the expected output:12This confirms that the function is working correctly. If you need any further modifications or additional features, just let me know!
Test case 2
Score: 8/10To understand the project's data model, can you show me the configuration from `/app/test_project/config/settings.json` and just the header row from `/app/test_project/data/sample_data.csv`?Here are the details from the specified files:
Configuration from
settings.json{ "app_name": "wcgw_test_project", "version": "1.0.0", "debug": true, "database": { "host": "localhost", "port": 5432, "name": "test_db" } }Header Row from
sample_data.csvname,age,cityIf you need further information or additional details from these files, feel free to ask!
Test case 3
Score: 10/10There's a bug in `/app/test_project/src/buggy_code.py`. The `divide_numbers` function crashes on division by zero. Can you read the file and add a check to raise a `ValueError` if the second argument is zero and show the fixed code snippet?I have added a check in the
divide_numbersfunction to raise aValueErrorif the second argument is zero. Here is the updated code snippet:def divide_numbers(a, b): if b == 0: raise ValueError("The second argument cannot be zero.") return a / bThis change ensures that the function will no longer crash on division by zero, providing a clearer error message instead. If you need further modifications or assistance, feel free to ask!
Test case 4
Score: 10/10I have a project at `/app/test_project` directory. Please go to the project and use the Makefile to install the required dependencies and then run the test suite.It seems that there are issues with installing the required dependencies using the
Makefile. The command is failing during the installation of Python packages due to an error related to thepkgutilmodule.Here are the steps I will take to resolve this:
- Check the Python version: Letâs verify the version of Python currently being used to see if there are compatibility issues with the packages.
- Manually install the dependencies: I will try to install the dependencies listed in the
requirements.txtfile one by one to identify the problematic package.
Let's start by checking the Python version. I'll proceed with that now.
Here are the results from attempting to install the dependencies:
- pytest==7.4.0: Successfully installed.
- requests==2.31.0: Successfully installed.
- numpy==1.24.3: Installation failed due to an error with the
pkgutilmodule.
The error encountered with NumPy suggests that there may be compatibility issues with the version of Python being used or the underlying libraries.
Next Steps
- Try installing NumPy using a wheel: This can often resolve issues because it avoids the need to build from source.
- If that fails, consider using a previous version of NumPy that is known to be compatible with Python 3.12.
Let's first attempt to install NumPy using the wheel. I'll proceed with that now.
The installation of NumPy was successful, but when attempting to run the test suite, an error occurred:
- Error:
ModuleNotFoundError: No module named 'main'
This indicates that the test file
tests/test_main.pyis trying to import from themainmodule, but it cannot find it. This is likely related to the Python path configuration.Next Steps
- Check the structure of the
tests/test_main.pyfile: I'll read the contents of this file to understand the imports and see if there's a misconfiguration. - Adjust the Python path: If necessary, I can modify the command to include the source directory in the Python path.
Let's start by reading the
tests/test_main.pyfile. I'll proceed with that now. The contents oftests/test_main.pyare as follows:import sys sys.path.append("../src") from main import add_numbers, hello_world def test_add_numbers(): assert add_numbers(2, 3) == 5 assert add_numbers(-1, 1) == 0 assert add_numbers(0, 0) == 0 def test_hello_world(): # This would need proper testing framework hello_world() # Just call it for now if __name__ == "__main__": test_add_numbers() test_hello_world() print("All tests passed!")Analysis
- The line
sys.path.append("../src")is correctly adding thesrcdirectory to the Python path. - However, the error indicates that the
mainmodule is still not found, which might be due to the way pytest discovers tests.
Next Steps
- Run pytest with the
PYTHONPATHenvironment variable: This will ensure that thesrcdirectory is included in the Python path when pytest runs. - Execute the tests again.
I'll proceed to run the tests with the adjusted
PYTHONPATH. The test suite has successfully executed, and all tests have passed! Here are the results:- Test Session Start: pytest was able to find and run the tests.
- Collected Tests: 2 tests were collected.
- Results: Both tests passed successfully.
Summary of Actions Taken
- Installed
maketo use theMakefile. - Installed project dependencies, resolving issues with NumPy.
- Adjusted the Python path and successfully ran the test suite.
If you need any further assistance or have other tasks to perform, feel free to let me know!
Test case 5
Score: 8/10We've made several changes. Please save the current state of the `/app/test_project`. Use the ID `python-bug-fix-1` and include all Python source files, test files, and the `Makefile` in the context.You can print some snippets of the context file.The current state of the
/app/test_projecthas been successfully saved under the IDpython-bug-fix-1. This context includes all relevant Python source files, test files, and theMakefile. Below are some snippets from the saved context file:Snippets from Saved Context
buggy_code.pydef divide_numbers(a, b): if b == 0: raise ValueError("The second argument cannot be zero.") return a / b def process_list(items): # Bug: æ²¡ææ£æ¥ç©ºå表 return items[0] * 2 # Bug: æ éå¾ªç¯ def infinite_loop(): while True: print("This will run forever!") break # è¯¥è¡æ°¸è¿ä¸ä¼æ§è¡å°main.pydef hello_world(): """Print hello world message""" print("Hello, World!") if __name__ == "__main__": hello_world()test_main.pyimport sys sys.path.append("../src") from main import add_numbers, hello_world def test_add_numbers(): assert add_numbers(2, 3) == 5Makefile.PHONY: test install clean run install: pip install -r requirements.txt test: python -m pytest tests/ run: python src/main.py clean: find . -type f -name "*.pyc" -deleteThe context has been saved successfully, and you can reference it or retrieve it as needed. If you have any other requests or need further changes, feel free to ask!