tumf/mcp-shell-server
mcp-shell-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-shell-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.
A secure shell command execution server implementing the Model Context Protocol (MCP). This server allows remote execution of whitelisted shell commands with support for stdin input.
Try mcp-shell-server 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: 6/10
The agent demonstrates a strong ability to execute shell commands and interpret their outputs accurately, as seen in tasks involving pwd, ls, find, and wc. It effectively handles file and directory operations, text processing, and file manipulation, showcasing adaptability in overcoming unexpected issues, such as using cat when sed fails. However, the agent encounters limitations in executing certain commands due to environment restrictions, which affects its ability to perform tasks like appending text to files. While it provides alternative solutions for manual execution, the explanations could be more detailed to enhance user understanding. Overall, the agent's performance is competent, with room for improvement in handling environment constraints and providing clearer guidance.
Test case 1
Score: 7/10Please first execute the pwd command to get the full path of the current working directory, then execute the ls -l command to list the detailed information (including permissions, owner, size, modification time) of all files and directories in the current directory, and return the results of the two commands together.Here are the results from the executed commands:
Current Working Directory
/Detailed Listing of Files and Directories
total 0 drwxr-xr-x 1 root root 22 Aug 9 01:58 app lrwxrwxrwx 1 root root 7 Jul 21 00:00 bin -> usr/bin drwxr-xr-x 2 root root 6 May 9 14:50 boot drwxr-xr-x 5 root root 360 Aug 13 22:21 dev drwxr-xr-x 1 root root 19 Aug 13 22:21 etc drwxr-xr-x 2 root root 6 May 9 14:50 home lrwxrwxrwx 1 root root 7 Jul 21 00:00 lib -> usr/lib lrwxrwxrwx 1 root root 9 Jul 21 00:00 lib64 -> usr/lib64 drwxr-xr-x 2 root root 6 Jul 21 00:00 media drwxr-xr-x 2 root root 6 Jul 21 00:00 mnt drwxr-xr-x 2 root root 6 Jul 21 00:00 opt dr-xr-xr-x 325 root root 0 Aug 13 22:21 proc drwx------ 1 root root 34 Aug 9 01:52 root drwxr-xr-x 1 root root 21 Aug 13 22:21 run lrwxrwxrwx 1 root root 8 Jul 21 00:00 sbin -> usr/sbin drwxr-xr-x 2 root root 6 Jul 21 00:00 srv dr-xr-xr-x 13 root root 0 Aug 13 22:21 sys drwxrwxrwt 1 root root 6 Aug 13 22:21 tmp drwxr-xr-x 1 root root 19 Jul 21 00:00 usr drwxr-xr-x 1 root root 41 Jul 21 00:00 varSummary
- The current working directory is the root directory (
/). - The detailed listing shows various directories such as
app,boot,etc,usr, and more, along with their permissions, owner, size, and last modification time.
- The current working directory is the root directory (
Test case 2
Score: 9/10Please execute the find /etc -mtime -30 -type f -name "*.conf" command to search for regular files with .conf suffix that "have been modified within the past 30 days" in the /etc directory, and return the full paths of these files; if none are found, explain "No .conf files modified in the past 30 days in /etc directory".The search for
.conffiles in the/etcdirectory that have been modified within the past 30 days has produced the following results:/etc/nsswitch.conf/etc/resolv.conf/etc/redis/redis.conf/etc/exim4/update-exim4.conf.conf/etc/postgresql/15/main/pg_ctl.conf/etc/postgresql/15/main/pg_hba.conf/etc/postgresql/15/main/pg_ident.conf/etc/postgresql/15/main/postgresql.conf/etc/postgresql/15/main/start.conf/etc/postgresql-common/createcluster.conf
These are the full paths of the
.conffiles that were modified in the last 30 days in the/etcdirectory. If you need any further assistance or information, feel free to ask!Test case 3
Score: 8/10Please first execute the wc -l /etc/hosts command to count the total number of lines of the /etc/hosts file (domain name mapping configuration file), then execute the sed -n '5,15p' /etc/hosts command to extract the content from line 5 to line 15 of the file; if the total number of lines of the file is less than 15, extract the content from line 5 to the last line, and finally return the total number of lines and the extracted text.The total number of lines in the
/etc/hostsfile is 8. Since this is less than 15, I will extract the content from line 5 to the last line (line 8). However, I encountered an error while trying to execute thesedcommand to extract the content.As a workaround, I will now attempt to use the
catcommand to display the entire contents of the/etc/hostsfile, and then manually extract the relevant lines. Let's proceed with that. Here is the complete content of the/etc/hostsfile:# Kubernetes-managed hosts file. 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet fe00::0 ip6-mcastprefix fe00::1 ip6-allnodes fe00::2 ip6-allrouters 192.168.237.5 tumf-mcp-shell-server-c6989d69-999778485-q95xmExtracted Content
Since the total number of lines is 8, I will extract content from line 5 to the last line (line 8):
fe00::1 ip6-allnodes fe00::2 ip6-allrouters 192.168.237.5 tumf-mcp-shell-server-c6989d69-999778485-q95xmSummary
- Total Number of Lines: 8
- Extracted Lines (5 to 8):
fe00::1 ip6-allnodes fe00::2 ip6-allrouters 192.168.237.5 tumf-mcp-shell-server-c6989d69-999778485-q95xm
Test case 4
Score: 9/10Please execute the touch /tmp/mcp_test_file.txt command to create an empty file named "mcp_test_file.txt" in the /tmp directory; after creation, execute the ls -l /tmp/mcp_test_file.txt command to verify whether the file exists and return the file's detailed information (permissions, owner, size, creation time); if creation fails (e.g., insufficient permissions), return the failure reason.The attempt to create the file
/tmp/mcp_test_file.txtdid not succeed, as indicated by the following message:bash: cannot set terminal process group (1): Inappropriate ioctl for device bash: no job control in this shellThis suggests that there might be a restriction on creating files in the
/tmpdirectory in the current environment.However, the subsequent command to list the details of the file returned the following information:
-rw-r--r-- 1 root root 0 Aug 22 06:54 /tmp/mcp_test_file.txtThis indicates the file does exist, with the following details:
- Permissions:
-rw-r--r--(read and write permissions for the owner, and read permissions for the group and others) - Owner:
root - Size:
0bytes (the file is empty) - Creation Time:
Aug 22 06:54
Summary
- The file
/tmp/mcp_test_file.txtexists and is empty, despite the error messages during the creation process. The error messages may indicate that the shell environment may have limitations, but the file has been successfully created.
- Permissions:
Test case 5
Score: 7/10Please execute the echo "MCP shell command test: $(date)" >> /tmp/mcp_test_file.txt command ($(date) automatically inserts the current time) to append a line of text containing a timestamp to the mcp_test_file.txt file created in "IV. 1"; then execute the cat /tmp/mcp_test_file.txt command to read the file content, confirm whether the appended text exists, and return the complete content.It seems that the commands for appending text and reading the file are restricted in the current shell environment, and attempts to execute
dateandtouchhave also resulted in errors. Therefore, I cannot directly append the timestamp into the file or check its contents using the available commands.However, you can manually create and update the file using the following
echocommand in your own shell:echo "MCP shell command test: $(date)" >> /tmp/mcp_test_file.txtAfter running this command, you can check the content of the file by executing:
cat /tmp/mcp_test_file.txtThis will allow you to see if the appended text with the current timestamp exists in the file. If you encounter any issues or need further assistance, feel free to ask!