IT工具MCP服务器

一个提供121多种IT工具和实用程序的Model Context Protocol (MCP)服务器,适用于开发人员、系统管理员和IT专业人员。

  • by wrenchpilot
  • TypeScript
  • 本地部署
  • 22 星标
  • 更新于
在 GitHub 查看 wrenchpilot/it-tools-mcp

使用说明

IT工具MCP服务器

[!警告] 此项目已弃用,不再维护。

它是为了探索人工智能辅助开发和模型上下文协议(MCP)而构建的学习练习。将不接受进一步的更新、错误修复或拉取请求。存储库仅供参考。

如果您需要一个带有IT实用程序的主动维护的MCP服务器,请寻找社区替代方案。

📝 备注:此README的压缩版本会自动同步到 Docker Hub 由于字符限制。

一个全面的模型上下文协议(MCP)服务器,提供对开发人员、系统管理员和IT专业人员常用的121多种IT工具和实用程序的访问。该服务器提供了一套完整的工具,用于编码/解码、文本操作、哈希、网络实用程序以及许多其他常见的开发和IT任务。

明星历史

📦 安装和设置

与VS代码一起使用

快速安装:

安装:

  1. 打开VS代码
  2. 按 Ctrl+Shift+P (或 Cmd+Shift+P 在Mac上)
  3. 键入“MCP”并选择“MCP:添加服务器”
  4. 选择“NPM包”并输入: it-tools-mcp

或者手动添加到您的VS代码中 settings.json:

节点

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

码头工人

{
  "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

编程式用法

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

# Encode text to 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传输未就绪时的控制台日志记录

使用示例

# Check current logging status
echo '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"logging_status","arguments":{}}}' | npx it-tools-mcp

# Change log level to debug
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"logging_setLevel","arguments":{"level":"debug"}}}' | npx it-tools-mcp

# Change log level to error (only show errors and above)
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集成:服务器可以使用以下命令向客户端请求LLM完成 sampling/createMessage
  • 模型首选项:支持模型选择提示和能力优先级(成本、速度、智能)
  • 内容类型:支持采样请求中的文本、图像和音频内容
  • 代理工作流:通过嵌套LLM调用启用AI驱动的工具操作
  • 客户端控制:客户对模型访问和用户批准保持完全控制

协议示例

# Test connection health with ping
echo '{"jsonrpc":"2.0","id":1,"method":"ping"}' | npx it-tools-mcp

# Request with progress tracking
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"some_tool","arguments":{},"_meta":{"progressToken":"track123"}}}' | npx it-tools-mcp

# Cancel a request (send as notification)
echo '{"jsonrpc":"2.0","method":"notifications/cancelled","params":{"requestId":"2","reason":"User cancelled"}}' | npx it-tools-mcp

# Test sampling capabilities
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

# Demo MCP utilities
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 TOC
  • 🐳 Docker工具 (5个工具):编写验证、转换工具、Traefik生成器、参考
  • 🔧 编码和解码 (8个工具):Base64、URL、HTML实体、文本到二进制
  • 🔍 取证工具 (3个工具):文件类型识别、safelink解码、URL fanger
  • 🆔 ID和代码生成器 (4个工具:UUID、ULID、二维码、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、密码、令牌、OTP、BIP39
  • ✨ 文本处理 (19个工具):大小写转换、统计数据、差异、ASCII艺术、北约字母表、slugify、Unicode
  • 🛠️ 实用工具 (7个工具):电子邮件规范化、MIME类型、HTTP状态码、设备信息、CSS美化器、rem/px转换器

📸 屏幕截图示例

密码哈希生成示例

ASCII艺术文本生成示例

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

可用工具

工具 说明 参数
Ansible工具
parse_ansible_inventory 解析Ansible库存 inventory: string
generate_ansible_inventory 生成可靠的库存 hosts: string[], groups?: Record<string, string[]>, variables?: Record<string, any>
validate_ansible_playbook 验证Ansible剧本YAML playbook: string
show_ansible_reference 可理解的语法和模块引用 query?: string
decrypt_ansible_vault 解密可解析的Vault数据 data: string, password: string
encrypt_ansible_vault 使用Ansible Vault加密数据 data: string, password: string
颜色工具
convert_hex_to_rgb 将HEX转换为RGB hex: string
convert_rgb_to_hex 将RGB转换为HEX r: number, g: number, b: number
数据格式
convert_html_to_markdown 将HTML转换为Markdown html: string
compare_json 比较JSON对象 json1: string, json2: string
format_json 格式化和验证JSON json: string, indent?: number
minify_json 缩小JSON json: string
convert_json_to_csv 将JSON转换为CSV json: string, delimiter?: string
convert_json_to_toml 将JSON转换为TOML json: string
convert_markdown_to_html 将Markdown转换为HTML markdown: string
format_phone 解析和格式化电话号码 phoneNumber: string, countryCode?: string
format_sql 设置SQL格式 sql: string, dialect?: 'sql' | 'mysql' | 'postgresql' | 'sqlite' | 'mariadb' | 'db2' | 'plsql' | 'n1ql' | 'redshift' | 'spark' | 'tsql' | 'trino' | 'bigquery' (可选,默认:“sql”)
convert_toml_to_json 将TOML转换为JSON toml: string
format_xml 格式化XML xml: string, indent?: number
format_yaml 格式化YAML yaml: string
开发工具
generate_crontab 生成cron表达式 minute?: string, hour?: string, dayOfMonth?: string, month?: string, dayOfWeek?: string
format_html 格式化和美化HTML html: string, indent?: number
format_javascript 格式化和美化JavaScript javascript: 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 将Compose转换为Docker run命令 compose: string, service?: string
validate_docker_compose 验证Docker编写YAML compose: string
show_docker_reference Docker命令和语法参考 query?: string
convert_docker_run_to_compose 将Docker run转换为Compose command: string
generate_traefik_compose 生成Traefik Docker Compose domain: string, service: string, port?: number, network?: string
编码和解码
decode_base64 解码Base64文本 text: string
encode_base64 将文本编码为Base64 text: string
decode_html 解码HTML实体 text: string
encode_html 对HTML实体进行编码 text: string
encode_html_entities 扩展HTML实体编码/解码 text: string, operation: 'encode' | 'decode'
convert_text_to_binary 将文本转换为二进制,反之亦然 input: string, operation: 'encode' | 'decode'
convert_text_to_unicode 将文本转换为Unicode,反之亦然 input: string, operation: 'encode' | 'decode'
decode_url URL解码文本 text: string
encode_url URL编码文本 text: string
取证工具
identify_file_type 从内容中识别文件类型 data: string, filename?: string
decode_safelink 解码Microsoft安全链接 url: string
fang_url Fang和defang网址用于分析 text: string, operation: 'fang' | 'defang'
ID和代码生成器
generate_qr_code 为任何内容生成二维码 text: string, size?: number -支持URL、WiFi(WiFi:T:WPA;S:网络;P:密码;)、联系信息等。
generate_svg_placeholder 生成SVG占位符 width?: number, height?: number, text?: string, backgroundColor?: string, textColor?: string
generate_ulid 生成ULID 无
generate_uuid 生成UUID v4 无
数学与计算
evaluate_math 计算表达式 expression: string
convert_number_base 转换数字基数 number: string, fromBase: number, toBase: number
calculate_percentage 计算百分比 operation: 'percentage-of' | 'what-percentage' | 'percentage-change', value1: number, value2: number
convert_roman_numerals 转换罗马数字 input: string
convert_temperature 转换温度 temperature: number, from: 'celsius' | 'fahrenheit' | 'kelvin', to: 'celsius' | 'fahrenheit' | 'kelvin'
convert_unix_timestamp 转换时间戳 input: string
网络与系统
cat 显示文件内容 file: string
curl HTTP客户端(GET、POST等) url: string, method?: string, headers?: Record<string, string>, body?: string
dig DNS查询(自定义类型) target: string, type?: string
grep 在文件中搜索图案 file: string, pattern: string
head 显示文件的前N行 file: string, lines?: number
validate_iban 验证IBAN iban: string
calculate_ip_subnet 计算IPv4子网 ip: string, cidr: number
calculate_ipv4_subnet 增强的IPv4子网计算 cidr: string
generate_ipv6_ula 生成IPv6 ULA globalId?: string
generate_mac_address 生成MAC地址 prefix?: string, separator?: ':' | '-'
nslookup DNS查询(A/AAAA/CCNAME) target: string
ping Ping主机 target: string, count?: number
ps 列出正在运行的进程 无
generate_random_port 生成随机端口 count?: number, min?: number, max?: number, exclude?: number[]
scp 将文件复制到远程主机(SFTP)或从远程主机复制文件 target: string, user: string, direction: 'upload'|'download', localPath: string, remotePath: string, privateKey?: string
ssh SSH命令执行 target: string, user: string, command: string
tail 显示文件的最后N行 file: string, lines?: number
telnet 测试TCP连接 target: string, port: number
top 显示顶级进程(按CPU) 无
parse_url 解析URL组件 url: string
物理学
convert_angle 转换角度单位 value: number, from: 'degrees' | 'radians' | 'gradians', to: 'degrees' | 'radians' | 'gradians'
convert_energy 转换能量单位 value: number, from: 'joules' | 'calories' | 'kwh' | 'btu', to: 'joules' | 'calories' | 'kwh' | 'btu'
convert_power 转换电源单元 value: number, from: 'watts' | 'kilowatts' | 'horsepower' | 'btu_per_hour', to: 'watts' | 'kilowatts' | 'horsepower' | 'btu_per_hour'
安全与加密
generate_basic_auth 生成基本身份验证标头 username: string, password: string
hash_bcrypt 生成/验证bcrypt哈希 password: string, rounds?: number, hash?: string
generate_bip39 生成BIP39助记符 wordCount?: '12' | '15' | '18' | '21' | '24'
hash_md5 生成MD5哈希 text: string
hash_sha1 生成SHA1哈希 text: string
hash_sha256 生成SHA256哈希 text: string
hash_sha512 生成SHA512哈希 text: string
generate_hmac 生成HMAC message: string, key: string, algorithm?: 'sha1' | 'sha256' | 'sha512'
decode_jwt 解码JWT令牌 token: string
generate_otp 生成TOTP代码 secret: string, digits?: number, period?: number
generate_password 生成安全密码 length?: number, includeUppercase?: boolean, includeLowercase?: boolean, includeNumbers?: boolean, includeSymbols?: boolean
generate_token 生成安全令牌 length?: number, charset?: 'alphanumeric' | 'hex' | 'base64' | 'custom', customChars?: string
文本处理
generate_ascii_art 生成ASCII艺术 text: string, font?: string (支持295多种figlet字体)
analyze_distinct_words 从文本中提取独特的单词 text: string, caseSensitive?: boolean
search_emoji 搜索表情符号 query: string
generate_lorem_ipsum 生成Lorem Ipsum。 type?: 'words' | 'sentences' | 'paragraphs', count?: number
generate_numeronym 生成数字 text: string
slugify_text 转换为URL slug text: string, separator?: string, lowercase?: boolean
obfuscate_string 混淆文本 text: string, method?: 'html-entities' | 'unicode' | 'base64'
convert_to_camelcase 转换为camelCase text: string
capitalize_text 将单词大写 text: string
compare_text 比较文本 text1: string, text2: string
convert_text_to_kebabcase 转换为烤肉箱 text: string
convert_text_to_lowercase 转换为小写 text: string
convert_text_to_pascalcase 转换为PascalCase text: string
text_snakecase 转换为snake_case text: string
analyze_text_stats 获取文本统计信息 text: string
convert_text_to_nato 转换为北约字母表 text: string
show_unicode_names 将文本转换为Unicode字符名 text: string
convert_text_to_uppercase 转换为大写 text: string
实用工具
format_css 格式化和美化CSS css: string, indent?: number
show_device_info 获取系统信息 无
normalize_email 规范电子邮件地址 email: string
lookup_http_status HTTP状态参考 code?: number
lookup_mime_types 查找MIME类型 input: string, lookupType?: 'extension-to-mime' | 'mime-to-extension'
lookup_port_numbers 查找端口号分配 port?: number, service?: string
convert_rem_px 在REM和PX单元之间转换 value: number, conversion: 'rem-to-px' | 'px-to-rem', baseFontSize?: number

🏗️ 建筑与开发

内置于 TypeScript, 佐德 验证,以及 MCP-SDK 用于坚固、类型安全的操作。

🤖 人工智能辅助开发

该项目是使用 VS Code, Copilot聊天代理, 剧作家MCP,以及 克劳德十四行诗4模型,展示了人工智能辅助软件开发的力量:

  • 智能代码生成:Claude Sonnet分析了需求并生成了全面的工具实现
  • 模式验证:跨工具自动识别和解决JSON模式验证问题
  • Docker优化:创建了生产就绪的Docker工作流和多阶段构建
  • 文档:生成了包含示例和工具参考表的全面自述文件
  • 测试:在整个代码库中实施了稳健的错误处理和验证

人工智能的主要贡献:

  • 🔧 工具实施:所有在人工智能协助下设计和实施的工具
  • 📦 Docker设置:使用GitHub Actions CI/CD管道完成容器化
  • 🔍 架构清理:从所有工具定义中系统地删除不受支持的Zod关键字
  • 📚 文档:包含使用示例和工具目录的全面自述文件
  • 🚀 生产就绪:Docker Hub发布、徽章和专业部署设置

这展示了人工智能如何在保持代码质量、适当架构和全面测试的同时加速开发。

添加新工具

  1. 在以下相应类别中创建工具目录 src/tools/
  2. 使用Zod定义具有输入模式的工具 index.ts
  3. 动态加载的导出注册功能
  4. 重建与 npm run build

项目结构

src/
├── index.ts              # Main MCP server with dynamic tool loading
└── tools/                # Modular tool categories
    ├── ansible/          # 5 Ansible automation tools
    ├── color/            # 2 Color conversion tools
    ├── crypto/           # 9 Cryptographic & security tools
    ├── dataFormat/       # 12 Data format conversion tools
    ├── development/      # 6 Development utilities
    ├── docker/           # 5 Docker & containerization tools
    ├── encoding/         # 8 Encoding/decoding tools
    ├── forensic/         # 3 Digital forensics tools
    ├── idGenerators/     # 4 ID & code generation tools
    ├── math/             # 6 Mathematical operation tools
    ├── network/          # 23 Network utilities
    ├── physics/          # 3 Physics calculation tools
    ├── text/             # 19 Text manipulation tools
    └── utility/          # 7 General utility tools

🤝 贡献

该项目不再接受捐款。 存档仅供参考。以下指南保留用于历史背景。

提交消息格式

此项目使用 约定式提交 以获得清晰、一致的提交消息。

版本管理:

  • 🤖 自动版本碰撞 -Git挂钩根据提交消息类型自动更新版本
  • 🤖 自动发布 -CI/CD检测更改并自动发布
  • 🏷️ Git标签 -基于常规提交消息自动创建

示例:

git commit -m "feat: add new encryption tool"    # → minor version bump
git commit -m "fix: resolve base64 decoding issue"  # → patch version bump
git commit -m "docs: improve README examples"   # → patch version bump
git commit -m "feat!: breaking API change"      # → major version bump

# Version is automatically bumped and committed by git hooks
# No manual npm version commands needed!
git push

📖 看 COMMIT_TEMPLATE_SETUP.md 有关设置说明。

开发流程

  1. 分叉存储库
  2. 跑 ./setup-commit-template.sh (推荐)
  3. 创建要素分支
  4. 根据项目结构进行更改
  5. 使用常规提交消息
  6. 提交拉取请求

CI/CD管道将自动:

  • ✅ 构建并测试您的更改
  • 🏷️ 基于提交消息的Bump版本(合并到main时)
  • 📦 发布到Docker Hub和NPM
  • 🚀 创建GitHub版本

📄 许可证

MIT许可证-请参阅 许可证 了解详情。

🔗 相关

受到启发 IT工具 -开发人员的在线工具。

该项目整合了以下精选工具 @sharevb分叉 它通过附加的实用程序和增强功能扩展了IT工具。