netintel-mcp 1.1.1 → 1.1.3

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.
Files changed (2) hide show
  1. package/dist/index.js +170 -0
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -480,6 +480,176 @@ function registerTools(server, api) {
480
480
  return err(e);
481
481
  }
482
482
  });
483
+ // 45. Classify (POST)
484
+ server.tool("netintel_classify", "Classify text into caller-supplied categories using Claude Haiku — zero-shot classification where the agent provides the label set and gets back the best-matching category with confidence and per-label scores, so agents can route, tag, and…", { text: z.string(), labels: z.array(z.string()), multi_label: z.boolean().optional() }, async ({ text, labels, multi_label }) => {
485
+ try {
486
+ const res = await api.post("/classify", { text, labels, multi_label });
487
+ return ok(res.data);
488
+ }
489
+ catch (e) {
490
+ return err(e);
491
+ }
492
+ });
493
+ // 46. Content Moderate (POST)
494
+ server.tool("netintel_content_moderate", "Moderate text content using Claude Haiku — flags categories like harassment, hate, sexual content, violence, self-harm, and spam with per-category severity and an overall allow/flag/block recommendation, so agents can screen user-generated…", { text: z.string() }, async ({ text }) => {
495
+ try {
496
+ const res = await api.post("/content-moderate", { text });
497
+ return ok(res.data);
498
+ }
499
+ catch (e) {
500
+ return err(e);
501
+ }
502
+ });
503
+ // 47. Entity Extract (POST)
504
+ server.tool("netintel_entity_extract", "Extract named entities from text using Claude Haiku — people, organizations, locations, dates, emails, URLs, money amounts, and products — returned as structured typed arrays so agents can pull structured signals out of unstructured text…", { text: z.string(), types: z.array(z.string()).optional() }, async ({ text, types }) => {
505
+ try {
506
+ const res = await api.post("/entity-extract", { text, types });
507
+ return ok(res.data);
508
+ }
509
+ catch (e) {
510
+ return err(e);
511
+ }
512
+ });
513
+ // 48. Sentiment (POST)
514
+ server.tool("netintel_sentiment", "Analyze the sentiment of text using Claude Haiku — returns overall polarity (positive/negative/neutral/mixed), a -1 to +1 score, detected emotions, and optional per-aspect sentiment, so agents can gauge tone in reviews, messages, and…", { text: z.string(), aspects: z.array(z.string()).optional() }, async ({ text, aspects }) => {
515
+ try {
516
+ const res = await api.post("/sentiment/analyze", { text, aspects });
517
+ return ok(res.data);
518
+ }
519
+ catch (e) {
520
+ return err(e);
521
+ }
522
+ });
523
+ // 49. Text Summarize (POST)
524
+ server.tool("netintel_text_summarize", "Summarize any text or web page into a concise summary plus key bullet points using Claude Haiku — accepts raw text or a URL (which it fetches and extracts), enforces an input cap, and returns a clean structured summary so agents can…", { text: z.string().optional(), url: z.string().optional(), max_points: z.number().optional() }, async ({ text, url, max_points }) => {
525
+ try {
526
+ const res = await api.post("/text-summarize", { text, url, max_points });
527
+ return ok(res.data);
528
+ }
529
+ catch (e) {
530
+ return err(e);
531
+ }
532
+ });
533
+ // 50. Translate (POST)
534
+ server.tool("netintel_translate", "Translate up to 2000 words between languages using Claude Haiku — auto-detects source, supports 30+ target languages, preserves formatting, for larger documents and articles. For short snippets use the cheaper /translate/short.", { text: z.string(), target: z.string(), source: z.string().optional() }, async ({ text, target, source }) => {
535
+ try {
536
+ const res = await api.post("/translate/long", { text, target, source });
537
+ return ok(res.data);
538
+ }
539
+ catch (e) {
540
+ return err(e);
541
+ }
542
+ });
543
+ // 51. Translate (POST)
544
+ server.tool("netintel_translate_short", "Translate up to 500 words between languages using Claude Haiku — auto-detects source language, supports 30+ target languages, preserves formatting, and returns the translation with detected source so agents can localize short content…", { text: z.string(), target: z.string(), source: z.string().optional() }, async ({ text, target, source }) => {
545
+ try {
546
+ const res = await api.post("/translate/short", { text, target, source });
547
+ return ok(res.data);
548
+ }
549
+ catch (e) {
550
+ return err(e);
551
+ }
552
+ });
553
+ // 52. Domain Due Diligence
554
+ server.tool("netintel_domain_due_diligence", "One call combines domain availability, heuristic value appraisal, and TLD pricing into a single acquisition brief — tells an agent whether a name is available, what it's worth, and what it costs across TLDs, concurrently and with graceful…", { domain: z.string() }, async ({ domain }) => {
555
+ try {
556
+ const res = await api.get("/domain-due-diligence", { params: { domain } });
557
+ return ok(res.data);
558
+ }
559
+ catch (e) {
560
+ return err(e);
561
+ }
562
+ });
563
+ // 53. Domain Report
564
+ server.tool("netintel_domain_report_full", "One premium call returns a complete six-part domain profile — DNS records, SSL certificate, WHOIS registration, cloud fingerprint, technology stack, and security headers — each section run concurrently with graceful partial-failure…", { domain: z.string() }, async ({ domain }) => {
565
+ try {
566
+ const res = await api.get("/domain-report/full", { params: { domain } });
567
+ return ok(res.data);
568
+ }
569
+ catch (e) {
570
+ return err(e);
571
+ }
572
+ });
573
+ // 54. Email Report
574
+ server.tool("netintel_email_report", "One call combines domain email authentication (SPF/DKIM/DMARC), email-address intelligence (deliverability, disposable/role detection), and an optional password breach check into a single email-trust report — each section run concurrently…", { email: z.string(), password: z.string().optional() }, async ({ email, password }) => {
575
+ try {
576
+ const res = await api.get("/email-report/full", { params: params({ email, password }) });
577
+ return ok(res.data);
578
+ }
579
+ catch (e) {
580
+ return err(e);
581
+ }
582
+ });
583
+ // 55. Ip Report
584
+ server.tool("netintel_ip_report", "One premium call returns a complete five-part IP profile — geolocation, ASN/network ownership, multi-DNSBL blacklist status, threat reputation, and an aggregate risk verdict — run concurrently with graceful partial-failure handling, so…", { ip: z.string() }, async ({ ip }) => {
585
+ try {
586
+ const res = await api.get("/ip-report/full", { params: { ip } });
587
+ return ok(res.data);
588
+ }
589
+ catch (e) {
590
+ return err(e);
591
+ }
592
+ });
593
+ // 56. Url Safety
594
+ server.tool("netintel_url_safety_full", "One call vets a URL end to end — traces its full redirect chain, checks it against malware/phishing databases, audits its security headers, and inspects its SSL certificate — concurrent with graceful partial-failure handling, so agents get…", { url: z.string() }, async ({ url }) => {
595
+ try {
596
+ const res = await api.get("/url-safety/full", { params: { url } });
597
+ return ok(res.data);
598
+ }
599
+ catch (e) {
600
+ return err(e);
601
+ }
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
+ });
483
653
  }
484
654
  async function main() {
485
655
  const api = await createClient();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "netintel-mcp",
3
- "version": "1.1.1",
3
+ "version": "1.1.3",
4
4
  "mcpName": "io.github.kjgueye/netintel-mcp",
5
5
  "repository": {
6
6
  "type": "git",