netintel-mcp 1.1.2 → 1.1.4
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/dist/index.js +80 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -600,6 +600,86 @@ function registerTools(server, api) {
|
|
|
600
600
|
return err(e);
|
|
601
601
|
}
|
|
602
602
|
});
|
|
603
|
+
// 57. Extract (POST)
|
|
604
|
+
server.tool("netintel_extract", "Parse and normalize a freeform address string using Claude Haiku — splits it into street, city, state/region, postal code, and country, plus a normalized single-line form, so agents can clean and standardize messy address data for…", { address: z.string() }, async ({ address }) => {
|
|
605
|
+
try {
|
|
606
|
+
const res = await api.post("/extract/address", { address });
|
|
607
|
+
return ok(res.data);
|
|
608
|
+
}
|
|
609
|
+
catch (e) {
|
|
610
|
+
return err(e);
|
|
611
|
+
}
|
|
612
|
+
});
|
|
613
|
+
// 58. Extract (POST)
|
|
614
|
+
server.tool("netintel_extract_contact", "Extract structured contact details from text, an email signature, or webpage text using Claude Haiku — returns name, title, company, email, phone, and address as clean JSON so agents can turn unstructured contact blocks into CRM-ready…", { text: z.string() }, async ({ text }) => {
|
|
615
|
+
try {
|
|
616
|
+
const res = await api.post("/extract/contact", { text });
|
|
617
|
+
return ok(res.data);
|
|
618
|
+
}
|
|
619
|
+
catch (e) {
|
|
620
|
+
return err(e);
|
|
621
|
+
}
|
|
622
|
+
});
|
|
623
|
+
// 59. Extract (POST)
|
|
624
|
+
server.tool("netintel_extract_invoice", "Extract structured data from invoice or receipt text using Claude Haiku — returns vendor, invoice number, dates, line items, subtotal, tax, total, and currency as clean JSON so agents can automate accounts-payable, expense processing, and…", { text: z.string() }, async ({ text }) => {
|
|
625
|
+
try {
|
|
626
|
+
const res = await api.post("/extract/invoice", { text });
|
|
627
|
+
return ok(res.data);
|
|
628
|
+
}
|
|
629
|
+
catch (e) {
|
|
630
|
+
return err(e);
|
|
631
|
+
}
|
|
632
|
+
});
|
|
633
|
+
// 60. Extract (POST)
|
|
634
|
+
server.tool("netintel_extract_resume", "Extract structured data from resume/CV text using Claude Haiku — returns name, contact info, skills, work experience, and education as clean JSON arrays so agents can automate applicant screening, candidate databases, and recruiting…", { text: z.string() }, async ({ text }) => {
|
|
635
|
+
try {
|
|
636
|
+
const res = await api.post("/extract/resume", { text });
|
|
637
|
+
return ok(res.data);
|
|
638
|
+
}
|
|
639
|
+
catch (e) {
|
|
640
|
+
return err(e);
|
|
641
|
+
}
|
|
642
|
+
});
|
|
643
|
+
// 61. Extract (POST)
|
|
644
|
+
server.tool("netintel_extract_table", "Extract tabular data from messy text or HTML using Claude Haiku — detects columns and rows in unstructured content and returns clean structured JSON (columns + rows) so agents can turn pasted tables, HTML tables, and delimited text into…", { text: z.string() }, async ({ text }) => {
|
|
645
|
+
try {
|
|
646
|
+
const res = await api.post("/extract/table", { text });
|
|
647
|
+
return ok(res.data);
|
|
648
|
+
}
|
|
649
|
+
catch (e) {
|
|
650
|
+
return err(e);
|
|
651
|
+
}
|
|
652
|
+
});
|
|
653
|
+
// 62. Markdown (POST)
|
|
654
|
+
server.tool("netintel_markdown", "Convert messy HTML or text into clean, well-structured Markdown using Claude Haiku — strips boilerplate, fixes heading hierarchy, normalizes lists and links, and returns readable Markdown so agents can feed clean docs into downstream…", { text: z.string() }, async ({ text }) => {
|
|
655
|
+
try {
|
|
656
|
+
const res = await api.post("/markdown/clean", { text });
|
|
657
|
+
return ok(res.data);
|
|
658
|
+
}
|
|
659
|
+
catch (e) {
|
|
660
|
+
return err(e);
|
|
661
|
+
}
|
|
662
|
+
});
|
|
663
|
+
// 63. Normalize (POST)
|
|
664
|
+
server.tool("netintel_normalize", "Conform messy or inconsistent JSON to a target schema using Claude Haiku — renames keys, coerces types (string→number, \"true\"→boolean, etc.), and fills missing fields with null, returning JSON that matches the exact shape the caller…", { data: z.string(), schema: z.record(z.any()) }, async ({ data, schema }) => {
|
|
665
|
+
try {
|
|
666
|
+
const res = await api.post("/normalize/json", { data, schema });
|
|
667
|
+
return ok(res.data);
|
|
668
|
+
}
|
|
669
|
+
catch (e) {
|
|
670
|
+
return err(e);
|
|
671
|
+
}
|
|
672
|
+
});
|
|
673
|
+
// 64. Text To Json (POST)
|
|
674
|
+
server.tool("netintel_text_to_json", "Turn unstructured text into structured JSON matching a caller-supplied schema using Claude Haiku — the agent declares the fields and types it wants, and gets back populated JSON with values pulled from the text and coerced to the right…", { text: z.string(), schema: z.record(z.any()) }, async ({ text, schema }) => {
|
|
675
|
+
try {
|
|
676
|
+
const res = await api.post("/text-to-json", { text, schema });
|
|
677
|
+
return ok(res.data);
|
|
678
|
+
}
|
|
679
|
+
catch (e) {
|
|
680
|
+
return err(e);
|
|
681
|
+
}
|
|
682
|
+
});
|
|
603
683
|
}
|
|
604
684
|
async function main() {
|
|
605
685
|
const api = await createClient();
|