aws_cliLABSCO SUMMARY
Your infrastructure, reached from a chat, with the keys still on your desk.
A Claude.ai custom connector needs a public HTTPS endpoint and your AWS profile does not have one; the frp tunnel bridges that without copying credentials anywhere. The cost is genuine setup, a VPS and a certificate, before the first command runs.
What it is
A small Node MCP server you run on your own machine and add to Claude.ai as a custom connector through your own tunnel. It runs AWS CLI commands against your local profile, and its other tools reach SSH, the local shell and filesystem, the GitHub REST API, PostgreSQL over SSH and PM2 on remote hosts.
What you get
- AWS CLI commands executed with your local profile (aws_cli)
- SSH into your own servers using your .pem keys
- Shell commands run on the local machine, and files written directly to local disk in full Unicode with no shell quoting
- PostgreSQL queries against remote hosts reached over SSH, and PM2 process inspection on those hosts
- The GitHub REST API called with your personal access token
- Iteration over documents longer than the context window
- Credentials stay local: the tunnel carries MCP requests and their results, not your keys
Requirements
A recent Node, plus the tunnel it is built around: nginx with a certificate and frps on a VPS, and frpc on the machine that holds your credentials.
Setup effort
Build from source — git clone https://github.com/LeszczynskiKarol/mcp-server.git
USE CASES
Checking on AWS resources without opening the console
Run the describe or list command you would have typed, against your own profile.
Running an operational step from a conversation
The command executes locally with your credentials, and the output comes back into the chat.
Answering a billing or inventory question about an account
Query the account directly instead of estimating from memory.
Using real tools from Claude.ai without a desktop client
The server runs on your machine and appears as a custom connector in the sidebar.
12 tools
Listed in project docs. Your client may show a different list.
ssh_execlocal_execwrite_filegithub_apipostgres_querypm2_statussftp_downloadsftp_uploadbook_splitbook_chunkbook_noteBEFORE YOU INSTALL
What to know first
Tools you get
12 tools named in the project's documentation. The README's screenshots still say 10 tools; its tools table lists 12, including the newer sftp_download and sftp_upload.
Requires
- Node.js 18+
- A public HTTPS endpoint for Claude.ai — the documented setup is FRP + nginx + Let's Encrypt on a small VPS, with your own domain
INSTALLATION
Connect your client
This one is built from source rather than installed with a single command.
Server setup
git clone https://github.com/LeszczynskiKarol/mcp-server.git
cd mcp-server
npm install
cp .env.example .envEdit .env: set MCP_USER (the example uses admin), MCP_PASS (a random password of at least 20 characters) and MCP_BASE_URL (your public HTTPS address, e.g. <YOUR_SERVER_URL>) — MCP_USER and MCP_PASS are the login you enter when Claude.ai connects
cp hosts.example.json hosts.jsonEdit hosts.json: add your servers and the paths to their .pem keys
node server.jsThe server listens on port 4500
Claude.ai requires HTTPS; the project's recommended setup uses FRP + nginx + Let's Encrypt on a small VPS
DNS record: <YOUR_DOMAIN> A <YOUR_SERVER_ADDR> TTL 300
On the VPS, create /etc/nginx/sites-available/<YOUR_DOMAIN> with a server block for <YOUR_DOMAIN> that proxies location / to http://127.0.0.1:8080 (the README prints the full block, including the SSE settings)
sudo ln -s /etc/nginx/sites-available/<YOUR_DOMAIN> /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
sudo certbot --nginx -d <YOUR_DOMAIN>On the VPS, /etc/frp/frps.toml: bindPort = 7000, vhostHTTPPort = 8080, auth.method = "token", auth.token = "<YOUR_AUTH_TOKEN>"
On your machine, frpc-mcp.toml: serverAddr = "<YOUR_SERVER_ADDR>", serverPort = 7000, auth.method = "token", auth.token = "<YOUR_AUTH_TOKEN>", and a [[proxies]] entry name = "mcp", type = "http", localPort = 4500, customDomains = ["<YOUR_DOMAIN>"]
In Claude.ai: Settings > Connectors > Add custom connector, URL <YOUR_SERVER_URL>/mcp (the /mcp suffix is required), leave OAuth Client ID/Secret empty, Connect, then log in with the MCP_USER and MCP_PASS values from your .env
Windows autostart (optional): run install-task.bat as administrator