Content
# Ubuntu MCP Servers
A mono repository of [Model Context Protocol](https://modelcontextprotocol.io/) (MCP) servers maintained by the Ubuntu Desktop team, written in Rust using the [rmcp](https://crates.io/crates/rmcp) SDK.
Each subdirectory (e.g. `ubuntu-package-server/`) contains one standalone MCP server that can be built and distributed independently. The workspace root provides shared dependency versions so all servers stay aligned.
## Quick Start
### 1. Clone and set up the dev environment
Use the `/setup-dev` Copilot skill, or run the script directly:
```bash
git clone <repo-url> ubuntu-mcp-servers
cd ubuntu-mcp-servers
bash .github/skills/setup-dev/setup-dev.sh
```
This creates an LXD container with Rust, cargo tools, and MCP Inspector all pre-installed, and wires it up to VS Code. See [docs/dev/setup-lxd.md](docs/dev/setup-lxd.md) for details.
### 2. Open VS Code
```bash
code --remote ssh-remote+ubuntu-mcp-servers /home/ubuntu/ubuntu-mcp-servers
```
Install all recommended extensions when prompted. `rust-analyzer` activates automatically.
### 3. Build and test
Inside the container (via the VS Code integrated terminal or `ssh ubuntu-mcp-servers`):
```bash
cargo build --workspace
cargo nextest run --workspace
```
## Repository Structure
```
ubuntu-mcp-servers/
├── Cargo.toml # Workspace root — shared dependency versions
├── rust-toolchain.toml # Pinned Rust toolchain
├── scripts/
│ └── bootstrap.sh # Env-agnostic tool installer (used by setup-dev.sh)
├── docs/
│ ├── mcp-servers/ # API reference for each MCP server
│ └── dev/ # Developer guides (LXD setup, inspector usage, etc.)
└── <server-name>/ # One MCP server per subdirectory (none yet)
```
## Adding a New MCP Server
Use the `/new-mcp-server` Copilot skill, or run the script directly:
```bash
bash .github/skills/new-mcp-server/new-mcp-server.sh <server-name>
```
See [CONTRIBUTING.md](CONTRIBUTING.md) for conventions and the full workflow.
## MCP Servers
| Server | Description | Doc |
|--------|-------------|-----|
| [`ubuntu-ultimate-mcp-server-ultra-deluxe-edition`](ubuntu-ultimate-mcp-server-ultra-deluxe-edition/) | The Ubuntu Ultimate MCP Server Ultra Deluxe Edition — a living template demonstrating every MCP feature: basic tools, elicitation, sampling, progress+logs+cancellation, static resources, templated resources, MCP Apps, prompt completion, and logging. | [docs](docs/mcp-servers/ubuntu-ultimate-mcp-server-ultra-deluxe-edition.md) |
## Isolation
Development runs inside an LXD container — Rust tools, cargo, and rust-analyzer are contained there and do not affect your host machine. See [docs/dev/setup-lxd.md](docs/dev/setup-lxd.md) for the full setup and `scripts/bootstrap.sh` for bare-metal use.
Connection Info
You Might Also Like
everything-claude-code
Complete Claude Code configuration collection - agents, skills, hooks,...
markitdown
MarkItDown-MCP is a lightweight server for converting URIs to Markdown.
cc-switch
All-in-One Assistant for Claude Code, Codex & Gemini CLI across platforms.
servers
Model Context Protocol Servers
servers
Model Context Protocol Servers
Time
A Model Context Protocol server for time and timezone conversions.