npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

chronoshield-mcp

v1.0.0

Published

Model Context Protocol server for ChronoShield API — preflight datetime validation for AI agents. Detects DST gaps, DST overlaps, and invalid IANA timezones before agents schedule, book, bill, remind, or convert.

Readme

ChronoShield MCP Server

Preflight datetime validation for AI agents — as native MCP tools.

This is the Model Context Protocol server for ChronoShield API. Install it once and Claude Desktop, Cursor, Windsurf, or any other MCP-compatible client can call ChronoShield's datetime tools natively — no integration code, no custom function definitions.

Use it before agents:

  • create calendar events from natural-language input
  • schedule reminders, alarms, or notifications
  • book appointments, tables, or pickups
  • set up cron jobs or recurring schedules
  • calculate billing or subscription cycles in local civil time
  • convert user-entered local time to UTC
  • trigger any time-based workflow automation

If a user-entered local time falls in a DST gap (doesn't exist), occurs twice (DST overlap), or uses an invalid IANA timezone, the agent gets a structured error code instead of silently storing the wrong moment.


Install

npm install -g chronoshield-mcp

Or run on demand without a global install:

npx -y chronoshield-mcp

You'll need a free ChronoShield API key — get one at chronoshieldapi.com.


Claude Desktop

Open Settings → Developer → Edit Config (or edit claude_desktop_config.json directly):

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Add:

{
  "mcpServers": {
    "chronoshield": {
      "command": "npx",
      "args": ["-y", "chronoshield-mcp"],
      "env": {
        "CHRONOSHIELD_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Restart Claude Desktop. The four ChronoShield tools should appear in the tool picker. Try:

"Schedule a reminder for 2:30 AM on March 8, 2026 in New York."

Claude should call validate_local_datetime, see DST_GAP, and ask you whether to use 3:00 AM instead.


Cursor / Windsurf / other MCP clients

Same shape as Claude Desktop. Drop the snippet above into your client's MCP config file. See examples/ for ready-to-paste configs.


Tools

| Tool | Purpose | |---|---| | validate_local_datetime | Preflight check — does this local time exist, is it ambiguous, or is the timezone invalid? | | resolve_datetime | Resolve a local datetime to a UTC instant using an explicit DST policy | | convert_datetime | Convert a UTC instant to local time in a target IANA timezone | | batch_datetime_operations | Run up to 100 of the above operations in one request |

Full schemas: /agent-tools.json Full agent guide: chronoshieldapi.com/docs/ai-agents


Recommended agent behavior

After calling validate_local_datetime:

| Result | Agent should | |---|---| | status: "valid" | Proceed | | reason_code: "DST_GAP" | Don't schedule silently. Ask the user for an alternate time, or apply an explicit policy via resolve_datetime (invalid_policy) | | reason_code: "DST_OVERLAP" | Ask which occurrence the user means, or resolve via resolve_datetime (ambiguous_policy) | | reason_code: "INVALID_TIMEZONE" | Ask the user for a valid IANA timezone (e.g., America/New_York, not EST) |


Configuration

| Env var | Required | Default | Description | |---|---|---|---| | CHRONOSHIELD_API_KEY | Yes | — | Your ChronoShield API key. Get one at chronoshieldapi.com. | | CHRONOSHIELD_BASE_URL | No | https://chronoshieldapi.com | Override for self-hosted deployments. |


Security

  • The API key is read only from environment variables. It is never written to logs, stdout, or error messages.
  • Errors surfaced to the MCP client include HTTP status codes and ChronoShield error messages, but never request headers or the API key.
  • All traffic to chronoshieldapi.com is over HTTPS.

If you discover a security issue, please email [email protected] rather than opening a public issue.


Development

git clone https://github.com/Mike-Mait/ChronoShield-API.git
cd ChronoShield-API/mcp
npm install
npm run build
CHRONOSHIELD_API_KEY=your_key node dist/index.js

The server speaks JSON-RPC over stdio. To smoke-test it manually:

echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | CHRONOSHIELD_API_KEY=your_key node dist/index.js

Links


License

ISC