Environment Variables Reference
This is the complete reference for all environment variables supported by MCP JetBrains Code Inspections.
Configuration Hierarchy
Variables can be configured in three ways, listed by priority:
- System Environment Variables (highest priority)
- MCP Configuration File (
.mcp.json
) - Default Values (lowest priority)
Variable Categories
Path Override Variables
These variables force specific paths and disable auto-detection:
FORCE_INSPECT_PATH
- Type:
string
- Default: Auto-detected
- Description: Force specific IDE inspect tool path (disables auto-detection)
- Example:
/Applications/IntelliJ IDEA.app/Contents/bin/inspect.sh
FORCE_PROJECT_ROOT
- Type:
string
- Default: Auto-detected
- Description: Force project root directory (disables auto-detection)
- Example:
/Users/myuser/projects/myproject
FORCE_PROFILE_PATH
- Type:
string
- Default: Project defaults via
-e
flag - Description: Force inspection profile path (disables project defaults)
- Example:
/path/to/custom/profile.xml
- Note: When not specified, the system uses the
-e
flag for project default inspections
Execution Configuration
INSPECTION_TIMEOUT
- Type:
number
(milliseconds) - Default:
120000
(2 minutes) - Maximum:
600000
(10 minutes) - Description: Timeout for inspection execution
- Recommended Values:
- Small projects:
60000
(1 minute) - Medium projects:
120000
(2 minutes) - Large projects:
300000
(5 minutes) - Very large projects:
600000
(10 minutes)
- Small projects:
Filter Configuration
EXCLUDE_INSPECTIONS
- Type:
string
(comma-separated) - Default:
SpellCheckingInspection
- Description: Comma-separated inspection codes to exclude
- Example:
SpellCheckingInspection,TodoComment,UnusedDeclaration
- Note: Takes precedence over severity filtering
ONLY_INSPECTIONS
- Type:
string
(comma-separated) - Default: None
- Description: Comma-separated inspection codes to include exclusively
- Example:
TypeScriptValidateTypes,ESLintInspection
- Note: When specified, only these inspections will run (mutually exclusive with EXCLUDE_INSPECTIONS)
Output Configuration
RESPONSE_FORMAT
- Type:
string
- Values:
markdown
|json
- Default:
markdown
- Description: Output format for diagnostics
- Use Cases:
markdown
: Human-readable format with emojis and groupingjson
: Machine-readable format for programmatic processing
Debugging Configuration
DEBUG
- Type:
boolean
(string representation) - Values:
true
|false
- Default:
false
- Description: Enable debug logging to stderr
- Note: Useful for troubleshooting IDE detection and inspection execution
Configuration Examples
Basic Configuration in .mcp.json
{
"mcpServers": {
"mcp-jetbrains-code-inspections": {
"command": "node",
"args": ["./dist/index.js"],
"env": {
"INSPECTION_TIMEOUT": "180000",
"EXCLUDE_INSPECTIONS": "SpellCheckingInspection,TodoComment",
"RESPONSE_FORMAT": "json"
}
}
}
}
Force Specific IDE
{
"env": {
"FORCE_INSPECT_PATH": "/Applications/WebStorm.app/Contents/bin/inspect.sh",
"FORCE_PROJECT_ROOT": "/Users/myuser/projects/webapp"
}
}
Custom Profile with Filters
{
"env": {
"FORCE_PROFILE_PATH": "/path/to/strict-profile.xml",
"ONLY_INSPECTIONS": "TypeScriptValidateTypes,UnusedDeclaration",
"INSPECTION_TIMEOUT": "300000"
}
}
Debug Configuration
{
"env": {
"DEBUG": "true",
"RESPONSE_FORMAT": "json"
}
}
Precedence Rules
- ONLY_INSPECTIONS takes precedence over EXCLUDE_INSPECTIONS
- FORCE_* variables disable all auto-detection for their respective features
- System environment variables override MCP configuration file values
- Timeout is capped at 600000ms (10 minutes) regardless of configuration
Best Practices
- Use FORCE_* sparingly: Auto-detection usually selects the best IDE
- Start with default timeout: Increase only if inspections are timing out
- Be selective with filters: Too many exclusions may miss important issues
- Use markdown for humans: JSON format is better for automated processing
- Enable DEBUG only when troubleshooting: It produces verbose output
Troubleshooting
Common Issues
Inspections timing out:
- Increase
INSPECTION_TIMEOUT
value - Consider using
ONLY_INSPECTIONS
to run fewer checks
Wrong IDE being selected:
- Use
FORCE_INSPECT_PATH
to specify exact IDE - Enable
DEBUG
to see IDE detection process
Too many false positives:
- Use
EXCLUDE_INSPECTIONS
to filter out noisy inspections - Consider creating a custom profile
No inspections running:
- Check if
ONLY_INSPECTIONS
is too restrictive - Verify profile path with
FORCE_PROFILE_PATH
- Enable
DEBUG
to see execution details