docs/enterprise/on-premise.mdx
Context7 On-Premise lets you run the full Context7 stack inside your own infrastructure. Your code, documentation, and embeddings never leave your environment.
Go to context7.com/plans and click On-Premise Trial. Fill out the request form. No credit card required. You'll receive a 30-day full-featured license key via email once approved.
</Step> <Step title="Deploy">Follow the deployment guide for your platform:
<CardGroup cols={2}> <Card title="Docker" icon="docker" href="/enterprise/deployment/docker"> Deploy with Docker Compose </Card> <Card title="Kubernetes" icon="dharmachakra" href="/enterprise/deployment/kubernetes"> Deploy on Kubernetes with raw manifests </Card> </CardGroup> </Step> <Step title="Complete the setup wizard">Open http://localhost:3000 in your browser. On first launch, the setup wizard guides you through configuring:
All configuration is stored locally in the embedded database and can be updated later from the Settings page.
</Step> <Step title="Ingest your first repository">From the dashboard, click Add Repository and enter a GitHub or GitLab URL. Once ingestion completes, your private docs are ready to query.
You can also add libraries via the REST API:
curl -X POST http://localhost:3000/api/parse \
-H "Content-Type: application/json" \
-d '{"url": "https://github.com/your-org/your-repo"}'
Point your MCP client at your deployment URL. Replace https://context7.internal.yourcompany.com with your actual host.
claude mcp add --scope user --transport http context7 https://context7.internal.yourcompany.com/mcp
Add to ~/.cursor/mcp.json:
{
"mcpServers": {
"context7": {
"url": "https://context7.internal.yourcompany.com/mcp"
}
}
}
{
"mcp": {
"context7": {
"type": "remote",
"url": "https://context7.internal.yourcompany.com/mcp",
"enabled": true
}
}
}
For other clients, see All Clients.
These are set in your docker-compose.yml or .env file before starting the container.
| Variable | Required | Description |
|---|---|---|
LICENSE_KEY | Yes | License key issued by Upstash |
PORT | No | HTTP port (default: 3000) |
DATA_DIR | No | Data directory inside the container (default: ./data) |
Configured via the Settings page in the web UI.
| Setting | Description |
|---|---|
| LLM Provider | openai, anthropic, gemini, or custom |
| LLM API Key | API key for your chosen provider |
| LLM Model | Model name (e.g. gpt-4o, claude-sonnet-4-5, gemini-2.5-flash) |
| LLM Base URL | Custom OpenAI-compatible endpoint (for local models or proxies) |
By default, Context7 uses the same provider as your LLM for generating embeddings. You can configure a separate embedding provider if needed.
| Setting | Description |
|---|---|
| Embedding Provider | openai or gemini |
| Embedding API Key | Separate API key for embeddings (falls back to LLM API key) |
| Embedding Model | Embedding model name (e.g. text-embedding-3-small) |
| Embedding Base URL | Custom embedding endpoint |
Configured via the Settings page in the web UI.
| Setting | Description |
|---|---|
| GitHub Token | GitHub Personal Access Token. Required for GitHub repositories |
| GitLab Token | GitLab token. Required for GitLab repositories |
You only need tokens for the platforms you use. If you only parse GitLab repos, you don't need a GitHub token, and vice versa. Create tokens with repo scope (GitHub) or read_repository scope (GitLab) for private repository access.
Admin credentials are set during first login (default: admin / admin). Change these immediately after setup via Settings > Change Credentials.
The Settings page lets you control which operations are available without authentication.
| Permission | Default | Description |
|---|---|---|
| Allow anonymous parse | Off | Allow unauthenticated users to trigger parsing |
| Allow anonymous refresh | Off | Allow unauthenticated users to refresh libraries |
| Allow anonymous delete | Off | Allow unauthenticated users to delete libraries |
| Allow anonymous support bundle | Off | Allow unauthenticated support bundle downloads |
When a permission is off, the operation requires admin login. The MCP endpoint and search API are always publicly accessible.
Open your deployment URL in a browser to access the dashboard. From here you can:
For updating, health checks, and other operational tasks, see the deployment guide for your platform:
For license issues, upgrade requests, or deployment questions, contact [email protected].