Quick Start
5 min read
This guide walks you through installing the MCP Client, checking your system capabilities, authenticating with a registry, and running your first MCP package.
Prerequisites
| Requirement | Minimum Version | Check Command |
|---|---|---|
| Go | 1.24+ | go version |
| Make | Any | make --version |
| Git | 2.30+ | git --version |
The MCP Client requires Go 1.24 or later. Older versions produce compilation errors. Verify your version before proceeding.
Step 1: Install the MCP Client
Build from Source
Clone the repository and build the binary:
git clone https://github.com/your-org/mcp-hub-platform.git
cd mcp-hub-platform/mcp-client
make build
This produces the mcp binary in the current directory. Optionally, install it system-wide:
make install
This copies the binary to $GOPATH/bin/mcp.
Verify the Installation
mcp --version
You should see output similar to:
mcp version 1.0.0 (commit: abc1234, built: 2025-01-15T10:00:00Z)
The binary is named mcp, not mcp-client. All commands in this documentation use the mcp prefix.
Step 2: Check System Capabilities
Run the built-in diagnostic tool to understand what sandboxing features are available on your system:
mcp doctor
Example Output (Linux)
MCP Client System Diagnostics
==============================
Platform: linux (amd64)
Go Version: 1.24.1
Sandbox Capabilities:
Resource Limits: OK (cgroups v2 + rlimits)
Network Isolation: OK (network namespaces)
Filesystem: OK (bind mounts + Landlock)
Subprocess Ctrl: OK (seccomp)
Registry Connectivity:
Default Registry: OK (https://registry.mcp-hub.io)
Latency: 45ms
Cache:
Directory: ~/.mcp/cache
Size: 0 B (empty)
Overall: PRODUCTION READY
Example Output (macOS)
MCP Client System Diagnostics
==============================
Platform: darwin (arm64)
Go Version: 1.24.1
Sandbox Capabilities:
Resource Limits: PARTIAL (rlimits only, no cgroups)
Network Isolation: NOT AVAILABLE
Filesystem: PARTIAL (best-effort UNIX permissions)
Subprocess Ctrl: LIMITED
Registry Connectivity:
Default Registry: OK (https://registry.mcp-hub.io)
Latency: 62ms
Cache:
Directory: ~/.mcp/cache
Size: 0 B (empty)
Overall: DEVELOPMENT ONLY -- not recommended for untrusted MCPs
Only Linux with cgroups v2 is considered production-ready for running untrusted MCP servers. macOS and Windows lack network isolation and full filesystem sandboxing. See Sandboxing & Isolation for details.
Step 3: Log In to the Registry
Authenticate with the MCP Hub registry to access packages:
mcp login
This opens an interactive login flow. You will be prompted for your registry URL and credentials:
Registry URL [https://registry.mcp-hub.io]:
Username: [email protected]
Password: ********
Login successful. Token stored in ~/.mcp/auth.json
For non-interactive environments (CI/CD pipelines), use a token directly:
mcp login --registry https://registry.mcp-hub.io --token $MCP_REGISTRY_TOKEN
To verify your authentication status:
mcp info --auth-status
Step 4: Pull Your First Package
Download a package without executing it:
mcp pull acme/[email protected]
Expected output:
Resolving acme/[email protected]...
Manifest: sha256:a1b2c3d4e5f6...
Bundle: sha256:f6e5d4c3b2a1...
Cert Level: 2 (Security Certified)
Origin: Verified
Downloading bundle... 2.3 MB
Validating SHA-256 digest... OK
Package cached at ~/.mcp/cache/sha256/a1b2c3d4e5f6...
The client performs the following steps automatically:
- Resolves the package reference to a specific manifest and bundle digest
- Downloads the bundle from the registry (or uses presigned URLs from S3)
- Validates the SHA-256 digest to ensure integrity
- Caches the artifact locally so subsequent runs are instant
Step 5: Run the Package
Execute the downloaded MCP server:
mcp run acme/[email protected]
Output:
Resolving acme/[email protected]... (cached)
Validating digest... OK
Applying security policy... OK
Cert Level: 2 >= required 0 ✓
Origin: Verified ∈ [Official, Verified, Community] ✓
Starting MCP server (STDIO transport)...
PID: 12345
Memory: 256 MB limit
CPU: 1.0 cores
PIDs: 64 max
Network: deny-all
Server ready. Listening on STDIO.
The client:
- Checks the local cache (skips download if already cached)
- Re-validates the SHA-256 digest
- Enforces your configured security policies
- Launches the MCP server inside a sandbox with resource limits
- Connects via STDIO transport
Press Ctrl+C to stop the server gracefully.
Step 6: Inspect Package Details
View detailed information about any package:
mcp info acme/[email protected]
Package: acme/[email protected]
Manifest: sha256:a1b2c3d4e5f6...
Bundle: sha256:f6e5d4c3b2a1...
Cert Level: 2 (Security Certified)
Score: 85/100
Origin: Verified
Language: Python 3.11
Transport: STDIO
Published: 2025-01-10T14:30:00Z
Tools:
- greet Greet a user by name
- farewell Say goodbye to a user
Resources:
- templates/ Greeting templates directory
Findings: 0 critical, 0 high, 2 medium, 5 low
Understanding the Output
Certification Levels
Every package displays its certification level, which indicates the depth of security analysis it has passed:
| Level | Name | What It Means |
|---|---|---|
| 0 | Integrity Verified | Digest and schema validated only |
| 1 | Static Verified | Basic static analysis, score >= 60 |
| 2 | Security Certified | Full security analysis, score >= 80 |
| 3 | Runtime Certified | Dynamic analysis included, score >= 90 |
Origin Types
The origin indicates who published the package and their verification status:
| Origin | Meaning |
|---|---|
| Official | Maintained by the MCP Hub team |
| Verified | Publisher identity has been verified |
| Community | Published by any user, no identity guarantees |
Common Quick Start Issues
“registry not reachable”
If mcp doctor reports the registry as unreachable, verify the URL:
mcp doctor --registry https://registry.mcp-hub.io
For local development, point to your local registry:
mcp doctor --registry http://localhost:8081
“authentication required”
Some packages require authentication. Make sure you have logged in:
mcp login
“sandbox capabilities limited”
On macOS or Windows, the client will warn about limited sandboxing. This is expected. For development and testing, this is acceptable. For production use with untrusted MCPs, use Linux.
Next Steps
- CLI Reference – Full documentation for every command and flag
- Configuration – Customize the client via config files and environment variables
- Security Policies – Set minimum certification requirements for your organization
- Sandboxing & Isolation – Understand the platform-specific isolation model