-
Notifications
You must be signed in to change notification settings - Fork 117
Expand file tree
/
Copy pathssh-exec.json
More file actions
144 lines (144 loc) · 3.84 KB
/
Copy pathssh-exec.json
File metadata and controls
144 lines (144 loc) · 3.84 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
{
"name": "ssh-exec",
"description": "A Model Context Protocol (MCP) server for executing command-line operations on remote servers via SSH.",
"display_name": "SSH Execution",
"repository": {
"type": "git",
"url": "https://github.com/pathintegral-institute/mcp.science"
},
"homepage": "https://github.com/pathintegral-institute/mcp.science/tree/main/servers/ssh-exec",
"author": {
"name": "pathintegral-institute"
},
"license": "MIT",
"tags": [
"ssh",
"command execution",
"remote systems"
],
"arguments": {
"SSH_HOST": {
"description": "SSH host to connect to",
"required": true,
"example": "your-server.com"
},
"SSH_PORT": {
"description": "SSH port",
"required": false,
"example": "22"
},
"SSH_USERNAME": {
"description": "SSH username",
"required": true,
"example": "your_username"
},
"SSH_PRIVATE_KEY": {
"description": "SSH private key content (not path)",
"required": false,
"example": "$(cat ~/.ssh/id_rsa)"
},
"SSH_PASSWORD": {
"description": "SSH password",
"required": false,
"example": "[NOT GIVEN]"
},
"SSH_ALLOWED_COMMANDS": {
"description": "Comma-separated list of commands that are allowed to be executed",
"required": false,
"example": "ls,ps,cat"
},
"SSH_ALLOWED_PATHS": {
"description": "Comma-separated list of paths that are allowed for command execution",
"required": false,
"example": "/tmp,/home"
},
"SSH_COMMANDS_BLACKLIST": {
"description": "Comma-separated list of commands that are not allowed",
"required": false,
"example": "rm,mv,dd,mkfs,fdisk,format"
},
"SSH_ARGUMENTS_BLACKLIST": {
"description": "Comma-separated list of arguments that are not allowed",
"required": false,
"example": "-rf,-fr,--force"
}
},
"installations": {
"uvx": {
"type": "uvx",
"command": "uvx",
"args": [
"mcp-science",
"ssh-exec"
],
"env": {
"SSH_HOST": "${SSH_HOST}",
"SSH_PORT": "${SSH_PORT}",
"SSH_USERNAME": "${SSH_USERNAME}",
"SSH_PRIVATE_KEY": "${SSH_PRIVATE_KEY}",
"SSH_ALLOWED_COMMANDS": "${SSH_ALLOWED_COMMANDS}",
"SSH_ALLOWED_PATHS": "${SSH_ALLOWED_PATHS}",
"SSH_COMMANDS_BLACKLIST": "${SSH_COMMANDS_BLACKLIST}",
"SSH_ARGUMENTS_BLACKLIST": "${SSH_ARGUMENTS_BLACKLIST}"
},
"description": "Run server using uv"
}
},
"examples": [
{
"title": "Execute a command",
"description": "Execute a command on the remote system",
"prompt": "Execute 'ls -la /tmp' on the remote server"
}
],
"categories": [
"System Tools"
],
"tools": [
{
"name": "ssh_exec",
"description": "Execute a command on the remote system",
"inputSchema": {
"properties": {
"command": {
"description": "Command for SSH server to execute",
"title": "Command",
"type": "string"
},
"arguments": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Arguments to pass to the command",
"title": "Arguments"
},
"timeout": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Timeout in seconds for command execution",
"title": "Timeout"
}
},
"required": [
"command"
],
"title": "ssh_execArguments",
"type": "object"
}
}
],
"is_official": true
}