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 +1 -1
- package/dist/{chunk-4GQ2Q7SN.js → chunk-FQJPDQPX.js} +8 -8
- package/dist/http.js +1 -1
- package/dist/registry.js +1 -1
- package/dist/stdio.js +1 -1
- package/package.json +2 -2
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`, `
|
|
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.
|
|
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,
|
|
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
|
-
"
|
|
364
|
-
"
|
|
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.
|
|
370
|
+
(c, a) => c.tariff(a.code, { deep: a.deep, origin: a.origin })
|
|
371
371
|
);
|
|
372
372
|
tool(
|
|
373
|
-
"
|
|
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.
|
|
376
|
+
(c, a) => c.tariff.search(a.q)
|
|
377
377
|
);
|
|
378
378
|
tool(
|
|
379
379
|
"currency",
|
package/dist/http.js
CHANGED
package/dist/registry.js
CHANGED
package/dist/stdio.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "parseapi-mcp",
|
|
3
|
-
"version": "0.2.
|
|
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.
|
|
48
|
+
"@parseapi/sdk": "^0.2.1",
|
|
49
49
|
"zod": "^4.0.0"
|
|
50
50
|
},
|
|
51
51
|
"devDependencies": {
|