parseapi-mcp 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -47,7 +47,7 @@ CI and headless setups skip the browser with a key from [parseapi.com](https://p
47
47
 
48
48
  ## Tools
49
49
 
50
- One tool per endpoint, named after the route: `ip`, `postal`, `city`, `city_search`, `city_nearby`, `email`, `vat`, `iban`, `npi`, `vin`, `hts`, `hts_search`, `phone`, `carrier`, `caller`, `hlr`, `weather`, `currency_rate`, `timezone`, `holiday`, `point`, `elevation`, and the rest. Every tool returns the same minimal JSON the API serves.
50
+ One tool per endpoint, named after the route: `ip`, `postal`, `city`, `city_search`, `city_nearby`, `email`, `vat`, `iban`, `npi`, `vin`, `tariff`, `tariff_search`, `phone`, `carrier`, `caller`, `hlr`, `weather`, `currency_rate`, `timezone`, `holiday`, `point`, `elevation`, and the rest. Every tool returns the same minimal JSON the API serves.
51
51
 
52
52
  Errors come back as JSON with a machine-readable `code`. Branch on `code`, never on message text. A miss is `not_found`. No key is `invalid_api_key`.
53
53
 
@@ -34,7 +34,7 @@ function noKeyResult(transport) {
34
34
  }
35
35
 
36
36
  // src/registry.ts
37
- var VERSION = "0.2.0";
37
+ var VERSION = "0.2.1";
38
38
  var deep = z.boolean().optional().describe("Include the nested deep object with richer fields. Paid on most endpoints.");
39
39
  var lat = z.number().min(-90).max(90).describe("Latitude in decimal degrees");
40
40
  var lon = z.number().min(-180).max(180).describe("Longitude in decimal degrees");
@@ -291,7 +291,7 @@ function buildServer(key, transport) {
291
291
  );
292
292
  tool(
293
293
  "npi",
294
- "Look up an NPI in the CMS NPPES registry: US healthcare provider name, specialty, practice address, active status, and the OIG exclusion flag. Deep adds Medicare enrollment on paid plans.",
294
+ "Look up an NPI in the CMS NPPES registry: US healthcare provider name, specialty, practice address, deactivation date, and the OIG exclusion flag. Deep adds Medicare enrollment on paid plans.",
295
295
  {
296
296
  npi: z.string().describe("10-digit NPI number"),
297
297
  deep
@@ -300,7 +300,7 @@ function buildServer(key, transport) {
300
300
  );
301
301
  tool(
302
302
  "phone",
303
- "Validate and parse a phone number: country, type, formats. Pass country for national-format numbers.",
303
+ "Validate and parse a phone number: country, type, area-code state, timezone, formats. Pass country for national-format numbers.",
304
304
  {
305
305
  number: z.string().describe("Phone number, e.g. +14155552671"),
306
306
  country: iso2("country code for national-format numbers").optional(),
@@ -360,20 +360,20 @@ function buildServer(key, transport) {
360
360
  (c, a) => c.vin(a.vin, { deep: a.deep })
361
361
  );
362
362
  tool(
363
- "hts",
364
- "Look up a US Harmonized Tariff Schedule code: description, duty rates verbatim (general, special, column 2), units, parent lineage, and the official revision that answered. Deep with an origin country resolves the Chapter 99 tariff measures that apply from that origin, with a composed effective_rate when the components compose cleanly (null otherwise, null beats a guess). Unknown code is a 404.",
363
+ "tariff",
364
+ "US import duty. Look up an HTS code: description, duty rates verbatim (general, special, column 2), units, parent lineage, and the official revision that answered. Deep with an origin country resolves the Chapter 99 tariff measures that apply from that origin, with a composed effective_rate when the components compose cleanly (null otherwise, null beats a guess). Unknown code is a 404. US schedule only.",
365
365
  {
366
366
  code: z.string().describe("HTS code, 4 to 10 digits, dots optional, e.g. 8471.30.01.00"),
367
367
  origin: iso2("country of origin for duty resolution, only read with deep").optional(),
368
368
  deep
369
369
  },
370
- (c, a) => c.hts(a.code, { deep: a.deep, origin: a.origin })
370
+ (c, a) => c.tariff(a.code, { deep: a.deep, origin: a.origin })
371
371
  );
372
372
  tool(
373
- "hts_search",
373
+ "tariff_search",
374
374
  "Search US tariff schedule descriptions by product. Returns up to 20 lines, best match first, each with hts, description, and the general duty rate.",
375
375
  { q: z.string().describe("Product words, e.g. sunglasses, laptop, coffee") },
376
- (c, a) => c.hts.search(a.q)
376
+ (c, a) => c.tariff.search(a.q)
377
377
  );
378
378
  tool(
379
379
  "currency",
package/dist/http.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  buildServer
4
- } from "./chunk-4GQ2Q7SN.js";
4
+ } from "./chunk-FQJPDQPX.js";
5
5
 
6
6
  // src/http.ts
7
7
  import { createServer } from "http";
package/dist/registry.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  VERSION,
4
4
  buildServer
5
- } from "./chunk-4GQ2Q7SN.js";
5
+ } from "./chunk-FQJPDQPX.js";
6
6
  export {
7
7
  VERSION,
8
8
  buildServer
package/dist/stdio.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  buildServer
4
- } from "./chunk-4GQ2Q7SN.js";
4
+ } from "./chunk-FQJPDQPX.js";
5
5
 
6
6
  // src/stdio.ts
7
7
  import { serveStdio } from "@modelcontextprotocol/server/stdio";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "parseapi-mcp",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "mcpName": "com.parseapi/mcp",
5
5
  "description": "Official parseAPI MCP server. Location, validate, and decode lookups for AI agents: geo, email, phone, weather, currency.",
6
6
  "keywords": [
@@ -45,7 +45,7 @@
45
45
  "dependencies": {
46
46
  "@modelcontextprotocol/server": "^2.0.0",
47
47
  "@modelcontextprotocol/node": "^2.0.0",
48
- "@parseapi/sdk": "^0.2.0",
48
+ "@parseapi/sdk": "^0.2.1",
49
49
  "zod": "^4.0.0"
50
50
  },
51
51
  "devDependencies": {