Token导航 LogoToken导航

MCP Server · 开发工具

MCP Shellcheck

一个通过ShellCheck提供Shell脚本检查的MCP服务器,帮助AI代理分析脚本中的常见错误、风格问题和潜在缺陷。

stdio官方级别未说明来源级核验工具 2
代码质量Python静态分析开发工具

快速开始

作者 / 组织
Ev3lynx727
提供方
Ev3lynx727

工具数量

2

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

1 个

MCP World

选型结论

MCP Shellcheck 属于开发工具类 MCP Server,公开资料标注 2 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

开发工具

传输方式

stdio

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

安装命令

pip install -e .

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 2 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

ShellCheck MCP服务器

通过ShellCheck提供shell脚本linting的模型上下文协议(MCP)服务器。允许AI代理分析shell脚本的常见错误、风格问题和潜在错误。

✨ v0.1.2亮点

  • 异步安全 --不再阻止MCP服务器
  • 强大的解析 --使用ShellCheck JSON输出(脆弱文本解析)
  • 输入验证 --文件检查、大小限制、外壳类型验证
  • 结构化日志记录 --可观察性的调试/信息/警告级别
  • 已测试 --22项测试通过,覆盖率>90%
  • 经得起未来考验 --用于多后端支持的Linter抽象

升级说明: v0.1.2向后兼容。无需更改MCP客户端配置。

特性

  • 基于文件的分析:按文件路径检查shell脚本
  • 内联脚本检查:直接分析原始shell脚本内容
  • 多壳支撑:bash、sh、dash、ksh、ash
  • 可配置检查:排除特定警告,设置严重级别
  • 结构化输出:JSON格式的结果便于解析
  • OpenCode集成:已准备好与OpenCode代理一起使用
  • 生产就绪:异步、测试、验证、记录

需求

安装ShellCheck

# Ubuntu/Debian
sudo apt-get install shellcheck

# macOS
brew install shellcheck

# Fedora/RHEL
sudo dnf install ShellCheck

# Arch Linux
sudo pacman -S shellcheck

# From source
git clone https://github.com/koalaman/shellcheck.git
cd shellcheck
cabal build
sudo cabal install

安装

选项1:克隆并安装

cd /home/ev3lynx/Project/local-mcp-server
git clone https://github.com/your-repo/mcp-shellcheck.git
cd mcp-shellcheck
pip install -e .

选项2:直接执行Python

pip install mcp
python3 shellcheck_mcp_server.py

选项3:本地构建

# Clone and build
git clone https://github.com/ev3lynx727/mcp-shellcheck.git
cd mcp-shellcheck
uv build

# Install locally
uv pip install -e . --system

# Or run directly
uv run --with mcp python3 shellcheck_mcp_server.py

选项4:从GitHub发布

创建GitHub版本后,您可以直接从wheel文件中使用uvx:

uvx --from https://github.com/Ev3lynx727/mcp-shellcheck/releases/download/v0.1.0/mcp_shellcheck-0.1.0-py3-none-any.whl shellcheck-mcp-server

注意:将URL中的版本号替换为所需的版本。

OpenCode配置

推荐:使用uv run

添加或更新shellcheck MCP服务器配置:

{
  "mcp": {
    "shellcheck": {
      "type": "local",
      "command": [
        "uv",
        "run",
        "--with", "mcp",
        "python3",
        "/home/ev3lynx/Project/local-mcp-server/mcp-shellcheck/shellcheck_mcp_server.py"
      ],
      "enabled": true,
      "timeout": 60000
    }
  }
}

替代方案:直接Python(需要安装mcp)

{
  "mcp": {
    "shellcheck": {
      "type": "local",
      "command": [
        "python3",
        "/home/ev3lynx/Project/local-mcp-server/mcp-shellcheck/shellcheck_mcp_server.py"
      ],
      "enabled": true,
      "timeout": 60000
    }
  }
}

代理工具配置

工具 shellcheck_shellcheck 已在这些代理中启用:

  • builder-pro
  • deep-research
  • lint
  • docker-config
  • analyze

用法

作为MCP服务器

配置后,以下工具可用:

shellcheck 工具

检查shell脚本文件或内容是否存在问题。

参数:

参数类型必填说明
file_pathstring否\*shell脚本文件的路径
script_contentstring否\*原始shell脚本内容
shellstring否外壳类型:bash、sh、dash、ksh、ash(默认:bash)
check_sourcedboolean否启用对源文件的检查(默认值:false)
enable_allboolean否启用所有可选检查(默认值:false)
excludestring否要排除的逗号分隔代码(例如,“SC1090,SC2148”)
severitystring否最小严重性:错误、警告、信息、样式

\*要么 file_path 或 script_content 必须提供。

shellcheck_info 工具

获取ShellCheck版本和服务器信息。

参数: 无

直接CLI使用

# Check a file
shellcheck /path/to/script.sh

# Check stdin
cat script.sh | shellcheck -s bash -

# With specific options
shellcheck -e SC1090,SC2148 -s bash script.sh

例子

示例1:检查文件

# 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",
      "raw": "path/to/script.sh:15:10: warning: Double quote to prevent globbing..."
    }
  ],
  "exit_code": 1
}

示例2:检查脚本内容

# Input
{
  "script_content": "#!/bin/bash\ncat `ls *.txt`",
  "shell": "bash"
}

# Output
{
  "success": false,
  "message": "Found 2 issue(s)",
  "results": [
    {
      "line": 2,
      "column": 5,
      "code": "SC2010",
      "message": "Don't read ls output with backticks",
      "severity": "warning"
    }
  ],
  "exit_code": 1
}

示例3:排除特定警告

# Input
{
  "file_path": "/path/to/script.sh",
  "exclude": "SC1090,SC2148"
}

示例4:使用严重性筛选器进行检查

# Input
{
  "file_path": "/path/to/script.sh",
  "severity": "error"
}

常见ShellCheck错误代码

代码描述严重性
SC1090无法跟踪非恒定源信息
SC1091无法跟踪源文件信息
SC2148提示取决于目标炮弹,你的未知警告
SC2086双引号防止球化警告
SC2164使用带有退出警告的光盘
SC2006使用$(…)而不是传统的回溯样式
SC2029请注意,与BASH不同,变量不能包含换行符警告
SC2230哪个是多余的信息
SC2068双引号数组下标警告
SC2196测试全局标志的几种方法信息
SC2001看看你是否可以使用${var//search/replace}样式
SC2162不带-r读取会破坏反斜杠警告
SC2129样式:考虑使用{cmd1;cmd2;}>>文件样式

MCP客户端配置示例

克劳德桌面

{
  "mcpServers": {
    "shellcheck": {
      "command": "python3",
      "args": ["/home/ev3lynx/Project/local-mcp-server/mcp-shellcheck/shellcheck_mcp_server.py"]
    }
  }
}

光标

{
  "mcpServers": {
    "shellcheck": {
      "command": "uvx",
      "args": ["shellcheck-mcp-server"]
    }
  }
}

VS代码与副本

增添 .vscode/mcp.json:

{
  "servers": {
    "shellcheck": {
      "command": "python3",
      "args": ["/home/ev3lynx/Project/local-mcp-server/mcp-shellcheck/shellcheck_mcp_server.py"]
    }
  }
}

故障排除

“未找到ShellCheck”

在您的系统上安装ShellCheck。请参阅“要求”部分。

“未安装mcp包”

pip install mcp
# or
uvx shellcheck-mcp-server

MCP服务器未连接

  1. 验证是否安装了ShellCheck: shellcheck --version
  2. 手动测试服务器: python3 shellcheck_mcp_server.py
  3. 检查MCP客户端日志中的连接错误

超时错误

增加MCP配置中的超时时间:

{
  "mcp": {
    "shellcheck": {
      "timeout": 120000
    }
  }
}

发展

安装开发依赖项

pip install -e ".[dev]"

运行测试

pytest

Lint代码

ruff check .

文件结构

mcp-shellcheck/
├── shellcheck_mcp_server.py  # Main MCP server script
├── requirements.txt           # Python dependencies
├── pyproject.toml            # Package configuration
├── README.md                 # This documentation
├── CONFIG_EXAMPLES.md        # Configuration examples
└── tests/                    # Test files (optional)

发布到PyPI

先决条件

  1. 在以下位置创建PyPI帐户https://pypi.org
  2. 在创建API令牌https://pypi.org/manage/account/

选项1:手动发布

# Build the package
uv build

# Publish to PyPI
uv publish

# Or test first with Test PyPI
uv publish --test

选项2:GitHub操作(推荐)

  1. 创建GitHub存储库
  2. 将您的PyPI令牌添加为机密:

- 前往设置→ 秘密与变量→ 行动 - 添加 PYPI_API_TOKEN 使用您的PyPI令牌

  1. 在GitHub上创建发布或手动触发工作流

选项3:使用令牌进行本地发布

# Set up token
uv publish --token your-api-token

许可证

MIT许可证

学分

- 原作者: 维克托·埃里克森 - 来源:https://github.com/koalaman/shellcheck

工具与能力

工具数量

2

资源数量

0

提示词数量

0

能力标签

Shell脚本检查Python本地部署代码质量静态分析自动化测试开发工具

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 2 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Shellcheck

MCP World · 本页

2stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Shellcheck 怎么安装?

公开资料给出的安装命令是 pip install -e .,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

MCP Shellcheck 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

MCP Shellcheck 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Shellcheck 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

MCP Shellcheck 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP