validar-semver

Resolves real semver range satisfaction (^1.2.3, ~2.0) against a version. Paid via x402/USDC.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~629Tokens (tool definitions)
~6.2 KBTypical response size
Minimal attention impact (0.49% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "validar-semver": {
      "url": "https://validar-semver.encodari.workers.dev/mcp"
    }
  }
}

Remote endpoints

https://validar-semver.encodari.workers.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (1)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
⚪validate_semver(version, ranges, include_prereleases)

Resolves real semver range satisfaction (e.g. "^1.2.3", "~2.0", "2.x", ">=1.0.0 <2.0.0") against a version, using the same semver engine npm uses (the "semver" package), not a model guess about what should match. Costs $0.01 USDC (Base) per call.

Input Schema

{
  "type": "object",
  "properties": {
    "version": {
      "type": "string",
      "maxLength": 256,
      "description": "The semver version to evaluate (e.g. \"1.2.3\", \"1.2.3-beta.1\", \"v2.0.0\")."
    },
    "ranges": {
      "minItems": 1,
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "maxLength": 256
      },
      "description": "List of semver ranges to evaluate against the version, one by one. Max 50 ranges, 256 characters each."
    },
    "include_prereleases": {
      "description": "If true, allows a prerelease version (e.g. 1.3.0-beta.1) to match ranges that don't explicitly mention that same major.minor.patch tuple as a prerelease. Defaults to false (standard npm/semver behavior).",
      "type": "boolean"
    }
  },
  "required": [
    "version",
    "ranges"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "valid_version": {
      "type": "boolean",
      "description": "false if `version` isn't a valid semver."
    },
    "normalized_version": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Normalized form of `version` (e.g. \"v1.2.3\" -> \"1.2.3\"). null if valid_version is false."
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Error message if valid_version is false; null if valid."
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "range": {
            "type": "string"
          },
          "valid_range": {
            "type": "boolean",
            "description": "false if that range isn't a valid semver range."
          },
          "normalized_range": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Normalized form of the range (expanded comparators). null if valid_range is false."
          },
          "satisfies": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "description": "true/false whether the version satisfies the range. null if valid_range is false."
          },
          "error": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "description": "Error message if valid_range is false; null if valid."
          }
        },
        "required": [
          "range",
          "valid_range",
          "normalized_range",
          "satisfies",
          "error"
        ],
        "additionalProperties": false
      },
      "description": "One result per range, in the same order they were received."
    }
  },
  "required": [
    "valid_version",
    "normalized_version",
    "error",
    "results"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded1 tools
verifiedversion not recorded1 tools