# MCP Uplink π
[](https://www.npmjs.com/package/mcp-uplink)
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org/)
**The official CLI for [MCP Uplink](https://mcp-uplink.com) - Cloud MCP Hosting for AI Agents**
> **Your AI Agents: Faster, Cheaper, Safer**
Connect Claude Desktop, Cursor, VS Code, Windsurf and any MCP-compatible AI client to the MCP Uplink cloud platform.
---
## β‘ Why MCP Uplink?
| Problem | Solution |
|---------|----------|
| π₯ **Too many tokens** | Only load the tools you need. Reduce context by 60%. |
| πΈ **High API costs** | Fewer tokens = lower costs. Calculate savings at [mcp-calculator](https://mcp-uplink.com/mcp-calculator) |
| π€ **LLM hallucinations** | Less noise = more accurate responses. Specialized agents perform better. |
| π **Security concerns** | Zero Trust: Your credentials NEVER leave your machine. |
| βοΈ **Infrastructure headaches** | We manage MCP servers. You focus on building. |
---
## π― 3 Pillars for Optimal AI Agents
### 1. π§ Intelligent Tool Filtering
Reduce your context window by only exposing the tools your agent actually needs.
```
β Native MCP: Sends ALL 50+ tool definitions β Heavy load, confused LLM
β
MCP Uplink: Only sends 5 tools you need β Fast, focused, accurate
```
**Result:** 60% less tokens, fewer hallucinations, better responses.
### 2. π Dual-Layer Security
**Layer 1: Zero Trust Architecture**
- Your API keys and tokens stay in YOUR local `.env` file
- Secrets are transmitted in-memory via encrypted HTTPS headers
- **We NEVER store your credentials** - we're just a secure proxy
**Layer 2: Tool Blocking**
- Block dangerous tools like `delete`, `drop`, `modify`
- Prevent catastrophic accidents where an agent deletes your database
### 3. π° Maximum Performance, Minimum Cost
- Less noise = faster and more accurate LLM responses
- Agents respond instantly with higher quality answers
- Managed infrastructure = no DevOps overhead for you
---
## π¦ Installation
No installation required! Just use `npx`:
```bash
npx mcp-uplink connect --url https://mcp-uplink.com/api/mcp/slack
```
Or install globally for faster startup:
```bash
npm install -g mcp-uplink
```
---
## π Quick Start
### Claude Desktop Configuration
Add this to your `claude_desktop_config.json`:
| OS | Path |
|----|------|
| **Mac** | `~/Library/Application Support/Claude/claude_desktop_config.json` |
| **Windows** | `%APPDATA%/Claude/claude_desktop_config.json` |
| **Linux** | `~/.config/Claude/claude_desktop_config.json` |
```json
{
"mcpServers": {
"slack": {
"command": "npx",
"args": [
"-y",
"mcp-uplink",
"connect",
"--url", "https://mcp-uplink.com/api/mcp/slack"
],
"env": {
"MCP_API_KEY": "your-mcp-uplink-api-key",
"MCP_ENABLED_TOOLS": "send_message,list_channels",
"SLACK_BOT_TOKEN": "xoxb-your-slack-token",
"SLACK_TEAM_ID": "T0123456789"
}
}
}
}
```
### Cursor / VS Code / Windsurf
Same configuration format - just add to your MCP settings.
---
## βοΈ CLI Options
| Option | Description |
|--------|-------------|
| `-u, --url <url>` | **Required**. MCP Uplink endpoint URL |
| `-k, --api-key <key>` | Platform API key (or set `MCP_API_KEY` env var) |
| `--enabled-tools <list>` | Comma-separated list of tools to enable |
| `--no-forward-env` | Disable environment variable forwarding |
| `--env-prefix <prefix>` | Only forward env vars with this prefix |
### Environment Variables
| Variable | Description |
|----------|-------------|
| `MCP_API_KEY` | Your MCP Uplink API key |
| `MCP_ENABLED_TOOLS` | Tools to enable (e.g., `send_message,list_users`) |
| `MCP_SERVER_URL` | Default server URL |
| `MCP_ENV_PREFIX` | Prefix filter for env vars |
---
## π Security Architecture
```
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β YOUR MACHINE (Secure) β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β .env file β β
β β SLACK_BOT_TOKEN=xoxb-xxx (never leaves here) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β mcp-uplink CLI (local process) β β
β β - Captures env vars in-memory β β
β β - Encrypts via HTTPS header (X-Mcp-Env) β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ HTTPS (encrypted)
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MCP UPLINK CLOUD β
β - Receives request β
β - Decrypts env vars IN-MEMORY ONLY β
β - Executes MCP tool β
β - Immediately forgets credentials (no storage) β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
```
**Key Security Features:**
- β
**Ephemeral Secrets**: Never stored, only used in-memory
- β
**HTTPS Transport**: All data encrypted in transit
- β
**Blacklist Filtering**: System vars (PATH, SHELL) are never forwarded
- β
**Tool Blocking**: Prevent dangerous operations
---
## π How It Works
```mermaid
sequenceDiagram
participant Claude as Claude Desktop
participant Bridge as mcp-uplink (local)
participant Cloud as MCP Uplink Cloud
participant MCP as MCP Server
Claude->>Bridge: tools/list
Bridge->>Cloud: POST /api/mcp/slack (+ X-Mcp-Env header)
Cloud->>MCP: Execute with filtered tools
MCP-->>Cloud: Tool definitions
Cloud-->>Bridge: Filtered response
Bridge-->>Claude: Only enabled tools
```
---
## π Links
- **Website**: [https://mcp-uplink.com](https://mcp-uplink.com)
- **Cost Calculator**: [https://mcp-uplink.com/mcp-calculator](https://mcp-uplink.com/mcp-calculator)
- **MCP Marketplace**: [https://mcp-uplink.com/marketplace](https://mcp-uplink.com/marketplace)
- **Documentation**: [https://mcp-uplink.com/docs](https://mcp-uplink.com/docs)
- **GitHub**: [https://github.com/idbouche/mcp-uplink](https://github.com/idbouche/mcp-uplink)
---
## π License
MIT Β© [MCP Uplink](https://mcp-uplink.com)