mcp-shellcheck
ShellCheck MCP Server
A Model Context Protocol (MCP) server that provides shell script linting via ShellCheck. Allows AI agents to analyze shell scripts for common errors, stylistic issues, and potential bugs.
MCP Server Profile
{
"name": "mcp-shellcheck",
"description": "A Model Context Protocol (MCP) server that provides shell script linting via ShellCheck for AI coding assistants",
"tools": [
{
"name": "shellcheck",
"description": "Run ShellCheck on a shell script to find bugs, stylistic issues, and potential errors",
"inputSchema": {
"type": "object",
"properties": {
"file_path": { "type": "string", "description": "Path to the shell script file to check" },
"script_content": { "type": "string", "description": "Raw shell script content to check" },
"shell": { "type": "string", "description": "Shell type to check", "enum": ["bash", "sh", "dash", "ksh", "ash"] },
"check_sourced": { "type": "boolean", "description": "Enable checks for sourced files" },
"enable_all": { "type": "boolean", "description": "Enable all optional checks" },
"exclude": { "type": "string", "description": "Comma-separated list of warning codes to exclude" },
"severity": { "type": "string", "description": "Minimum severity to report", "enum": ["error", "warning", "info", "style"] }
}
}
},
{
"name": "shellcheck_info",
"description": "Get information about the ShellCheck version and server capabilities",
"inputSchema": {
"type": "object",
"properties": {}
}
}
]
}Related MCP server: mcp-lint-tools
Quick Install
# Run via uvx from PyPI
uvx --from mcp-shellcheck shellcheck-mcp-server
# Run via uvx from GitHub release
uvx --from https://github.com/Ev3lynx727/mcp-shellcheck/releases/download/v0.1.3/mcp_shellcheck-0.1.3-py3-none-any.whl shellcheck-mcp-server
# One-liner install (install.sh)
curl -fsSL https://raw.githubusercontent.com/Ev3lynx727/mcp-shellcheck/main/install.sh | sh
# Install from PyPI
pip install mcp-shellcheck
# Clone and dev install
git clone https://github.com/Ev3lynx727/mcp-shellcheck.git
cd mcp-shellcheck && pip install -e .Features
File-based analysis: Check shell scripts by file path
Inline script checking: Analyze raw shell script content directly
Multiple shell support: bash, sh, dash, ksh, ash
Configurable checks: Exclude specific warnings, set severity levels
Structured output: JSON-formatted results for easy parsing
OpenCode integration: Ready to use with OpenCode agents
Production-ready: Async, tested, validated, logged
Requirements
Python 3.10+
ShellCheck installed on the system
Installing ShellCheck
Recommended (always latest):
pip install shellcheck-pyThe shellcheck-py package provides a pre-built shellcheck v0.11.0 binary on your PATH with no system dependencies.
System package managers (may ship older versions):
# Ubuntu/Debian
sudo apt-get install shellcheck
# macOS
brew install shellcheck
# Fedora/RHEL
sudo dnf install ShellCheck
# Arch Linux
sudo pacman -S shellcheckTools
shellcheck
Run ShellCheck on a shell script to find bugs, stylistic issues, and potential errors.
Parameters:
Parameter | Type | Required | Description |
| string | No* | Path to the shell script file |
| string | No* | Raw shell script content |
| string | No | Shell type: bash, sh, dash, ksh, ash (default: bash) |
| boolean | No | Enable checks for sourced files (default: false) |
| boolean | No | Enable all optional checks (default: false) |
| string | No | Comma-separated codes to exclude (e.g., "SC1090,SC2148") |
| string | No | Comma-separated codes to include (e.g., "SC2086,SC2164") |
| string | No | Minimum severity: error, warning, info, style |
*Either file_path or script_content must be provided.
Common error codes:
Code | Description | Severity |
SC1090 | Can't follow non-constant source | info |
SC2086 | Double quote to prevent globbing | warning |
SC2164 | Use cd with || exit | warning |
SC2006 | Use $(...) instead of legacy backticks | style |
shellcheck_info
Get ShellCheck version and server capabilities.
Parameters: None
Configuration
OpenCode
{
"mcp": {
"shellcheck": {
"type": "local",
"command": [
"uv",
"run",
"--with", "mcp",
"python3",
"/path/to/mcp-shellcheck/shellcheck_mcp_server.py"
],
"enabled": true,
"timeout": 60000
}
}
}OpenCode (uvx from GitHub release)
{
"mcp": {
"shellcheck": {
"type": "local",
"command": [
"uvx",
"--from", "https://github.com/Ev3lynx727/mcp-shellcheck/releases/download/v0.1.3/mcp_shellcheck-0.1.3-py3-none-any.whl",
"shellcheck-mcp-server"
],
"enabled": true,
"timeout": 60000
}
}
}Claude Desktop
{
"mcpServers": {
"shellcheck": {
"command": "python3",
"args": ["/path/to/mcp-shellcheck/shellcheck_mcp_server.py"]
}
}
}Cursor
{
"mcpServers": {
"shellcheck": {
"command": "uvx",
"args": ["shellcheck-mcp-server"]
}
}
}VS Code (Copilot)
Add to .vscode/mcp.json:
{
"servers": {
"shellcheck": {
"command": "python3",
"args": ["/path/to/mcp-shellcheck/shellcheck_mcp_server.py"]
}
}
}Examples
Check a File
// Input
{ "file_path": "/path/to/deploy.sh" }
// Output
{
"success": false,
"message": "Found 3 issue(s)",
"results": [
{
"line": 15,
"column": 10,
"code": "SC2086",
"message": "Double quote to prevent globbing",
"severity": "warning"
}
],
"exit_code": 1
}Check Script Content
// Input
{ "script_content": "#!/bin/bash\ncat `ls *.txt`", "shell": "bash" }Exclude Specific Warnings
{ "file_path": "/path/to/script.sh", "exclude": "SC1090,SC2148" }Filter by Severity
{ "file_path": "/path/to/script.sh", "severity": "error" }Troubleshooting
Problem | Solution |
ShellCheck not found | Install via |
MCP package not installed |
|
Server not connecting | Verify |
Timeout errors | Increase timeout: |
Development
pip install -e ".[dev]"
pytest
ruff check .See CHANGELOG.md for release history and ARCHITECTURE.md for design docs.
License
MIT
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- Alicense-qualityFmaintenanceA secure MCP server for shell operations, terminal management, and process control, enabling AI assistants to safely execute commands and manage interactive sessions.1163MIT
- Alicense-qualityDmaintenanceCode linting and style checking tools for AI agents, exposed as an MCP server. Supports style checks, naming conventions, complexity analysis, dead code detection, and import analysis.37MIT
- AlicenseAqualityFmaintenanceMCP server that integrates sql-sop SQL linter into LLM clients, enabling linting SQL queries and listing lint rules via chat tools.2MIT

shell-mcpofficial
Alicense-qualityDmaintenanceGives AI agents shell access by providing a run_command tool for executing shell commands and returning stdout, stderr, and exit code.10ISC
Related MCP Connectors
Security scanner for MCP servers. Detect vulnerabilities, prompt injection, and tool poisoning.
Scans MCP servers for tool poisoning, prompt injection and supply chain risks.
MCP server exposing the Backtest360 engine API as tools for AI agents.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Ev3lynx727/mcp-shellcheck'
If you have feedback or need assistance with the MCP directory API, please join our Discord server