# dev.promplate/hmr

> Docs for hot-module-reload and reactive programming for Python (`hmr` on PyPI)

- name: dev.promplate/hmr
- version: 1.0.2
- connection class: R0 (autonomous)
- trust: 82/100
- quality: 89/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/dev.promplate%2Fhmr
- tools: https://api.protogrid.dev/v1/servers/dev.promplate%2Fhmr/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "hmr": {
      "type": "http",
      "url": "https://pyth-on-line.promplate.dev/hmr/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 100
- freshness: 25
- provenance: 90
- drivers: +repository +namespace-matches-repo +dns-namespace +reachable +uptime-100% -stale-398d
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 89/100 (good)

### protocol: 88 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- warn `protocol.list_ttl`: tools/list declares ttlMs 0, so clients re-fetch it on every use

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 3 of 3 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: learn-hmr-basics (destructiveHint, idempotentHint, openWorldHint); view-hmr-core-sources (destructiveHint, idempotentHint, openWorldHint); view-hmr-unit-tests (destructiveHint, idempotentHint, openWorldHint)
- pass `tools.token_cost`: about 432 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: no tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 3, about 432 tokens to load them all
- tool set hash: 54f844179bb7bdda2e2d512777a3fa3b
- badge: [![protogrid quality](https://protogrid.dev/badge/dev.promplate/hmr.svg)](https://protogrid.dev/servers/dev.promplate/hmr)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://pyth-on-line.promplate.dev/hmr/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (3)

- `learn-hmr-basics`: A brief and concise explanation of the `hmr` library.

This tool provides information on how to use reactive programming or use hot module reloading in Python. As long as the user mentions HMR / Reactive Programming, this tool must be called first! Don't manually view the resource, call this tool instead.
- `view-hmr-core-sources`: The full source code (core only) of the HMR library.

Always call `learn-hmr-concepts` to learn the core concepts before calling this tool. These files are the full source code of the HMR library, which would be very helpful because good code are self-documented. For a brief and concise explanation, please refer to the `hmr-docs://about` MCP resource. Make sure you've read it before calling this tool. To learn how to use HMR for reactive programming, read the unit tests later. The response is identical to the MCP resource with the same name. Only use it once and prefer this tool to that resource if you can choose.
- `view-hmr-unit-tests`: The unit tests (code examples) for HMR.

Always call `learn-hmr-basics` and `view-hmr-core-sources` to learn the core functionality before calling this tool. These files are the unit tests for the HMR library, which demonstrate the best practices and common coding patterns of using the library. You should use this tool when you need to write some code using the HMR library (maybe for reactive programming or implementing some integration). The response is identical to the MCP resource with the same name. Only use it once and prefer this tool to that resource if you can choose.
