Token导航 LogoToken导航TokenDH.com
Sys8 MCP Server logo
开发工具stdio官方级别未说明来源级核验

Sys8 MCP Server

MCP Server

Sys8 MCP服务器是一个提供系统信息和开发者工具的综合服务,包括日期/时间、操作系统版本、数学计算、随机数据生成、哈希计算、文本格式化、数据验证等功能。

工具数

20

提示词数

0

GitHub Stars

0

资源数

0
开发工具JavaScriptClaude数据验证Claude DesktopClaudeCursorWindsurf

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Angry-Robot-Deals

提供方

Angry-Robot-Deals

最后核验

2026/5/17 20:21

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run --rm -i sys8:latest

详细介绍

Sys8 MCP Server

MCP server for system information and developer utilities

Version: 0.4.0 | License: MIT

Sys8是一个全面的模型上下文协议(MCP)服务器,提供系统信息和开发人员实用程序:日期/时间、操作系统版本、数学计算、随机数据生成(UUID、十六进制、base64)、哈希、文本格式、数据验证(包括JSON)、编码/解码等。

特性

系统信息

  • 获取当前日期时间:获取所有可用格式的当前日期和时间(UTC、日期字符串、时间字符串、日期时间字符串、Unix时间戳、人类可读格式)
  • 获取操作系统版本:检索操作系统版本、平台信息和当前用户信息

计算和安全

  • 计算数学表达式:安全地计算数学表达式
  • 生成随机:生成随机数据(UUID v4、十六进制字符串、base64字符串或原始字节)
  • 哈希字符串:为字符串生成哈希值(对.env文件键有用)

开发工具(v0.4.0中的新功能)

  • 编码/解码Base64:将字符串与Base64格式进行编码和解码
  • 编码/解码URL:查询字符串和路径的URL编码和解码
  • 设置文本大小写格式:将文本转换为不同的大小写格式(camelCase、PascalCase、烤肉串大小写、snake_case、CONSTANT_case、标题大小写、小写、大写)
  • 生成蛞蝓:从文本生成URL友好的slug
  • 验证数据:根据各种格式(电子邮件、url、ipv4、ipv6、域、电话、信用卡、uuid、十六进制、base64、json)验证数据
  • 格式化JSON:格式化、验证、缩小或美化JSON字符串
  • 生成密码:生成具有可自定义选项(长度、字符类型、排除类似选项)的安全密码
  • 格式化字节:将字节格式化为人类可读格式(二进制或十进制)
  • 格式编号:格式化数字(货币、百分比、千位分隔符、小数)
  • 转换颜色:在颜色格式(十六进制、RGB、HSL)之间转换
  • 转换时区:在时区之间转换日期时间
  • 分析日志:分析日志中的错误和警告文本(编译、npm、Docker、运行时等)
  • 分析语言:分析文本的语言分布和字符类型(英语、中文、俄语、乌克兰语、越南语、日语、土耳其语、西班牙语、数字、标点符号、符号)

为什么选择MCP?项目理念

为什么使用MCP而不是LLM代理?

此MCP服务器提供确定性、可靠的系统实用程序 从不 被委托给人工智能代理。原因如下:

🎯 准确性和可靠性

  • AI代理会犯错:LLM在处理数学运算、日期/时间转换或数据验证时经常出现幻觉、计算错误并产生不一致的结果
  • 确定性算法:这些函数使用经过验证和测试的算法,这些算法总是能产生正确的结果
  • 确切性:系统信息、计算和验证需要AI无法保证的精度

💰 成本效益

  • 代币节省:与其将复杂的计算或验证逻辑发送到昂贵的LLM API,不如通过MCP在本地执行它们
  • 减少了API调用:一个MCP工具调用可以替换多个LLM推理步骤
  • 更快的响应:直接函数执行比LLM处理快几个数量级

🔒 安全与隐私

  • 本地执行:敏感操作(哈希、密码生成)在本地运行,而不是在云LLM服务中运行
  • 无数据泄露:系统信息、计算和验证保留在您的计算机上
  • 可审计代码:您可以查看并验证所使用的确切算法

演出

  • 即时结果:数学计算、日期/时间操作和验证以毫秒为单位执行
  • 无网络延迟:所有操作在没有API round-trips的情况下本地运行
  • 可扩展的:每秒处理数千次操作,没有速率限制

最佳实践

  • 关注点分离让人工智能处理推理和创造力;让算法处理计算和验证
  • 适合工作的工具:对确定性任务使用确定性函数
  • 可靠性:关键操作(UUID生成、密码哈希、数据验证)必须100%可靠

示例:不要问LLM“UTC的当前时间是多少?”,使用 get_current_datetime -它更快、更便宜,而且总是准确的。

先决条件

系统要求

用于本地安装

  • Node.js>=24.0.0 (必填)

- 用于:所有服务器功能、UUID生成(通过 crypto 模块),日期/时间操作

  • npm 或兼容的包管理器(必需)

- 用于:安装依赖项和构建项目

  • OpenSSL (需要 generate_random 具有十六进制/base64/字节类型)

- 通常预装在macOS和Linux上 - Windows:通过安装 Windows版OpenSSL 或使用WSL - 用于:加密安全随机字符串生成 - 备注:通过生成UUID generate_random 随着 type: 'uuid' 不需要openssl(使用Node.js crypto.randomUUID())

用于Docker安装

  • 码头工人 (必填)

- Dockerfile会自动在容器中安装openssl - 基础图像: node:lts (包括Node.js和npm) - 生产图片: node:lts-slim 安装了openssl

NPM依赖关系

以下软件包通过以下方式自动安装 npm install:

  • @模型上下文协议/sdk (v0.6.0)

- 需要:MCP协议实现、服务器/客户端通信

  • expr评估 (v2.0.2)

- 必需:安全的数学表达式计算 calculate_math_expression - 提供:安全的表达式解析,无需 eval() 危险分子

使用的系统库

  • Node.js内置模块 (无需安装):

- crypto -UUID生成、哈希(hash_string) - os -操作系统信息(get_os_version) - util -异步操作的Promise实用程序 - child_process -执行openssl命令 - Buffer -Base64编码/解码,二进制操作

  • 系统命令:

- openssl -随机字符串生成(十六进制、base64、字节) - 命令: openssl rand --hex - 命令: openssl rand | openssl base64

安装

本地安装

  1. 导航到sys8目录:
cd sys8
  1. 安装依赖项:
npm install
  1. 构建服务器:
npm run build

快速入门:MCP配置

克隆并构建存储库后,在MCP客户端中配置sys8。

选项1:本地安装(推荐)

macOS/Linux示例:

{
  "command": "node",
  "args": ["/home/user/mcp-sys8/build/index.js"]
}

Windows示例:

{
  "command": "node",
  "args": ["C:\\Users\\user\\mcp-sys8\\build\\index.js"]
}

选项2:相对路径(项目特定配置)

如果sys8位于您的项目中:

{
  "command": "node",
  "args": ["./sys8/build/index.js"]
}

完整配置示例

有关所有MCP客户端(Cursor AI、Claude Desktop、Windsurf、Docker)的详细安装和配置说明,请参阅 完整安装指南.

Docker安装

sys8 MCP服务器是容器化的,可以使用Docker运行。

Docker依赖关系 (自动安装在容器中):

  • Node.js LTS(来自 node:lts 基础图像)
  • openssl(通过安装 apt-get install openssl 生产阶段)
  • 来自的所有npm依赖项 package.json

构建Docker镜像

cd sys8
docker build -t sys8:latest .

运行容器

sys8 MCP服务器使用stdio协议进行通信,因此它应该以交互方式运行:

docker run --rm -i sys8:latest

与Docker桌面MCP工具包一起使用

sys8服务器设计用于Docker桌面MCP工具包。构建镜像后,您可以在Docker Desktop的MCP设置中对其进行配置。

备注:对于Docker Registry中的生产使用,服务器将在发布后通过Docker Desktop MCP Toolkit提供。

查看Docker日志

MCP服务器将详细日志输出到 stderr (标准错误),它允许您监视Docker中的所有MCP操作。以下是查看它们的方法:

选项1:运行容器并直接查看日志

# Run container and see all logs immediately
docker run --rm sys8:latest node test-server.mjs

# This will show:
# - Server startup logs
# - All MCP tool calls
# - Success/failure status for each call

选项2:以分离模式运行容器(用于生产)

# IMPORTANT: Run container with default CMD (MCP server will start automatically)
docker run -d --name sys8-server sys8:latest

# View logs (server startup and all MCP operations)
docker logs sys8-server

# View logs in real-time (follow mode)
docker logs -f sys8-server

# View last 50 lines
docker logs --tail 50 sys8-server

# View logs with timestamps
docker logs -f -t sys8-server

# Stop and remove container
docker rm -f sys8-server

⚠️ 常见问题:空日志

如果 docker logs sys8-server 没有显示任何内容,这意味着容器是用不同的命令启动的(如 sleep infinity)而不是运行MCP服务器。

解决方案:

# Stop and remove the container
docker stop sys8-server
docker rm sys8-server

# Start with correct command (MCP server will run automatically)
docker run -d --name sys8-server sys8:latest

# Now logs will be visible
docker logs -f sys8-server

要检查服务器是否正在运行,请执行以下操作:

# Check container status
docker ps | grep sys8-server

# Check if MCP server process is running (should show node process)
docker exec sys8-server sh -c "pgrep -f 'node.*build/index.js' || echo 'Server not running - container may be using sleep command'"

选项2:运行容器并立即查看日志

# Run container and see all output (including logs)
docker run --rm sys8:latest node test-server.mjs

选项3:测试MCP方法并查看日志

# Build image
docker build -t sys8-server:latest .

# Run tests inside container (logs will be visible)
docker run --rm sys8-server:latest node test-server.mjs

日志格式: 所有日志都以时间戳和日志级别作为前缀:

[2025-12-07T04:33:44.379Z] [INFO] ========================================
[2025-12-07T04:33:44.379Z] [INFO] Sys8 MCP Server started
[2025-12-07T04:33:44.379Z] [INFO] Version: 0.4.0
[2025-12-07T04:33:44.379Z] [INFO] Transport: stdio
[2025-12-07T04:33:44.379Z] [INFO] ========================================
[2025-12-07T04:33:44.383Z] [INFO] Tool call received: get_current_datetime
[2025-12-07T04:33:44.391Z] [INFO] Tool call: get_current_datetime | Args: {} | Status: SUCCESS
[2025-12-07T04:33:44.392Z] [INFO] Tool call received: get_os_version
[2025-12-07T04:33:44.392Z] [INFO] Tool call: get_os_version | Args: {} | Status: SUCCESS

记录的内容:

  • 服务器启动信息(版本、传输)
  • ListTools请求(当客户端请求可用工具时)
  • 所有工具调用(名称、参数、成功/失败状态)
  • 错误(带有详细的错误消息)

注: 当通过MCP客户端(如Cursor AI)使用服务器时,日志会自动显示在客户端的输出中。对于以分离模式运行的Docker容器,请使用 docker logs 查看它们。

用法

可用工具

1. get_current_datetime

获取所有可用格式的当前日期和时间。

参数:

例子:

{
  "name": "get_current_datetime",
  "arguments": {}
}

答复:

{
  "utc": "2025-11-30T10:27:35.291Z",
  "date": "2025-11-30",
  "time": "10:27:35",
  "datetime": "2025-11-30 10:27:35",
  "unix_timestamp_seconds": 1764498455,
  "unix_timestamp_milliseconds": 1764498455291,
  "human_readable_utc0": "30/11/2025, 10:27:35",
  "human_readable_utc2": "30/11/2025, 12:27:35",
  "human_readable_utc3": "30/11/2025, 13:27:35"
}

响应字段:

  • utc:ISO 8601 UTC日期时间字符串
  • date:YYYY-MM-DD格式的日期字符串
  • time:HH:mm:ss格式的时间字符串
  • datetime:组合日期和时间字符串
  • unix_timestamp_seconds:Unix时间戳(秒)
  • unix_timestamp_milliseconds:Unix时间戳(毫秒)
  • human_readable_utc0:UTC+0的人类可读格式(DD/MM/YYYY,HH:MM:SS)
  • human_readable_utc2:UTC+2的人类可读格式(DD/MM/YYYY,HH:MM:SS)
  • human_readable_utc3:UTC+3的人类可读格式(DD/MM/YYYY,HH:MM:SS)

2. get_os_version

获取操作系统版本、平台信息和当前用户信息。

参数:

例子:

{
  "name": "get_os_version",
  "arguments": {}
}

答复:

{
  "platform": "darwin",
  "release": "25.1.0",
  "architecture": "arm64",
  "type": "Darwin",
  "hostname": "mac.local",
  "username": "ug",
  "homedir": "/Users/ug",
  "platformName": "macOS",
  "uid": 501,
  "gid": 20
}

响应字段:

  • platform:平台标识符(达尔文、win32、linux)
  • release:操作系统发布版本
  • architecture:CPU架构
  • type:操作系统类型
  • hostname:系统主机名
  • username:当前用户名
  • homedir:用户主目录
  • platformName:人类可读的平台名称(macOS、Windows、Linux)
  • uid:用户ID(仅限Unix系统)
  • gid:组ID(仅限Unix系统)

3. calculate_math_expression

安全地计算一个数学表达式。

参数:

  • expression (必填,字符串):要计算的数学表达式(例如,“2+2”,“(10+5)\*3/2”,“sqrt(16)”)

支持的操作:

  • 算术: +, -, *, /, % (模), ^ (电源)
  • 函数: abs, ceil, floor, round, max, min, sqrt, sin, cos, tan, asin, acos, atan, log, exp
  • 常量: PI, E
  • 括号:完全支持对表达式进行分组
  • 优先:标准数学运算符优先级

例子:

{
  "name": "calculate_math_expression",
  "arguments": {
    "expression": "2 + 2"
  }
}

答复:

{
  "result": 4,
  "expression": "2 + 2"
}

更多示例:

  • 简单算术: "2 + 2"4
  • 复杂表达式: "(10 + 5) * 3 / 2"22.5
  • 十进制运算: "3.14 * 2"6.28
  • 负数: "-5 + 3"-2
  • 功能: "sqrt(16)"4, "sin(PI/2)"1
  • 功率: "2^3"8

错误处理:

  • 语法无效:返回错误并显示明确消息
  • 除零:返回错误“不允许除零”
  • 空表达式:返回错误“表达式不能为空或仅为空白”
  • 无效操作:返回描述错误

4. generate_random

生成随机数据:UUID v4、十六进制字符串、base64字符串或原始字节。

参数:

  • type (字符串,必填):随机数据类型- 'uuid' | 'hex' | 'base64' | 'bytes'
  • length (数字,可选):十六进制/base64/字节的长度(8-128,默认值:生成所有标准长度)
  • format (字符串,可选):仅适用于UUID的格式- 'standard' | 'uppercase' | 'without-dashes' (默认:返回所有格式)

示例(UUID):

{
  "name": "generate_random",
  "arguments": {
    "type": "uuid"
  }
}

响应(UUID):

{
  "type": "uuid",
  "value": "550e8400-e29b-41d4-a716-446655440000",
  "uuid": {
    "standard": "550e8400-e29b-41d4-a716-446655440000",
    "uppercase": "550E8400-E29B-41D4-A716-446655440000",
    "without_dashes": "550e8400e29b41d4a716446655440000"
  }
}

示例(十六进制-所有长度):

{
  "name": "generate_random",
  "arguments": {
    "type": "hex"
  }
}

响应(十六进制-所有长度):

{
  "type": "hex",
  "value": "84A7B45B6BD20D97",
  "hex": {
    "hex_8_uppercase": "84A7B45B6BD20D97",
    "hex_16_uppercase": "4F76E8D72DFC73D01697F31B65910C19",
    "hex_32_uppercase": "57FCAA273E858F6CA7A467A8E233727F913C799E8B51E8B27EF04B90BBD4C2F4",
    "hex_64_uppercase": "5F2DCD116CEF205127445A5134D8008E3556CBDCC4759E89DA540C043E3B68B34A20A55587D375069BC38A97404E12C3FCEB42C8BB09E4C7651059107B2B9EFD"
  }
}

示例(Base64-特定长度):

{
  "name": "generate_random",
  "arguments": {
    "type": "base64",
    "length": 32
  }
}

响应(Base64-特定长度):

{
  "type": "base64",
  "value": "Yf1uDqalYr67AEtjTR/LxWj2zza/b7iUyHGNRpXPUAA=",
  "base64": {
    "base64_32": "Yf1uDqalYr67AEtjTR/LxWj2zza/b7iUyHGNRpXPUAA="
  }
}

注:

  • UUID生成使用Node.js加密,不需要openssl
  • 十六进制、base64和字节生成需要安装openssl
  • 如果openssl不可用,hex/base64/bytes生成将返回错误

5. hash_string

为字符串生成哈希值(对.env文件密钥很有用)。

参数:

  • input (必填,string):字符串哈希

例子:

{
  "name": "hash_string",
  "arguments": {
    "input": "my-secret-key"
  }
}

答复:

{
  "input": "my-secret-key",
  "sha256_hex": "d5579c46dfcc7f18207013e65b44e4cb4e2c2298f4ac457ba8f82743f31e930b",
  "sha256_base64": "1VecRt/MfxggcBPmW0Tky04sIpj0rEV7qPgnQ/Mekws=",
  "sha512_hex": "10e6d647af44624442f388c2c14a787ff8b17e6165b83d767ec047768d8cbcb71a1a3226e7cc7816bc79c0427d94a9da688c41a3992c7bf5e4d7cc3e0be5dbac",
  "sha512_base64": "EObWR69EYkRC84jCwUp4f/ixfmFluD12fsBHdo2MvLcaGjIm58x4Frx5wEJ9lKnaaIxBo5kse/Xk18w+C+XbrA=="
}

响应字段:

  • input:原始输入字符串
  • sha256_hex:十六进制格式的SHA256哈希(64个字符)
  • sha256_base64:base64格式的SHA256哈希
  • sha512_hex:十六进制格式的SHA512哈希(128个字符)
  • sha512_base64:base64格式的SHA512哈希

错误处理:

  • 空输入:返回错误“输入字符串不能为空或仅为空白”

6. analyze_logs

分析日志中的错误和警告文本。检测常见的错误模式,包括编译错误、npm错误、Docker错误、运行时错误和警告。

参数:

  • text (必填,字符串):用于分析错误和警告的文本内容

例子:

{
  "name": "analyze_logs",
  "arguments": {
    "text": "npm ERR! code EACCES\nnpm ERR! permission denied\nerror TS2304: Cannot find name 'undefined'.\nnpm WARN deprecated package@1.0.0"
  }
}

答复:

{
  "error_count": 3,
  "warning_count": 1,
  "errors": [
    {
      "line": 1,
      "message": "npm ERR! code EACCES",
      "type": "npm"
    },
    {
      "line": 2,
      "message": "npm ERR! permission denied",
      "type": "npm"
    },
    {
      "line": 3,
      "message": "error TS2304: Cannot find name 'undefined'.",
      "type": "compilation"
    }
  ],
  "warnings": [
    {
      "line": 4,
      "message": "npm WARN deprecated package@1.0.0",
      "type": "npm"
    }
  ]
}

响应字段:

  • error_count:文本中发现的错误数
  • warning_count:文本中发现的警告数
  • errors:错误对象数组,包含:

- line:发现错误的行号 - message:错误消息(截断为200个字符) - type:错误类型(编译、npm、docker、运行时等)

  • warnings:警告对象数组,包括:

- line:发现警告的行号 - message:警告消息(截断为200个字符) - type:警告类型(npm、弃用、安全等)

检测到的错误类型:

  • 编译错误(TypeScript、语法、类型错误)
  • npm错误(EACCES、ENOENT、安装失败)
  • Docker错误(构建失败、找不到映像、容器错误)
  • 运行时错误(异常、致命错误、堆栈溢出)
  • 网络错误(连接被拒绝、超时、HTTP错误)
  • 文件系统错误(ENOENT、EACCES、权限被拒绝)
  • 数据库错误(SQL错误、连接失败)
  • 身份验证错误(未经授权、无效令牌)

检测到的警告类型:

  • npm警告(已弃用的包、对等依赖)
  • 编译警告(未使用的变量、类型安全)
  • Docker警告
  • 安全警告(漏洞、不安全配置)
  • 性能警告(查询速度慢、内存泄漏)
  • 不推荐使用的API警告

错误处理:

  • 空文本:返回零计数和空数组

7. analyze_language

分析文本的语言分布和字符类型。检测多种语言(英语、中文、俄语、乌克兰语、越南语、日语、土耳其语、西班牙语)的字符,并对其他字符(数字、标点符号、符号、空格)进行分类。

参数:

  • text (必填,字符串):用于分析语言和字符分布的文本内容

例子:

{
  "name": "analyze_language",
  "arguments": {
    "text": "Hello 你好 Привет こんにちは 123!"
  }
}

答复:

{
  "total_characters": 20,
  "encoding": "UTF-16 (JavaScript default)",
  "languages": {
    "english": {
      "count": 5,
      "percentage": 25.0
    },
    "chinese": {
      "count": 2,
      "percentage": 10.0
    },
    "russian": {
      "count": 6,
      "percentage": 30.0
    },
    "ukrainian": {
      "count": 0,
      "percentage": 0.0
    },
    "vietnamese": {
      "count": 0,
      "percentage": 0.0
    },
    "japanese": {
      "count": 5,
      "percentage": 25.0
    },
    "turkish": {
      "count": 0,
      "percentage": 0.0
    },
    "spanish": {
      "count": 0,
      "percentage": 0.0
    }
  },
  "categories": {
    "digits": {
      "count": 3,
      "percentage": 15.0
    },
    "punctuation": {
      "count": 1,
      "percentage": 5.0
    },
    "symbols": {
      "count": 0,
      "percentage": 0.0
    },
    "whitespace": {
      "count": 3,
      "percentage": 15.0
    },
    "other": {
      "count": 0,
      "percentage": 0.0
    }
  }
}

响应字段:

  • total_characters:文本中的字符总数
  • encoding:如果可以确定,则检测到编码(UTF-8、UTF-16等)
  • languages:具有特定语言计数和百分比的对象:

- english:英文字母(A-Z,A-Z) - chinese:汉字(CJK统一表意文字) - russian:俄语西里尔字母 - ukrainian:乌克兰西里尔字母(由i、o、є等特定字符区分) - vietnamese:带变音符号的越南语拉丁字符 - japanese:日文字符(平假名、片假名、汉字) - turkish:具有特定字符的土耳其语拉丁字符(İ、ı、Ş、ş、286、ğ、Ç、ç、Ö、ö、Ü、ü) - spanish:具有特定字符(a、e、i、o、u、ñ、ü)的西班牙语拉丁字符

  • categories:具有字符类别计数和百分比的对象:

- digits:数字(0-9) - punctuation:标点符号 - symbols:数学符号和其他符号 - whitespace:空格字符(空格、制表符、换行符) - other:未分类字符

语言检测:

  • 使用Unicode范围来识别不同语言的字符
  • 通过检测乌克兰特定字符(i,o,є)来区分俄语和乌克兰语
  • 检测越南语、土耳其语和西班牙语的特定语言字符
  • 百分比的计算精度为小数点后2位

编码检测:

  • 尝试检测编码(UTF-8、UTF-16、UTF-8 BOM等)
  • 使用基于BOM标记和字符模式的启发式方法
  • 如果可确定,则返回编码信息,否则可能未定义

错误处理:

  • 空文本:返回所有语言和类别的零计数和百分比

8. encode_base64

将字符串编码为Base64格式。

参数:

  • input (必填,string):要编码的字符串
  • encoding (可选,字符串):输入编码- utf8, hex,或 binary (默认值: utf8)

例子:

{
  "name": "encode_base64",
  "arguments": {
    "input": "Hello World!",
    "encoding": "utf8"
  }
}

答复:

{
  "encoded": "SGVsbG8gV29ybGQh",
  "input": "Hello World!",
  "encoding": "utf8"
}

9. decode_base64

解码Base64字符串。

参数:

  • input (必填,字符串):要解码的Base64字符串
  • encoding (可选,字符串):输出编码- utf8, hex,或 binary (默认值: utf8)

例子:

{
  "name": "decode_base64",
  "arguments": {
    "input": "SGVsbG8gV29ybGQh",
    "encoding": "utf8"
  }
}

答复:

{
  "decoded": "Hello World!",
  "input": "SGVsbG8gV29ybGQh",
  "encoding": "utf8"
}

10. encode_url

对URL的字符串进行编码(URL编码)。

参数:

  • input (必填,string):要编码的字符串
  • component (可选,字符串):组件类型- full, path,或 query (默认值: full)

例子:

{
  "name": "encode_url",
  "arguments": {
    "input": "Hello World!",
    "component": "full"
  }
}

答复:

{
  "encoded": "Hello%20World%21",
  "input": "Hello World!",
  "component": "full"
}

11. decode_url

解码URL编码字符串。

参数:

  • input (必填,字符串):要解码的URL编码字符串
  • component (可选,字符串):组件类型- full, path,或 query (默认值: full)

例子:

{
  "name": "decode_url",
  "arguments": {
    "input": "Hello%20World%21",
    "component": "full"
  }
}

答复:

{
  "decoded": "Hello World!",
  "input": "Hello%20World%21",
  "component": "full"
}

12. format_text_case

将文本转换为不同的大小写格式。

参数:

  • input (必填,字符串):要转换的文本
  • format (可选,字符串):目标格式- camelCase, PascalCase, kebab-case, snake_case, CONSTANT_CASE, Title Case, lowercase,或 UPPERCASE (如果省略,则返回所有格式)

例子:

{
  "name": "format_text_case",
  "arguments": {
    "input": "hello world example"
  }
}

答复:

{
  "input": "hello world example",
  "camelCase": "helloWorldExample",
  "PascalCase": "HelloWorldExample",
  "kebab-case": "hello-world-example",
  "snake_case": "hello_world_example",
  "CONSTANT_CASE": "HELLO_WORLD_EXAMPLE",
  "Title Case": "Hello World Example",
  "lowercase": "hello world example",
  "UPPERCASE": "HELLO WORLD EXAMPLE"
}

13. generate_slug

从文本生成URL友好的slug。

参数:

  • input (必填,字符串):要转换为slug的文本
  • separator (可选,字符串):分隔符(默认值: -)
  • lowercase (可选,布尔值):转换为小写(默认值: true)

例子:

{
  "name": "generate_slug",
  "arguments": {
    "input": "Hello World Example!",
    "separator": "-",
    "lowercase": true
  }
}

答复:

{
  "input": "Hello World Example!",
  "slug": "hello-world-example",
  "separator": "-"
}

14. validate_data

根据各种格式验证数据。

参数:

  • input (必填,字符串):要验证的数据
  • type (必填,字符串):验证类型- email, url, ipv4, ipv6, domain, phone, credit-card, uuid, hex, base64,或 json

例子:

{
  "name": "validate_data",
  "arguments": {
    "input": "user@example.com",
    "type": "email"
  }
}

答复:

{
  "input": "user@example.com",
  "type": "email",
  "valid": true,
  "normalized": "user@example.com"
}

支持的验证类型:

  • email:电子邮件地址验证
  • url:URL验证(必须以http://或https://开头)
  • ipv4:IPv4地址验证
  • ipv6:IPv6地址验证
  • domain:域名验证
  • phone:电话号码验证(国际格式)
  • credit-card:信用卡号验证(13-19位数字)
  • uuid:UUID v4验证
  • hex:十六进制字符串验证
  • base64:Base64字符串验证
  • json:JSON字符串验证(解析)

15. format_json

格式化、验证、缩小或美化JSON。

参数:

  • input (必填,string):要处理的JSON字符串
  • action (必填,字符串):要执行的操作- format, validate, minify,或 prettify
  • indent (可选,数字):缩进的空格数(0-10,默认值:2)

例子:

{
  "name": "format_json",
  "arguments": {
    "input": "{\"name\":\"test\",\"value\":123}",
    "action": "prettify",
    "indent": 2
  }
}

答复:

{
  "valid": true,
  "formatted": "{\n  \"name\": \"test\",\n  \"value\": 123\n}",
  "minified": "{\"name\":\"test\",\"value\":123}"
}

行动:

  • validate:验证JSON并返回格式化版本
  • format:使用指定缩进格式化JSON
  • prettify:与格式相同(打印精美)
  • minify:从JSON中删除所有空格

16. generate_password

使用可定制的选项生成安全密码。

参数:

  • length (可选,数字):密码长度(8-128,默认值:16)
  • include_uppercase (可选,布尔值):包含大写字母(默认值: true)
  • include_lowercase (可选,布尔值):包含小写字母(默认值: true)
  • include_numbers (可选,布尔值):包括数字(默认值: true)
  • include_symbols (可选,布尔值):包含符号(默认值: true)
  • exclude_similar (可选,布尔值):排除类似字符(il1Lo0O)(默认值: false)

例子:

{
  "name": "generate_password",
  "arguments": {
    "length": 16,
    "include_uppercase": true,
    "include_lowercase": true,
    "include_numbers": true,
    "include_symbols": true,
    "exclude_similar": false
  }
}

答复:

{
  "password": "Kx9#mP2$vL8@nQ4!",
  "length": 16,
  "strength": "strong",
  "entropy": 95.24,
  "character_set_size": 94
}

密码强度级别:

  • weak:低熵(\90)

17. format_bytes

将字节格式化为人类可读的格式。

参数:

  • bytes (必填,数字):要格式化的字节数
  • format (可选,字符串):格式类型- binary (基于1024)或 decimal (基于1000)(默认值: binary)
  • precision (可选,数字):小数位数(0-10,默认值:2)

例子:

{
  "name": "format_bytes",
  "arguments": {
    "bytes": 1048576,
    "format": "binary",
    "precision": 2
  }
}

答复:

{
  "bytes": 1048576,
  "formatted": "1.00 MB",
  "formatted_decimal": "1.05 MB",
  "kilobytes": 1024,
  "megabytes": 1,
  "gigabytes": 0.0009765625,
  "terabytes": 9.5367431640625e-7,
  "petabytes": 9.313225746154785e-10
}

18. format_number

设置数字格式(货币、百分比、千位分隔符、小数)。

参数:

  • number (必填,数字):数字格式
  • format (必填,字符串):格式类型- currency, percentage, thousands,或 decimal
  • locale (可选,字符串):区域设置(默认值: en-US)
  • currency (可选,字符串):货币格式的货币代码(默认值: USD)
  • minimum_fraction_digits (可选,数字):最小分数位数(0-20)
  • maximum_fraction_digits (可选,数字):最大分数位数(0-20)

例子:

{
  "name": "format_number",
  "arguments": {
    "number": 1234.56,
    "format": "currency",
    "locale": "en-US",
    "currency": "USD"
  }
}

答复:

{
  "input": 1234.56,
  "formatted": "$1,234.56",
  "format": "currency",
  "locale": "en-US",
  "currency": "USD"
}

格式类型:

  • currency:货币格式(例如,1234.56美元)
  • percentage:格式为百分比(例如12.34%)
  • thousands:带千位分隔符的格式(例如1234.56)
  • decimal:带小数点的格式(例如1234.56)

19. convert_color

在颜色格式(十六进制、RGB、HSL)之间转换。

参数:

  • input (必填,字符串):要转换的颜色值
  • from (必填,字符串):源颜色格式- hex, rgb,或 hsl
  • to (必填,字符串):目标颜色格式- hex, rgb,或 hsl

例子:

{
  "name": "convert_color",
  "arguments": {
    "input": "#FF5733",
    "from": "hex",
    "to": "rgb"
  }
}

答复:

{
  "input": "#FF5733",
  "from": "hex",
  "to": "rgb",
  "hex": "#FF5733",
  "rgb": "rgb(255, 87, 51)",
  "hsl": "hsl(9, 100%, 60%)",
  "rgb_array": [255, 87, 51],
  "hsl_array": [9, 100, 60]
}

注: 为了方便起见,返回所有格式(十六进制、RGB、HSL),而不管请求的转换如何。

20. convert_timezone

在时区之间转换日期时间。

参数:

  • datetime (必填,字符串):要转换的日期时间字符串
  • from_timezone (可选,字符串):源时区(默认: UTC)
  • to_timezone (必填,字符串):目标时区
  • format (可选,字符串):输出格式(可选)

例子:

{
  "name": "convert_timezone",
  "arguments": {
    "datetime": "2025-12-07T12:00:00Z",
    "from_timezone": "UTC",
    "to_timezone": "America/New_York"
  }
}

答复:

{
  "input_datetime": "2025-12-07T12:00:00Z",
  "from_timezone": "UTC",
  "to_timezone": "America/New_York",
  "converted_datetime": "2025-12-07 07:00:00",
  "iso_string": "2025-12-07T07:00:00-05:00",
  "unix_timestamp": 1733580000,
  "formatted": "2025-12-07 07:00:00"
}

安装和配置

快速开始

请在下面选择您的环境以获取安装说明:

______________________________________________________________________

光标AI

全局配置(所有用户和项目)-推荐

要将此MCP服务器配置为全局用于Cursor AI(适用于所有用户和项目),您需要将其添加到全局MCP配置文件中。

选项1:使用tsx(建议用于开发)

这种方法与其他MCP服务器类似,直接运行TypeScript而无需编译。在开发过程中更方便。

macOS/Linux:

  1. 创建或编辑全局MCP配置文件:
mkdir -p ~/Library/Application\ Support/Cursor/User/globalStorage
nano ~/Library/Application\ Support/Cursor/User/globalStorage/mcp.json

或者:

mkdir -p ~/.cursor
nano ~/.cursor/mcp.json
  1. 添加以下配置:
{
  "mcpServers": {
    "sys8": {
      "command": "npx",
      "args": ["tsx", "/Users/ug/code/AI/mcp/sys8/src/index.ts"]
    }
  }
}

窗户:

{
  "mcpServers": {
    "sys8": {
      "command": "npx",
      "args": ["tsx", "C:\\path\\to\\mcp\\sys8\\src\\index.ts"]
    }
  }
}

重要提示: 将路径替换为您的绝对路径 src/index.ts 文件。

选项2:使用编译的JavaScript(生产环境)

这种方法使用编译的JavaScript文件。需要跑步 npm run build 代码更改后。

macOS/Linux:

  1. 创建或编辑全局MCP配置文件:
mkdir -p ~/Library/Application\ Support/Cursor/User/globalStorage
nano ~/Library/Application\ Support/Cursor/User/globalStorage/mcp.json
  1. 添加以下配置:
{
  "mcpServers": {
    "sys8": {
      "command": "node",
      "args": ["/Users/ug/code/AI/mcp/sys8/build/index.js"]
    }
  }
}

重要提示: 替换 /Users/ug/code/AI/mcp/sys8/build/index.js 与你的绝对路径 build/index.js 文件。

Linux

  1. 创建或编辑全局MCP配置文件:
mkdir -p ~/.config/Cursor/User/globalStorage
nano ~/.config/Cursor/User/globalStorage/mcp.json

或者:

mkdir -p ~/.cursor
nano ~/.cursor/mcp.json
  1. 为macOS添加如上所示的配置。

视窗

  1. 创建或编辑全局MCP配置文件:
%APPDATA%\Cursor\User\globalStorage\mcp.json

或者:

%USERPROFILE%\.cursor\mcp.json
  1. 添加以下配置(使用Windows路径格式):
{
  "mcpServers": {
    "sys8": {
      "command": "node",
      "args": ["C:\\path\\to\\mcp\\sys8\\build\\index.js"]
    }
  }
}

注: 使用双反睫毛(\\)或正斜杠(/)在Windows路径中。

项目特定配置

如果您希望按项目配置它,请创建或编辑 .cursor/mcp.json 项目根目录中的文件:

{
  "mcpServers": {
    "sys8": {
      "command": "node",
      "args": ["/absolute/path/to/sys8/build/index.js"]
    }
  }
}

例子: 如果你的项目在 /Users/ug/code/AI/mcp,您可以使用:

{
  "mcpServers": {
    "sys8": {
      "command": "node",
      "args": ["./sys8/build/index.js"]
    }
  }
}

替代方案:使用npm链接(用于开发)

如果您想在任何地方使用服务器而不指定完整路径:

  1. 在sys8目录中:
npm link
  1. 然后在配置中,使用:
{
  "mcpServers": {
    "sys8": {
      "command": "sys8"
    }
  }
}

验证配置

添加配置后:

  1. 重新启动游标AI
  2. MCP服务器应自动加载
  3. 您可以使用Cursor AI聊天中的工具验证它是否正常工作

配置文件示例

cursor-mcp-config-example.json 在此目录中查看完整的示例配置。

测试

自动化测试

运行自动化测试套件以验证所有功能:

npm test

这将测试所有20个工具:

  • get_current_datetime -所有可用格式
  • get_os_version -操作系统信息和用户详细信息
  • calculate_math_expression -简单的算术、复杂的表达式、函数和错误情况
  • hash_string -十六进制和base64格式的SHA256和SHA512哈希
  • generate_random -UUID v4、十六进制字符串、base64字符串或原始字节生成
  • encode_base64 / decode_base64 -Base64编码/解码
  • encode_url / decode_url -URL编码/解码
  • format_text_case -文本大小写转换(camelCase、kebab case等)
  • generate_slug -URL友好的slug生成
  • validate_data –数据验证(电子邮件、URL、IP、JSON等)
  • format_json -JSON格式化、验证和压缩
  • generate_password -使用可定制选项生成安全密码
  • format_bytes -字节格式化为人类可读格式(二进制/十进制)
  • format_number -数字格式(货币、百分比、千、小数)
  • convert_color -颜色转换(十六进制、RGB、HSL)
  • convert_timezone -时区转换
  • analyze_logs -分析日志中的错误和警告文本
  • analyze_language -分析文本的语言分布和字符类型
  • analyze_language -分析文本的语言分布和字符类型

MCP检查员

使用MCP检查器交互式测试服务器:

npm run inspector

这将打开一个交互式界面,您可以在其中手动测试每个工具。

手动测试

您也可以直接运行服务器:

node build/index.js

或者使用tsx:

npx tsx src/index.ts

发展

  • 观看模式: npm run watch -根据文件更改自动重建
  • 构建: npm run build -将TypeScript编译为JavaScript
  • 检查员: npm run inspector -运行MCP检查器进行测试

限制和要求

系统相关性

  • OpenSSL:必需 generate_random 随着 type: 'hex', type: 'base64',或 type: 'bytes'

- 必须在系统PATH中安装并可访问 - 通常预装在macOS和Linux上 - Windows:单独安装或使用WSL - UUID生成 (generate_random 随着 type: 'uuid')不需要openssl(使用Node.js crypto.randomUUID())

  • Node.js>=24.0.0:所有功能都需要

- 提供内置 crypto UUID和哈希模块 - 提供 os 系统信息模块 - 提供 Buffer 用于编码/解码操作

功能限制

  • 操作系统版本信息:基于Node.js os 模块功能(可能因平台而异)
  • 日期/时间信息:

- get_current_datetime 返回UTC时区中的所有格式 - 使用系统时区设置进行转换

  • 数学表达式:仅限于由以下机构支持的行动 expr-eval 图书馆

- 支持:算术、三角学、对数、幂运算 - 不支持:复数、矩阵运算、符号数学 - 安全性:使用安全的解析器配置来防止代码注入(没有变量、逻辑运算符或比较运算符)

  • 散列算法:只有SHA256和SHA512可用(通过 hash_string)

- 出于安全原因,未提供其他算法(MD5、SHA1等)

许可证

私人项目-不用于分发。

目录标签

目录标签

开发工具JavaScriptClaude数据验证系统信息本地部署开发者工具文本格式化随机生成

支持客户端

Claude DesktopClaudeCursorWindsurf

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

20

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

来源信息

继续浏览同类 MCP