outline-mcp-server
v5.8.5An MCP server for interacting with Outline's API
31
Total
20
Critical
4
High
7
Medium
Findings
unknownEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
5: const server = new McpServer({
6: name: process.env.npm_package_name || 'outline-mcp-server',
>>> 7: version: process.env.npm_package_version || 'unknown',
8: description: 'Outline Model Context Protocol server',
9: });Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
197: ```
198:
>>> 199: ### Create a `.env` file with your Outline API key:
200:
201: ```Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
9: // Configuration - Note: environment variables are set by the DXT runtime
10: const CONFIG = {
>>> 11: OUTLINE_API_KEY: process.env.OUTLINE_API_KEY,
12: OUTLINE_API_URL: process.env.OUTLINE_API_URL || 'https://app.getoutline.com/api',
13: };Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
10: const CONFIG = {
11: OUTLINE_API_KEY: process.env.OUTLINE_API_KEY,
>>> 12: OUTLINE_API_URL: process.env.OUTLINE_API_URL || 'https://app.getoutline.com/api',
13: };
14: // Error handling for uncaught exceptionsReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
20: function setupRequestContext(request) {
21: const apiKey = extractApiKey(request);
>>> 22: const envApiKey = process.env.OUTLINE_API_KEY;
23: if (apiKey) {
24: // Use header API keyReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
136: }
137: });
>>> 138: const PORT = process.env.OUTLINE_MCP_PORT ? parseInt(process.env.OUTLINE_MCP_PORT, 10) : 6060;
139: const HOST = process.env.OUTLINE_MCP_HOST || '127.0.0.1';
140: app.listen({ port: PORT, host: HOST }, (err, address) => {Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
137: });
138: const PORT = process.env.OUTLINE_MCP_PORT ? parseInt(process.env.OUTLINE_MCP_PORT, 10) : 6060;
>>> 139: const HOST = process.env.OUTLINE_MCP_HOST || '127.0.0.1';
140: app.listen({ port: PORT, host: HOST }, (err, address) => {
141: if (err) {Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
5: import { RequestContext } from '../utils/toolRegistry.js';
6: const __dirname = dirname(fileURLToPath(import.meta.url));
>>> 7: config({ path: join(__dirname, '..', '.env'), quiet: true });
8: const API_URL = process.env.OUTLINE_API_URL || 'https://app.getoutline.com/api';
9: /**Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
6: const __dirname = dirname(fileURLToPath(import.meta.url));
7: config({ path: join(__dirname, '..', '.env'), quiet: true });
>>> 8: const API_URL = process.env.OUTLINE_API_URL || 'https://app.getoutline.com/api';
9: /**
10: * Creates an Outline API client with the specified API keyReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
11: */
12: export function createOutlineClient(apiKey) {
>>> 13: const key = apiKey || process.env.OUTLINE_API_KEY;
14: if (!key) {
15: throw new Error('OUTLINE_API_KEY must be provided either as parameter or environment variable');Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
3: import { getMcpServer } from './utils/getMcpServer.js';
4: // Validate API key for stdio mode
>>> 5: if (!process.env.OUTLINE_API_KEY) {
6: console.error('Error: OUTLINE_API_KEY environment variable is required for stdio mode');
7: process.exit(1);Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
4: export async function getMcpServer() {
5: const server = new McpServer({
>>> 6: name: process.env.npm_package_name || 'outline-mcp-server',
7: version: process.env.npm_package_version || 'unknown',
8: description: 'Outline Model Context Protocol server',Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
151: You can run the Outline MCP Server using Docker or Docker Compose for easy deployment.
152:
>>> 153: ### 1. Prepare your `.env` file
154:
155: Copy `.env.example` to `.env` and fill in your Outline API key:Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
153: ### 1. Prepare your `.env` file
154:
>>> 155: Copy `.env.example` to `.env` and fill in your Outline API key:
156:
157: ```bashReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
156:
157: ```bash
>>> 158: cp .env.example .env
159: # Edit .env and set OUTLINE_API_KEY=your_outline_api_key_here
160: ```Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
157: ```bash
158: cp .env.example .env
>>> 159: # Edit .env and set OUTLINE_API_KEY=your_outline_api_key_here
160: ```
161: Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
167:
168: - The server will be available on port 6060 by default.
>>> 169: - Environment variables are loaded from your `.env` file.
170:
171: ### 3. Build and run manually with DockerReport false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
173: ```bash
174: docker build -t outline-mcp-server .
>>> 175: docker run --env-file .env -p 6060:6060 outline-mcp-server
176: ```
177: Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
180: ### 4. Customizing
181:
>>> 182: - To change the API URL, set `OUTLINE_API_URL` in your `.env` file or as an environment variable.
183: - To change the port or host, set `OUTLINE_MCP_PORT` and `OUTLINE_MCP_HOST` in your `.env` file or as environment variables.
184: - For more advanced setups, edit `docker-compose.yml` as needed.Report false positiveEnvironment file access
Detected by automated pattern matching (rule DE-002) with medium confidence. May be a false positive.
181:
182: - To change the API URL, set `OUTLINE_API_URL` in your `.env` file or as an environment variable.
>>> 183: - To change the port or host, set `OUTLINE_MCP_PORT` and `OUTLINE_MCP_HOST` in your `.env` file or as environment variables.
184: - For more advanced setups, edit `docker-compose.yml` as needed.
185: Report false positiveDecoded base64 content: J�b�'���ӭ�즊�
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: J�b�'���ӭ�즊�
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: J�b�'���ӭ�즊�
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveDecoded base64 content: J�b�'���ӭ�즊�
Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.7 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.5 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (5.5 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positivePossible Base64-encoded payload (long encoded string)
Detected by automated pattern matching (rule OB-001) with medium confidence. May be a false positive.
11: One click install in Cursor:
12:
>>> 13: [](https://cursor.com/install-mcp?name=outline&config=eyJjb21tYW5kIjoibnB4IC15IC0tcGFja2FnZT1vdXRsaW5lLW1jcC1zZXJ2ZXJAbGF0ZXN0IC1jIG91dGxpbmUtbWNwLXNlcnZlci1zdGRpbyIsImVudiI6eyJPVVRMSU5FX0FQSV9LRVkiOiI8UkVQTEFDRV9NRT4iLCJPVVRMSU5FX0FQSV9VUkwiOiJodHRwczovL2FwcC5nZXRvdXRsaW5lLmNvbS9hcGkifX0%3D)
14:
15: ### Claude DesktopReport false positiveHigh-entropy string (5.2 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positiveHigh-entropy string (4.6 bits/char) — possible encoded payload
Detected by automated pattern matching (rule EN-001) with medium confidence. May be a false positive.
Report false positive