ICUICU
critical

outline-mcp-server

v5.8.5

An MCP server for interacting with Outline's API

npmmfreyFirst seen Feb 25, 2026

31

Total

20

Critical

4

High

7

Medium

Findings

unknown
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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 positive
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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 positive
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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 positive
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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 exceptions
Report false positive
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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 key
Report false positive
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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 positive
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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 positive
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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 positive
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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 key
Report false positive
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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 positive
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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 positive
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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 positive
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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 positive
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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: ```bash
Report false positive
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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 positive
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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 positive
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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 Docker
Report false positive
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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 positive
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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 positive
criticalDE-002Data ExfiltrationHigh ConfidenceLine 0

Environment 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 positive
highDO-BASunknownMedium ConfidenceLine 0

Decoded base64 content: J�b�'���ӭ�즊�

Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.

Report false positive
highDO-BASunknownMedium ConfidenceLine 0

Decoded base64 content: J�b�'���ӭ�즊�

Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.

Report false positive
highDO-BASunknownMedium ConfidenceLine 0

Decoded base64 content: J�b�'���ӭ�즊�

Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.

Report false positive
highDO-BASunknownMedium ConfidenceLine 0

Decoded base64 content: J�b�'���ӭ�즊�

Detected by automated pattern matching (rule DO-BAS) with medium confidence. May be a false positive.

Report false positive
mediumEN-001unknownMedium ConfidenceLine 0

High-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 positive
mediumEN-001unknownMedium ConfidenceLine 0

High-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
mediumEN-001unknownMedium ConfidenceLine 0

High-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 positive
mediumEN-001unknownMedium ConfidenceLine 0

High-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 positive
mediumOB-001ObfuscationMedium ConfidenceLine 0

Possible 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: [![Install MCP Server](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/install-mcp?name=outline&config=eyJjb21tYW5kIjoibnB4IC15IC0tcGFja2FnZT1vdXRsaW5lLW1jcC1zZXJ2ZXJAbGF0ZXN0IC1jIG91dGxpbmUtbWNwLXNlcnZlci1zdGRpbyIsImVudiI6eyJPVVRMSU5FX0FQSV9LRVkiOiI8UkVQTEFDRV9NRT4iLCJPVVRMSU5FX0FQSV9VUkwiOiJodHRwczovL2FwcC5nZXRvdXRsaW5lLmNvbS9hcGkifX0%3D)
    14: 
    15: ### Claude Desktop
Report false positive
mediumEN-001unknownMedium ConfidenceLine 0

High-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 positive
mediumEN-001unknownMedium ConfidenceLine 0

High-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