# uplinkcrate [Health: Active]

**Category:** 🔗 Aggregators  
**Repository:** https://github.com/hwdsl2/uplinkcrate  
**GitHub Stars:** 5  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/uplinkcrate

## Description
UplinkCrate: self-hosted multi-server MCP (Model Context Protocol) gateway with Bearer token auth, powered by MCPHub and Caddy. Streamable HTTP/SSE access to filesystem, fetch, GitHub, Brave Search, Git, PostgreSQL, memory, and more through one endpoint. Env-file configuration. Docker deployment on amd64/arm64.

## Claude Desktop Quick Installation
No confirmed install details yet, so no config is published. Follow the setup steps in the repository above.

## Documentation

## What uplinkcrate does

The uplinkcrate MCP server provides a self-hosted gateway for multiple MCP tool servers. Instead of configuring each backend as a separate network service, clients can connect through one gateway endpoint. Requests can target all enabled servers at `/mcp` or a specific server at `/mcp/<name>`.

Caddy applies Bearer token authentication to API requests. On first startup, the gateway generates an API key and stores it in the persistent data volume unless `MCP_API_KEY` is supplied. A web dashboard at `/` shows MCP server status, while `/health` provides an unauthenticated health check.

This project belongs in the 💻 Developer Tools category and is useful for self-hosted environments where one authenticated endpoint should expose filesystem, repository, database, search, or memory tools to compatible AI clients.

## How it works

The gateway is distributed as a Docker image named `hwdsl2/mcp-gateway`. It supports Linux `amd64` and `arm64` platforms and listens on TCP port 3000 by default. Configuration is read from an environment file rather than a JSON server definition.

Enabled servers are selected with a comma-separated `MCP_SERVERS` value. The default is `fetch`. Each enabled backend is routed through MCP transport support for Streamable HTTP or SSE. The image is powered by MCPHub and uses a Caddy authentication proxy in front of the API.

For internet-facing deployments, the documentation recommends placing the container behind a reverse proxy that provides HTTPS and binding the container port to localhost rather than exposing the unencrypted port directly.

## Setup and configuration

Start the container with a persistent volume, publish port 3000, and use the `hwdsl2/mcp-gateway` image. Retrieve the generated API key from container logs or with `docker exec mcp mcp_manage --getkey`; `--showkey` displays it again. API requests use the key in an `Authorization: Bearer` header, while `mcp_manage` commands executed inside the container do not require it.

An env file can define the gateway port, advertised host, enabled servers, API key, dashboard password, and usage-count behavior. Filesystem and Git integrations also need host directories or a repository bind-mounted into the container. Filesystem access is restricted to paths listed in `MCP_FILESYSTEM_DIRS`.

## Tools and capabilities

Available built-in MCP servers are:

- `fetch` for retrieving URLs and extracting content
- `filesystem` for reading and writing files in permitted directories
- `github` for GitHub repositories, issues, and pull requests
- `brave-search` for web searches through the Brave Search API
- `git` for repository status, diffs, commits, and logs
- `postgres` for querying PostgreSQL databases
- `memory` for knowledge-graph and persistent-memory operations
- `sequential-thinking` for structured reasoning workflows

The `mcp_manage` helper can list enabled servers, test a named server, show gateway status, and manage the API key. LiteLLM, including GatewayCrate, can connect to the gateway so compatible language models can use its MCP tools.

## Limitations and notes

All documented environment variables are optional, but some servers require additional configuration. GitHub needs `MCP_GITHUB_TOKEN`, Brave Search needs `MCP_BRAVE_API_KEY`, PostgreSQL needs `MCP_POSTGRES_URL`, and Git needs `MCP_GIT_REPO`. The filesystem and Git servers also depend on suitable Docker bind mounts.

The gateway requires a Linux host with Docker, at least 512 MB of available RAM, and an accessible TCP port. API access is authenticated, but the default container example exposes port 3000 without HTTPS; use the documented reverse-proxy arrangement for public deployments. The dashboard password is auto-generated when it is not configured.

_Full upstream README: https://allmcps.com/mcp/uplinkcrate/readme_

