返回市场
工具-MCP服务器

工具-MCP服务器

作者:wrenchpilot14 星标更新:2025-11-17

项目介绍

IT 工具 MCP 服务器

CI/CD 管道 Docker 拉取次数 Docker 镜像大小 NPM 版本 NPM 下载量 GitHub 发布 许可证 GitHub 问题 GitHub 最后一次提交 Docker 平台 GitHub 星标

📝 注意: 本README的精简版会自动同步到Docker Hub,因为字符限制。

一个全面的模型上下文协议(MCP)服务器,提供超过121种IT工具和实用程序,这些工具和实用程序通常被开发者、系统管理员和IT专业人员使用。此服务器暴露了一整套用于编码/解码、文本操作、哈希、网络工具以及其他常见开发和IT任务的工具。

📦 安装与设置

使用VS Code

快速安装:

在VS Code中安装 在VS Code Insiders中安装

安装步骤:

  1. 打开VS Code
  2. 按下 Ctrl+Shift+P(或Mac上的 Cmd+Shift+P
  3. 输入 "MCP" 并选择 "MCP: 添加服务器"
  4. 选择 "NPM 包" 并输入:it-tools-mcp

或者手动添加到你的VS Code settings.json

Node

{
  "mcp": {
    "servers": {
      "it-tools": {
        "command": "npx",
        "args": ["it-tools-mcp"],
        "env": {}
      }
    }
  }
}

Docker

{
  "mcp": {
    "servers": {
      "it-tools": {
        "command": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "--init",
          "--security-opt", "no-new-privileges:true",
          "--cap-drop", "ALL",
          "--read-only",
          "--user", "1001:1001",
          "--memory=256m",
          "--cpus=0.5",
          "--name", "it-tools-mcp",
          "wrenchpilot/it-tools-mcp:latest"
        ]
      }
  }
}

交互模式

docker run -it --rm wrenchpilot/it-tools-mcp:latest

程序化使用

# 生成UUID
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"generate_uuid","arguments":{}}}' | \
  docker run -i --rm wrenchpilot/it-tools-mcp:latest

# 将文本编码为Base64
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"encode_base64","arguments":{"text":"Hello World"}}}' | \
  docker run -i --rm wrenchpilot/it-tools-mcp:latest

� MCP 日志功能

此服务器包括完整的MCP日志支持,具有以下功能:

日志级别

  • 调试 (0): 详细的调试信息
  • 信息 (1): 一般的信息消息
  • 通知 (2): 正常但重要的事件
  • 警告 (3): 警告条件
  • 错误 (4): 错误条件
  • 严重 (5): 严重条件
  • 警报 (6): 必须立即采取行动
  • 紧急 (7): 系统无法使用

日志工具

  • logging_setLevel: 在运行时更改最小日志级别
  • logging_status: 查看当前日志配置和可用级别

环境感知行为

  • 开发模式: 默认为调试级别,增强控制台输出
  • 生产模式: 默认为信息级别,干净的输出以符合MCP规范
  • 自动回退: 当MCP传输未准备好时,使用控制台日志

使用示例

# 检查当前日志状态
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"logging_status","arguments":{}}}' | npx it-tools-mcp

# 更改日志级别为调试
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"logging_setLevel","arguments":{"level":"debug"}}}' | npx it-tools-mcp

# 更改日志级别为错误(仅显示错误及以上)
echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"logging_setLevel","arguments":{"level":"error"}}}' | npx it-tools-mcp

🔧 MCP 协议工具

此服务器实现了完整的MCP 2025-06-18规范,包括高级工具:

Ping 工具

  • 健康检查: 使用 ping 请求验证连接状态
  • 自动响应: 服务器根据MCP规范迅速响应空结果
  • 连接监控: 实现定期健康检查

进度跟踪

  • 长时间运行的操作: 接收耗时任务的进度更新
  • 进度令牌: 在请求中包含 _meta.progressToken 以启用进度通知
  • 通知: 服务器发送 notifications/progress 带有当前状态

请求取消

  • 优雅取消: 发送 notifications/cancelled 以中止正在进行的请求
  • 资源清理: 当请求被取消时,服务器正确释放资源
  • 竞态条件处理: 处理定时边缘情况

抽样支持

  • LLM 集成: 服务器可以使用 sampling/createMessage 请求客户端完成LLM
  • 模型偏好: 支持模型选择提示和能力优先级(成本、速度、智能)
  • 内容类型: 支持文本、图像和音频内容的抽样请求
  • 代理工作流: 通过嵌套LLM调用启用AI驱动的工具操作
  • 客户端控制: 客户端完全控制模型访问和用户批准

协议示例

# 测试连接健康状况
echo '{"jsonrpc":"2.0","id":1,"method":"ping"}' | npx it-tools-mcp

# 请求带有进度跟踪
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"some_tool","arguments":{},"_meta":{"progressToken":"track123"}}}' | npx it-tools-mcp

# 取消请求(作为通知发送)
echo '{"jsonrpc":"2.0","method":"notifications/cancelled","params":{"requestId":"2","reason":"User cancelled"}}' | npx it-tools-mcp

# 测试抽样能力
echo '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"mcp_sampling_demo","arguments":{"message":"What is the capital of France?","modelPreference":"claude","systemPrompt":"You are a helpful assistant.","maxTokens":100}}}' | npx it-tools-mcp

# 展示MCP工具
echo '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"mcp_utilities_demo","arguments":{"operation":"ping"}}}' | npx it-tools-mcp

�🛠️ 工具类别

此MCP服务器提供了超过121种工具,分布在14个类别中:

  • � Ansible 工具 (5种工具): 密钥加密/解密、清单解析器、剧本验证、参考
  • 🎨 颜色工具 (2种工具): 十六进制 ↔ RGB 转换
  • 📝 数据格式 (12种工具): JSON、XML、YAML、SQL、TOML、Markdown ↔ HTML 转换、电话格式化
  • �️ 开发工具 (6种工具): 正则表达式测试、cron生成、列表转换、代码美化、Markdown目录
  • 🐳 Docker 工具 (5种工具): 组合验证、转换工具、Traefik生成器、参考
  • 🔧 编码与解码 (8种工具): Base64、URL、HTML实体、文本到二进制
  • 🔍 法证工具 (3种工具): 文件类型识别、安全链接解码、URL解码
  • 🆔 ID & 代码生成器 (4种工具): UUID、ULID、QR码、SVG占位符
  • 🔢 数学与计算 (6种工具): 表达式求值、基数转换、温度、百分比、Unix时间戳、罗马数字
  • 🌐 网络与系统 (23种工具): IPv4/IPv6子网、URL解析、MAC地址、ps、top、cat、head、tail、grep、ping、nslookup、telnet、dig、ssh、scp、curl、IBAN验证
  • ⚡ 物理 (3种工具): 角度、能量、功率单位转换
  • 🔐 安全与加密 (12种工具): 哈希(MD5、SHA1、SHA256、SHA512)、HMAC、JWT、bcrypt、密码、令牌、一次性密码、BIP39
  • ✨ 文本处理 (19种工具): 大小写转换、统计、差异、ASCII艺术、北约字母表、URL化、Unicode
  • 🛠️ 实用工具 (7种工具): 邮件规范化、MIME类型、HTTP状态码、设备信息、CSS美化、REM/PX转换

📸 截图示例

密码哈希生成示例

密码哈希示例

ASCII艺术文本生成示例

ASCII艺术文本示例

使用VS Code Copilot Chat与IT Tools MCP服务器进行安全密码哈希生成和创意ASCII艺术生成的示例。

可用工具

工具描述参数
Ansible 工具
parse_ansible_inventory解析Ansible清单inventory: string
generate_ansible_inventory生成Ansible清单hosts: string[], groups?: Record<string, string[]>, variables?: Record<string, any>
validate_ansible_playbook验证Ansible剧本YAMLplaybook: string
show_ansible_referenceAnsible语法和模块参考query?: string
decrypt_ansible_vault解密Ansible Vault数据data: string, password: string
encrypt_ansible_vault使用Ansible Vault加密数据data: string, password: string
颜色工具
convert_hex_to_rgb将HEX转换为RGBhex: string
convert_rgb_to_hex将RGB转换为HEXr: number, g: number, b: number
数据格式
convert_html_to_markdown将HTML转换为Markdownhtml: string
compare_json比较JSON对象json1: string, json2: string
format_json格式化并验证JSONjson: string, indent?: number
minify_json压缩JSONjson: string
convert_json_to_csv将JSON转换为CSVjson: string, delimiter?: string
convert_json_to_toml将JSON转换为TOMLjson: string
convert_markdown_to_html将Markdown转换为HTMLmarkdown: string
format_phone解析并格式化电话号码phoneNumber: string, countryCode?: string
format_sql格式化SQLsql: string, dialect?: 'sql' | 'mysql' | 'postgresql' | 'sqlite' | 'mariadb' | 'db2' | 'plsql' | 'n1ql' | 'redshift' | 'spark' | 'tsql' | 'trino' | 'bigquery' (可选,默认为'sql')
convert_toml_to_json将TOML转换为JSONtoml: string
format_xml格式化XMLxml: string, indent?: number
format_yaml格式化YAMLyaml: string
开发工具
generate_crontab生成cron表达式minute?: string, hour?: string, dayOfMonth?: string, month?: string, dayOfWeek?: string
format_html格式化并美化HTMLhtml: string, indent?: number
format_javascript格式化并美化JavaScriptjavascript: string, indent?: number
convert_list转换列表格式list: string, inputFormat: 'comma' | 'semicolon' | 'newline' | 'space' | 'pipe', outputFormat: 'comma' | 'semicolon' | 'newline' | 'space' | 'pipe' | 'json' | 'quoted', trim?: boolean
generate_markdown_toc为Markdown生成目录markdown: string, maxDepth?: number
test_regex测试正则表达式pattern: string, text: string, flags?: string
Docker 工具
convert_docker_compose_to_run将组合转换为Docker运行命令compose: string, service?: string
validate_docker_compose验证Docker组合YAMLcompose: string
show_docker_referenceDocker命令和语法参考query?: string
convert_docker_run_to_compose将Docker运行转换为组合command: string
generate_traefik_compose生成Traefik Docker组合