protogrid

Search / io.github.pipeworx-io/ny-dmv

Ny Dmv

R0· no sign-in

New York State DMV MCP — registered vehicles and EV adoption by county/ZIP/make,

v0.1.1 · active · repository · website · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality–not scored
Trust97of 100
Uptime, 30 days97%
Latency p5028 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "ny-dmv": {
      "type": "http",
      "url": "https://gateway.pipeworx.io/ny-dmv/mcp"
    }
  }
}
claude mcp add --transport http ny-dmv https://gateway.pipeworx.io/ny-dmv/mcp
[mcp_servers.ny-dmv]
url = "https://gateway.pipeworx.io/ny-dmv/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ny-dmv": {
      "type": "remote",
      "url": "https://gateway.pipeworx.io/ny-dmv/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "ny-dmv": {
      "type": "http",
      "url": "https://gateway.pipeworx.io/ny-dmv/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=ny-dmv&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vZ2F0ZXdheS5waXBld29yeC5pby9ueS1kbXYvbWNwIn0%3D"
}
{
  "servers": {
    "ny-dmv": {
      "type": "http",
      "url": "https://gateway.pipeworx.io/ny-dmv/mcp"
    }
  }
}
{
  "mcpServers": {
    "ny-dmv": {
      "httpUrl": "https://gateway.pipeworx.io/ny-dmv/mcp"
    }
  }
}
extensions:
  "ny-dmv":
    enabled: true
    name: "ny-dmv"
    type: streamable_http
    uri: "https://gateway.pipeworx.io/ny-dmv/mcp"
    timeout: 300

Quality – / 100not scored

Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-03-26; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygienen/a · weight 30
  • n/a
    tools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)
stabilityn/a · weight 15
  • n/a
    stability.changes, stability.rug_pulltool list unknown
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

Tool list unknown · tools last changed 2026-10-15 · checked 2026-10-20 16:30 UTC

Tool changes

  • ny_dmv_driving_schoolsremoved

    Find driving schools licensed by the New York State DMV, with school name, street address, city, ZIP, phone number, DMV school number, coordinates, and which courses each school is licensed to teach (5-hour pre-licensing, auto, motorcycle, bus, truck, tractor-trailer). Covers 573 licensed schools statewide, answering "licensed driving schools in Brooklyn", "which New York driving schools teach the 5-hour pre-licensing course", "motorcycle driving school near Syracuse", or "CDL tractor-trailer schools in New York".

  • ny_dmv_road_test_sitesremoved

    List New York State DMV road test sites — where the driving test is actually administered — with the city, county, ZIP, coordinates, written directions to the starting point, and which tests each site gives (Auto, Motorcycle, CDL A/B/C, Farm, RV). Covers 444 active sites statewide, answering "where can I take my road test near Albany", "which New York road test sites offer the motorcycle test", or "CDL road test sites in Erie County". For the DMV counter that issues the licence use ny_dmv_offices.

  • ny_dmv_ev_adoptionremoved

    Measure electric-vehicle adoption in New York State: how many registered vehicles carry the ELECTRIC fuel code in each county, ZIP code, city, make or model year, and what share of all registered vehicles in that scope they represent. Reads the NYS DMV record-level registration file, so it answers "how many EVs are registered in New York", "EV share in Westchester County", "which New York county has the most electric vehicles", "how many electric Teslas are registered in Brooklyn", and how EV registrations break down by model year. New York files every plug-in vehicle under one ELECTRIC code, so battery-electric and plug-in hybrid vehicles arrive combined; Washington separates them, in wa_dmv_ev_population.

  • ny_dmv_vehicle_registrationsremoved

    Count vehicles registered in New York State from the NYS DMV record-level registration file, broken down by county, ZIP code, city, make, model year, body type, registration class or fuel type. Each of the 12.6 million source rows is one registration record, so this answers "how many cars are registered in Kings County", "how many Teslas are registered in New York", "how many pickup trucks are registered in ZIP 11201", "which New York county has the most registered vehicles", and how many registrations carry a scofflaw, suspension or revocation flag. County names are unabbreviated and upper case, with Brooklyn filed as KINGS. For electric-vehicle share use ny_dmv_ev_adoption; for a DMV office address use ny_dmv_offices.

  • classify_rowremoved

    Cheap categorization: given a company and a list of candidate labels, decide which labels apply — the most common GTM/AI usage shape (tagging a list by industry, ICP fit, etc.), one small model call. Same evidence contract as research_row: each label comes back {label, applies, evidence_url, quote, status: found|inferred|not_established} — "found" only when the model's quote is independently verified as a verbatim substring of the text used. Pass text directly (cheapest — no fetch) or entity.domain to fetch the homepage once as a fallback. No text and no domain means every label is not_established with no model call made.

  • research_rowremoved

    Claygent-style per-row research: answer ONE question about ONE company and return a JSON object matching your output_schema, with every field wrapped in its own evidence — {value, evidence_url, quote, status}. status is NEVER self-reported by the model: "found" means this code independently verified the model's quote is a VERBATIM substring of text actually fetched; "inferred" means a value was given but the quote could not be verified; "not_established" means no source answered the field, and its value is always null — never guessed, never a blended score. Sources: "web" fetches the company's own site (entity.domain required — homepage, /about, /leadership) via fetch_url; "catalog" checks entity_profile (SEC EDGAR; resolved:false for a private company is expected, not a failure); "both" (default) tries both. max_cost (USD, default 0.02, max 0.50) scales how many pages are fetched and refuses up front if it is too small to pay for even one extraction call (floor $0.002) — never silently overspends. A row where every source comes back empty costs nothing: every field is mechanically not_established with NO model call made. For a boolean/derived field (e.g. "does this company sell to healthcare"), the quote only has to SUPPORT the value — a descriptive sentence about customers/products counts, the source need not state the answer verbatim. leadership_page_status ("fetched"|"not_found"|"not_attempted", plus leadership_note) says plainly whether a leadership/team page was actually read, so a named-person field (head_of_sales) coming back not_established is distinguishable from "this company just doesn't publish one" vs. "we never checked". model_output_empty:true means the model returned nothing usable (a transport/budget problem) — every field is not_established for THAT reason, never read as 20 individual "no" judgments. Use with a fixed question + schema across many rows for "Claygent over N companies with a hard cost cap" (composes with batch callers). For picking from a fixed label list instead of extracting open fields, use classify_row (cheaper, one model call).

  • archive_compareremoved

    What changed on a web page between two dates? Resolves the archived capture nearest each date (Internet Archive Wayback Machine, Common Crawl, Arquivo.pt), extracts the readable text of both, and returns a text-level diff: the segments removed and added, a similarity score, and both capture timestamps with their gaps from the requested dates. It diffs readable text, not markup, so a restyled page with the same words reads changed:false. Identical captures answer changed:false with the reason (same capture, identical content digest, or identical text), never an empty diff. A date with no capture within max_gap_days (default 30) answers status "no_capture", naming which side is missing and the nearest captures to it. Typical uses: how a privacy policy, terms of service, pricing or product page changed; whether a statement was on a page at a given time.

  • archive_evidenceremoved

    What did a web page say on a given date? Finds the archived capture of a URL nearest that date across the Internet Archive Wayback Machine, Common Crawl and Arquivo.pt, reads it, and returns the readable text (HTML stripped) with the capture timestamp, a link to the archived copy, and the GAP between the date asked for and the capture actually used (e.g. "Captured 1.5 day(s) before the requested date"). One call replaces the find-capture, fetch-record, parse-HTML chain. If no archive holds a capture within max_gap_days (default 30) it answers status "no_capture" and names the nearest capture before and after the date with their gaps, so a distant capture is never passed off as the page on that date. Every archive's outcome is listed in sources[]; one that timed out or errored says so with its upstream status, and if all of them failed the answer is error "archives_unavailable", not no_capture. Captures are immutable and cached by capture id; served_from says whether the text came from cache or upstream. Use archive_compare to see what changed between two dates.

  • search_withinremoved

    Semantic search INSIDE a fetched record. Pass the text you already pulled (e.g. a SEC 10-K body, an article, a long tool result) plus a natural-language query; get back the top-N passages with character offsets and similarity scores. Use when the record is too big to cram into the prompt — search_within saves context, returns only the passages that matter, and every passage carries an offset so the agent can verify a verbatim quote. Pairs with ask_pipeworx_grounded: fetch with the gateway, ground over the relevant passages instead of the whole document. BGE-base-en embeddings + cosine over 500-char overlapping windows; cap is 200K chars (longer inputs are truncated and flagged).

  • ask_pipeworx_groundedremoved

    Hallucination-resistant answer mode for high-stakes reads. Same routing as ask_pipeworx — picks the right tool from 6,821 across 1796 sources, fills arguments, fetches the data — then EXTRACTS the answer using ONLY what the tool result contains. Returns {answer, evidence (verbatim quote), confidence, source, fetched_at, refusal_reason:null} on success, OR an explicit refusal {answer:null, refusal_reason:"not_in_source"|"no_tool_match"|"tool_error"|"data_truncated"|"llm_error"} when the data doesn't directly answer. Use whenever an answer will be quoted, cited, or acted on, and the agent must not invent facts (financial verdicts, legal claims, medical lookups, public statements). Costs one extra LLM call vs ask_pipeworx — prefer ask_pipeworx for casual lookups.

Showing the latest 10. Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 97 / 100

provenance90
liveness99
freshness100
hygiene100

+repository +namespace-matches-repo +website +reachable +uptime-97% +updated-26d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://gateway.pipeworx.io/ny-dmv/mcp streamable-httpnoneyes97%28 ms2025-03-262026-10-20

Tools (0)

No tools observed. Tools appear once a credential-free probe can list them.

Schemas: list_tools.

Similar MCP servers

More from io.github.pipeworx-io

And 1,855 more from this publisher.

Official server.json
{
  "name": "io.github.pipeworx-io/ny-dmv",
  "title": "Ny Dmv",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://gateway.pipeworx.io/ny-dmv/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.1.1",
  "repository": {
    "url": "https://github.com/pipeworx-io/mcp-ny-dmv",
    "source": "github"
  },
  "websiteUrl": "https://pipeworx.io/packs/ny-dmv",
  "description": "New York State DMV MCP — registered vehicles and EV adoption by county/ZIP/make,"
}