You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: dotenv config files and plugin registry support (#75)
Add support for loading configuration from project-level
.mcp-outline.env and user-level ~/.config/mcp-outline/.env,
with empty env var stripping for Claude Code compatibility.
Add plugin/registry metadata (.claude-plugin/, .mcp.json,
server.json, glama.json) for discoverability across Claude Code,
VS Code, Glama, and the official MCP registry.
New dependency: python-dotenv>=1.0.0
Copy file name to clipboardExpand all lines: README.md
+57-4Lines changed: 57 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -29,6 +29,16 @@ Before using this MCP server, you need:
29
29
30
30
## Quick Start
31
31
32
+
### One-Click Install
33
+
34
+
Click a button to install with interactive API key prompt:
35
+
36
+
[](https://vscode.dev/redirect/mcp/install?name=mcp-outline&inputs=%5B%7B%22id%22%3A%22outline_api_key%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22Enter%20OUTLINE_API_KEY%22%2C%22password%22%3Atrue%7D%2C%7B%22id%22%3A%22outline_api_url%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22Outline%20API%20URL%20(optional%2C%20for%20self-hosted)%22%2C%22password%22%3Afalse%7D%5D&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22mcp-outline%22%5D%2C%22env%22%3A%7B%22OUTLINE_API_KEY%22%3A%22%24%7Binput%3Aoutline_api_key%7D%22%2C%22OUTLINE_API_URL%22%3A%22%24%7Binput%3Aoutline_api_url%7D%22%7D%7D)
37
+
[](https://insiders.vscode.dev/redirect/mcp/install?name=mcp-outline&inputs=%5B%7B%22id%22%3A%22outline_api_key%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22Enter%20OUTLINE_API_KEY%22%2C%22password%22%3Atrue%7D%2C%7B%22id%22%3A%22outline_api_url%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22Outline%20API%20URL%20(optional%2C%20for%20self-hosted)%22%2C%22password%22%3Afalse%7D%5D&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22mcp-outline%22%5D%2C%22env%22%3A%7B%22OUTLINE_API_KEY%22%3A%22%24%7Binput%3Aoutline_api_key%7D%22%2C%22OUTLINE_API_URL%22%3A%22%24%7Binput%3Aoutline_api_url%7D%22%7D%7D&quality=insiders)
38
+
[](https://cursor.com/en/install-mcp?name=mcp-outline&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJtY3Atb3V0bGluZSJdLCJlbnYiOnsiT1VUTElORV9BUElfS0VZIjoiJHtpbnB1dDpvdXRsaW5lX2FwaV9rZXl9IiwiT1VUTElORV9BUElfVVJMIjoiJHtpbnB1dDpvdXRsaW5lX2FwaV91cmx9In0sImlucHV0cyI6W3siaWQiOiJvdXRsaW5lX2FwaV9rZXkiLCJ0eXBlIjoicHJvbXB0U3RyaW5nIiwiZGVzY3JpcHRpb24iOiJFbnRlciBPVVRMSU5FX0FQSV9LRVkiLCJwYXNzd29yZCI6dHJ1ZX0seyJpZCI6Im91dGxpbmVfYXBpX3VybCIsInR5cGUiOiJwcm9tcHRTdHJpbmciLCJkZXNjcmlwdGlvbiI6Ik91dGxpbmUgQVBJIFVSTCAob3B0aW9uYWwsIGZvciBzZWxmLWhvc3RlZCkiLCJwYXNzd29yZCI6ZmFsc2V9XX0=)
39
+
40
+
### Manual Install
41
+
32
42
Install with uv (recommended), pip, or Docker:
33
43
34
44
```bash
@@ -41,7 +51,49 @@ pip install mcp-outline # using pip
41
51
docker run -e OUTLINE_API_KEY=<your-key> ghcr.io/vortiago/mcp-outline:latest
42
52
```
43
53
44
-
Then add to your MCP client. Example for **Claude Desktop** (`~/Library/Application Support/Claude/claude_desktop_config.json`):
54
+
Then add to your MCP client config (works with VS Code, Claude Desktop, Cursor, and others):
55
+
56
+
```json
57
+
{
58
+
"inputs": [
59
+
{
60
+
"id": "outline_api_key",
61
+
"type": "promptString",
62
+
"description": "Enter OUTLINE_API_KEY",
63
+
"password": true
64
+
},
65
+
{
66
+
"id": "outline_api_url",
67
+
"type": "promptString",
68
+
"description": "Outline API URL (optional, for self-hosted)",
69
+
"password": false
70
+
}
71
+
],
72
+
"servers": {
73
+
"mcp-outline": {
74
+
"command": "uvx",
75
+
"args": ["mcp-outline"],
76
+
"env": {
77
+
"OUTLINE_API_KEY": "${input:outline_api_key}",
78
+
"OUTLINE_API_URL": "${input:outline_api_url}"
79
+
}
80
+
}
81
+
}
82
+
}
83
+
```
84
+
85
+
<details>
86
+
<summary>Claude Code</summary>
87
+
88
+
```bash
89
+
claude mcp add mcp-outline uvx mcp-outline
90
+
```
91
+
</details>
92
+
93
+
<details>
94
+
<summary>Claude Desktop</summary>
95
+
96
+
Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
45
97
46
98
```json
47
99
{
@@ -51,20 +103,21 @@ Then add to your MCP client. Example for **Claude Desktop** (`~/Library/Applicat
Setup guides for other clients: [Cursor, VS Code, Cline, Docker (HTTP), pip](docs/client-setup.md)
114
+
Setup guides for more clients: [Docker (HTTP), Cline, Codex, Windsurf, and others](docs/client-setup.md)
62
115
63
116
## Configuration
64
117
65
118
| Variable | Required | Default | Notes |
66
119
|----------|----------|---------|-------|
67
-
|`OUTLINE_API_KEY`| Yes*| - | Required for stdio transport. For SSE/HTTP, can be provided per-user via `x-outline-api-key` header instead ([details](docs/configuration.md#per-user-outline-api-keys)) |
120
+
|`OUTLINE_API_KEY`| Yes*| - | Required for tool calls to succeed. For SSE/HTTP, can alternatively be provided per-request via `x-outline-api-key` header ([details](docs/configuration.md#per-user-outline-api-keys)) |
68
121
|`OUTLINE_API_URL`| No |`https://app.getoutline.com/api`| For self-hosted: `https://your-domain/api`|
69
122
|`OUTLINE_VERIFY_SSL`| No |`true`| Set `false` for self-signed certificates |
70
123
|`OUTLINE_READ_ONLY`| No |`false`|`true` = disable ALL write operations ([details](docs/configuration.md#read-only-mode)) |
Go to **Settings → MCP** and click **Add Server**:
28
+
**One-click install**: [](https://cursor.com/en/install-mcp?name=mcp-outline&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyJtY3Atb3V0bGluZSJdLCJlbnYiOnsiT1VUTElORV9BUElfS0VZIjoiJHtpbnB1dDpvdXRsaW5lX2FwaV9rZXl9IiwiT1VUTElORV9BUElfVVJMIjoiJHtpbnB1dDpvdXRsaW5lX2FwaV91cmx9In0sImlucHV0cyI6W3siaWQiOiJvdXRsaW5lX2FwaV9rZXkiLCJ0eXBlIjoicHJvbXB0U3RyaW5nIiwiZGVzY3JpcHRpb24iOiJFbnRlciBPVVRMSU5FX0FQSV9LRVkiLCJwYXNzd29yZCI6dHJ1ZX0seyJpZCI6Im91dGxpbmVfYXBpX3VybCIsInR5cGUiOiJwcm9tcHRTdHJpbmciLCJkZXNjcmlwdGlvbiI6Ik91dGxpbmUgQVBJIFVSTCAob3B0aW9uYWwsIGZvciBzZWxmLWhvc3RlZCkiLCJwYXNzd29yZCI6ZmFsc2V9XX0=)
29
+
30
+
Or go to **Settings → MCP** and click **Add Server**:
**One-click install**: [](https://vscode.dev/redirect/mcp/install?name=mcp-outline&inputs=%5B%7B%22id%22%3A%22outline_api_key%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22Enter%20OUTLINE_API_KEY%22%2C%22password%22%3Atrue%7D%2C%7B%22id%22%3A%22outline_api_url%22%2C%22type%22%3A%22promptString%22%2C%22description%22%3A%22Outline%20API%20URL%20(optional%2C%20for%20self-hosted)%22%2C%22password%22%3Afalse%7D%5D&config=%7B%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22mcp-outline%22%5D%2C%22env%22%3A%7B%22OUTLINE_API_KEY%22%3A%22%24%7Binput%3Aoutline_api_key%7D%22%2C%22OUTLINE_API_URL%22%3A%22%24%7Binput%3Aoutline_api_url%7D%22%7D%7D)
62
62
63
-
**Optional**: Use input variables for sensitive credentials:
63
+
Or create a `.vscode/mcp.json` file in your workspace (recommended — uses secure password prompts):
64
64
65
65
```json
66
66
{
67
67
"inputs": [
68
68
{
69
69
"type": "promptString",
70
-
"id": "outline-api-key",
71
-
"description": "Outline API Key",
70
+
"id": "outline_api_key",
71
+
"description": "Enter OUTLINE_API_KEY",
72
72
"password": true
73
+
},
74
+
{
75
+
"type": "promptString",
76
+
"id": "outline_api_url",
77
+
"description": "Outline API URL (optional, for self-hosted)",
78
+
"password": false
73
79
}
74
80
],
75
81
"servers": {
@@ -78,13 +84,20 @@ Create a `.vscode/mcp.json` file in your workspace:
78
84
"command": "uvx",
79
85
"args": ["mcp-outline"],
80
86
"env": {
81
-
"OUTLINE_API_KEY": "${input:outline-api-key}"
87
+
"OUTLINE_API_KEY": "${input:outline_api_key}",
88
+
"OUTLINE_API_URL": "${input:outline_api_url}"
82
89
}
83
90
}
84
91
}
85
92
}
86
93
```
87
94
95
+
You can also install via the CLI:
96
+
97
+
```bash
98
+
code --add-mcp '{"name":"mcp-outline","command":"uvx","args":["mcp-outline"],"env":{"OUTLINE_API_KEY":"${input:outline_api_key}","OUTLINE_API_URL":"${input:outline_api_url}"},"inputs":[{"id":"outline_api_key","type":"promptString","description":"Enter OUTLINE_API_KEY","password":true},{"id":"outline_api_url","type":"promptString","description":"Outline API URL (optional, for self-hosted)","password":false}]}'
99
+
```
100
+
88
101
See the [official VS Code MCP documentation](https://code.visualstudio.com/docs/copilot/chat/mcp-servers) for more details.
89
102
90
103
## Cline (VS Code)
@@ -104,6 +117,31 @@ In Cline extension settings, add to MCP servers:
104
117
}
105
118
```
106
119
120
+
## Claude Code (Plugin)
121
+
122
+
Install directly as a Claude Code plugin from GitHub:
123
+
124
+
```bash
125
+
/plugin marketplace add Vortiago/mcp-outline
126
+
/plugin install mcp-outline@mcp-outline
127
+
```
128
+
129
+
Or test locally during development:
130
+
131
+
```bash
132
+
claude --plugin-dir ./path-to-mcp-outline
133
+
```
134
+
135
+
Set your Outline API key in your shell profile (`~/.bashrc` or `~/.zshrc`):
Restart Claude Code after setting environment variables. If `OUTLINE_API_KEY` is not configured, each tool call will return an error with setup instructions.
Copy file name to clipboardExpand all lines: docs/configuration.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -87,7 +87,7 @@ Then connect from your client with a user-specific key:
87
87
}
88
88
```
89
89
90
-
> **Note:** The `x-outline-api-key` header is only available for HTTP transports. In `stdio` mode, the `OUTLINE_API_KEY` environment variable is the only option.
90
+
> **Note:** The `x-outline-api-key` header is only available for HTTP transports (SSE, streamable-http). In `stdio` mode, you must set `OUTLINE_API_KEY`via environment variable or a [dotenv config file](client-setup.md#claude-code-plugin). If it is missing, the server still starts but every tool call will return an error with setup instructions.
0 commit comments