MCP server for z/OS mainframe FTP operations
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add z-os-ftp --env ZFTP_HOST='<ZFTP_HOST>' --env ZFTP_USER='<ZFTP_USER>' --env ZFTP_PASSWORD='<ZFTP_PASSWORD>' --env ZFTP_DOWNLOAD_PATH='<ZFTP_DOWNLOAD_PATH>' -- uvx zos-ftp-mcp~/.codex/config.toml
[mcp_servers.z-os-ftp]
command = "uvx"
args = ["zos-ftp-mcp"]
env = { ZFTP_HOST = "<ZFTP_HOST>", ZFTP_USER = "<ZFTP_USER>", ZFTP_PASSWORD = "<ZFTP_PASSWORD>", ZFTP_DOWNLOAD_PATH = "<ZFTP_DOWNLOAD_PATH>" }
# codex mcp add z-os-ftp --env ZFTP_HOST='<ZFTP_HOST>' --env ZFTP_USER='<ZFTP_USER>' --env ZFTP_PASSWORD='<ZFTP_PASSWORD>' --env ZFTP_DOWNLOAD_PATH='<ZFTP_DOWNLOAD_PATH>' -- uvx zos-ftp-mcp~/.cursor/mcp.json
{
"mcpServers": {
"z-os-ftp": {
"command": "uvx",
"args": [
"zos-ftp-mcp"
],
"env": {
"ZFTP_HOST": "<ZFTP_HOST>",
"ZFTP_USER": "<ZFTP_USER>",
"ZFTP_PASSWORD": "<ZFTP_PASSWORD>",
"ZFTP_DOWNLOAD_PATH": "<ZFTP_DOWNLOAD_PATH>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"z-os-ftp": {
"type": "stdio",
"command": "uvx",
"args": [
"zos-ftp-mcp"
],
"env": {
"ZFTP_HOST": "<ZFTP_HOST>",
"ZFTP_USER": "<ZFTP_USER>",
"ZFTP_PASSWORD": "<ZFTP_PASSWORD>",
"ZFTP_DOWNLOAD_PATH": "<ZFTP_DOWNLOAD_PATH>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"z-os-ftp": {
"command": "uvx",
"args": [
"zos-ftp-mcp"
],
"env": {
"ZFTP_HOST": "<ZFTP_HOST>",
"ZFTP_USER": "<ZFTP_USER>",
"ZFTP_PASSWORD": "<ZFTP_PASSWORD>",
"ZFTP_DOWNLOAD_PATH": "<ZFTP_DOWNLOAD_PATH>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"z-os-ftp": {
"command": "uvx",
"args": [
"zos-ftp-mcp"
],
"env": {
"ZFTP_HOST": "<ZFTP_HOST>",
"ZFTP_USER": "<ZFTP_USER>",
"ZFTP_PASSWORD": "<ZFTP_PASSWORD>",
"ZFTP_DOWNLOAD_PATH": "<ZFTP_DOWNLOAD_PATH>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"z-os-ftp": {
"command": "uvx",
"args": [
"zos-ftp-mcp"
],
"env": {
"ZFTP_HOST": "<ZFTP_HOST>",
"ZFTP_USER": "<ZFTP_USER>",
"ZFTP_PASSWORD": "<ZFTP_PASSWORD>",
"ZFTP_DOWNLOAD_PATH": "<ZFTP_DOWNLOAD_PATH>"
}
}
}
}Environment variables
ZFTP_HOSTZFTP_USERZFTP_PASSWORDZFTP_DOWNLOAD_PATH
Replace the placeholders with your own credentials and keep them out of version control.