SemverKit

Semver parse, compare, npm range checks, max-satisfying and version bumps (node-semver compatible).

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
100%
이름 품질
88%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,874토큰 (도구 정의)
~2.7 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.46%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "semverkit": {
      "url": "https://semverkit.mike-tusa.workers.dev/mcp"
    }
  }
}

원격 엔드포인트

https://semverkit.mike-tusa.workers.dev/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (5)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢parse_version(version)

Validate a version against SemVer 2.0.0 and split it into major, minor, patch, prerelease identifiers and build metadata, with isPrerelease/isStable flags. Read-only. Same engine as GET /api/parse.

입력 스키마

{
  "type": "object",
  "properties": {
    "version": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "description": "Version: a semantic version such as \"1.4.2\", \"v2.0.0\" or \"3.0.0-rc.1+build.5\"."
    }
  },
  "required": [
    "version"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "input": {
      "type": "string"
    },
    "version": {
      "type": "string"
    },
    "major": {
      "type": "integer"
    },
    "minor": {
      "type": "integer"
    },
    "patch": {
      "type": "integer"
    },
    "prerelease": {
      "type": "array",
      "items": {
        "type": [
          "string",
          "integer"
        ]
      }
    },
    "build": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "isPrerelease": {
      "type": "boolean"
    },
    "isStable": {
      "type": "boolean"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "apiVersion": {
      "type": "string"
    }
  },
  "required": [
    "version",
    "major",
    "minor",
    "patch",
    "isPrerelease",
    "apiVersion"
  ]
}
🟢compare_versions(a, b)

Compare a and b by SemVer precedence (prereleases sort before the release, build metadata ignored). Returns -1, 0 or 1 and the change type from the lower to the higher version (major, minor, patch, premajor, preminor, prepatch, prerelease) exactly like semver.diff. Read-only. Same engine as GET /api/compare.

입력 스키마

{
  "type": "object",
  "properties": {
    "a": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "description": "First version: a semantic version such as \"1.4.2\", \"v2.0.0\" or \"3.0.0-rc.1+build.5\"."
    },
    "b": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "description": "Second version: a semantic version such as \"1.4.2\", \"v2.0.0\" or \"3.0.0-rc.1+build.5\"."
    }
  },
  "required": [
    "a",
    "b"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "a": {
      "type": "string"
    },
    "b": {
      "type": "string"
    },
    "result": {
      "type": "integer"
    },
    "relation": {
      "type": "string"
    },
    "diff": {
      "type": [
        "string",
        "null"
      ]
    },
    "buildDiffers": {
      "type": "boolean"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "apiVersion": {
      "type": "string"
    }
  },
  "required": [
    "result",
    "relation",
    "diff",
    "apiVersion"
  ]
}
🟢check_range(version, range, includePrerelease)

Does a version satisfy an npm-style range (^, ~, x-ranges, hyphen ranges, comparators, || alternatives)? Returns the answer and the range desugared into plain comparators (e.g. ^0.2.3 → >=0.2.3 <0.3.0-0), with a note when npm's prerelease rule is why it fails. Read-only. Same engine as GET /api/satisfies.

입력 스키마

{
  "type": "object",
  "properties": {
    "version": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "description": "Version to test: a semantic version such as \"1.4.2\", \"v2.0.0\" or \"3.0.0-rc.1+build.5\"."
    },
    "range": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512,
      "description": "npm-style range, e.g. \"^1.2.0\", \"~1.4\", \">=1.0.0 <2.0.0\", \"1.2.3 - 2.x\", \"1.x || >=3.0.0-beta.1\"."
    },
    "includePrerelease": {
      "type": "boolean",
      "default": false,
      "description": "Let prereleases match any range they fall inside (npm includePrerelease). Default false (npm behaviour)."
    }
  },
  "required": [
    "version",
    "range"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "version": {
      "type": "string"
    },
    "range": {
      "type": "string"
    },
    "normalized": {
      "type": "string"
    },
    "satisfies": {
      "type": "boolean"
    },
    "includePrerelease": {
      "type": "boolean"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "apiVersion": {
      "type": "string"
    }
  },
  "required": [
    "satisfies",
    "normalized",
    "apiVersion"
  ]
}
🟢resolve_versions(versions, range, includePrerelease)

Sort 1 to 200 versions by SemVer precedence (duplicates removed, invalid ones listed separately) and, if a range is given, return the matching versions plus maxSatisfying / minSatisfying (what npm would install from that list) and the latest stable version. Read-only. Same engine as GET /api/resolve.

입력 스키마

{
  "type": "object",
  "properties": {
    "versions": {
      "type": "array",
      "minItems": 1,
      "maxItems": 200,
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 256,
        "description": "Version: a semantic version such as \"1.4.2\", \"v2.0.0\" or \"3.0.0-rc.1+build.5\"."
      },
      "description": "1 to 200 versions."
    },
    "range": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512,
      "description": "npm-style range, e.g. \"^1.2.0\", \"~1.4\", \">=1.0.0 <2.0.0\", \"1.2.3 - 2.x\", \"1.x || >=3.0.0-beta.1\"."
    },
    "includePrerelease": {
      "type": "boolean",
      "default": false,
      "description": "Let prereleases match any range they fall inside (npm includePrerelease). Default false (npm behaviour)."
    }
  },
  "required": [
    "versions"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "range": {
      "type": [
        "string",
        "null"
      ]
    },
    "normalized": {
      "type": [
        "string",
        "null"
      ]
    },
    "includePrerelease": {
      "type": "boolean"
    },
    "sorted": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "count": {
      "type": "integer"
    },
    "matching": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "maxSatisfying": {
      "type": [
        "string",
        "null"
      ]
    },
    "minSatisfying": {
      "type": [
        "string",
        "null"
      ]
    },
    "latestStable": {
      "type": [
        "string",
        "null"
      ]
    },
    "invalid": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "duplicatesRemoved": {
      "type": "integer"
    },
    "apiVersion": {
      "type": "string"
    }
  },
  "required": [
    "sorted",
    "matching",
    "maxSatisfying",
    "apiVersion"
  ]
}
🟢bump_version(version, release, preid)

Compute the next version for a release type (major, minor, patch, premajor, preminor, prepatch, prerelease, release), with an optional prerelease id such as alpha, beta or rc, exactly like npm version / semver.inc. Read-only: nothing is published. Same engine as GET /api/bump.

입력 스키마

{
  "type": "object",
  "properties": {
    "version": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "description": "Current version: a semantic version such as \"1.4.2\", \"v2.0.0\" or \"3.0.0-rc.1+build.5\"."
    },
    "release": {
      "type": "string",
      "enum": [
        "major",
        "minor",
        "patch",
        "premajor",
        "preminor",
        "prepatch",
        "prerelease",
        "release"
      ],
      "default": "patch",
      "description": "Release type."
    },
    "preid": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "Prerelease identifier, e.g. \"beta\" (for pre* and prerelease)."
    }
  },
  "required": [
    "version"
  ],
  "additionalProperties": false
}

출력 스키마

{
  "type": "object",
  "properties": {
    "from": {
      "type": "string"
    },
    "release": {
      "type": "string"
    },
    "preid": {
      "type": [
        "string",
        "null"
      ]
    },
    "version": {
      "type": "string"
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "apiVersion": {
      "type": "string"
    }
  },
  "required": [
    "from",
    "version",
    "apiVersion"
  ]
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 5개