netintel-mcp 1.1.22 → 1.1.23

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
@@ -1,6 +1,6 @@
1
1
  # netintel-mcp
2
2
 
3
- MCP server for NetIntel — 73 network intelligence tools for AI agents.
3
+ MCP server for NetIntel — 78 network intelligence tools for AI agents.
4
4
  DNS, SSL, WHOIS, email security, cloud fingerprinting, OSINT and more.
5
5
  Pay-per-call via x402 on Base mainnet. No API keys needed — just a wallet with USDC.
6
6
 
@@ -31,7 +31,7 @@ Or add manually to your Claude Desktop config:
31
31
 
32
32
  ## Tools
33
33
 
34
- 73 pay-per-call tools across DNS, SSL/TLS, WHOIS & domains, email security, IP intelligence, web & content, OSINT, AI text processing, and bundled reports.
34
+ 78 pay-per-call tools across DNS, SSL/TLS, WHOIS & domains, email security, IP intelligence, web & content, OSINT, AI text processing, and bundled reports.
35
35
 
36
36
  | Tool | Description | Price |
37
37
  |------|-------------|-------|
@@ -41,7 +41,7 @@ Or add manually to your Claude Desktop config:
41
41
  | netintel_security_headers | Fetches a URL and evaluates 10 security-critical response headers (CSP… | $0.01 |
42
42
  | netintel_email_auth | Email deliverability & domain security check — validates SPF, DKIM… | $0.002 |
43
43
  | netintel_cloud_fingerprint | Fingerprints a domain's cloud infrastructure by probing DNS records… | $0.01 |
44
- | netintel_schema_parse | Extract structured data from any unstructured text into your own JSON… | $0.05 |
44
+ | netintel_schema_parse | Extract structured data from any unstructured text into your own JSON… | $0.10 |
45
45
  | netintel_asn_lookup | Resolves an IP address or domain to its Autonomous System Number (ASN)… | $0.03 |
46
46
  | netintel_whois_lookup | WHOIS domain lookup via RDAP — registrar, creation/expiry/updated… | $0.003 |
47
47
  | netintel_cert_transparency | Query the crt.sh certificate transparency log database to enumerate all… | $0.01 |
@@ -108,6 +108,11 @@ Or add manually to your Claude Desktop config:
108
108
  | netintel_ai_image | Generate agent-ready image assets (icons, logos, social graphics… | $0.25 |
109
109
  | netintel_convert | Convert any physical measurement — length, mass, volume, temperature… | $0.01 |
110
110
  | netintel_domain | Composite 0-100 trust/risk score for a domain in one call — blends… | $0.10 |
111
+ | netintel_translate_structured | Translate structured content — JSON, HTML, Markdown, templates, UI… | $0.05 |
112
+ | netintel_translate_batch | Translate many independent strings in one request — each with a caller… | $0.05 |
113
+ | netintel_json | Repair malformed JSON into valid JSON — fixes code fences, trailing… | $0.02 |
114
+ | netintel_schema | Validate data against a supplied schema — checks required fields… | $0.02 |
115
+ | netintel_schema_map | Transform a source object into a target schema — matches fields by… | $0.04 |
111
116
 
112
117
  ## Payment
113
118
  All tools pay automatically via x402 on Base mainnet (USDC).
package/dist/index.js CHANGED
@@ -770,6 +770,56 @@ function registerTools(server, api) {
770
770
  return err(e);
771
771
  }
772
772
  });
773
+ // 74. Translate (POST)
774
+ server.tool("netintel_translate_structured", "Translate structured content — JSON, HTML, Markdown, templates, UI strings — without breaking structure. Preserves keys, tags, markdown, URLs, emails, variables, placeholders, code blocks, and brand names, honors a caller glossary, and…", { content: z.record(z.any()), content_type: z.string().optional(), target: z.string(), source: z.string().optional(), glossary: z.record(z.any()).optional(), protected_values: z.array(z.any()).optional(), formality: z.string().optional(), tone: z.string().optional(), locale: z.string().optional() }, async ({ content, content_type, target, source, glossary, protected_values, formality, tone, locale }) => {
775
+ try {
776
+ const res = await api.post("/translate/structured", { content, content_type, target, source, glossary, protected_values, formality, tone, locale });
777
+ return ok(res.data);
778
+ }
779
+ catch (e) {
780
+ return err(e);
781
+ }
782
+ });
783
+ // 75. Translate (POST)
784
+ server.tool("netintel_translate_batch", "Translate many independent strings in one request — each with a caller ID preserved in the response — with per-item status, glossary and tone support, and partial success so one bad item never fails the batch, so agents can localize whole…", { items: z.array(z.any()), target: z.string(), source: z.string().optional(), glossary: z.record(z.any()).optional(), protected_values: z.array(z.any()).optional(), tone: z.string().optional(), formality: z.string().optional() }, async ({ items, target, source, glossary, protected_values, tone, formality }) => {
785
+ try {
786
+ const res = await api.post("/translate/batch", { items, target, source, glossary, protected_values, tone, formality });
787
+ return ok(res.data);
788
+ }
789
+ catch (e) {
790
+ return err(e);
791
+ }
792
+ });
793
+ // 76. Json (POST)
794
+ server.tool("netintel_json", "Repair malformed JSON into valid JSON — fixes code fences, trailing commas, single quotes, unquoted keys, bad escapes, duplicate keys, truncation, and JSON buried in prose. A deterministic tokenizer runs first (no LLM cost), with an…", { input: z.string(), schema: z.record(z.any()).optional(), allow_llm: z.boolean().optional(), coerce: z.boolean().optional() }, async ({ input, schema, allow_llm, coerce }) => {
795
+ try {
796
+ const res = await api.post("/json/repair", { input, schema, allow_llm, coerce });
797
+ return ok(res.data);
798
+ }
799
+ catch (e) {
800
+ return err(e);
801
+ }
802
+ });
803
+ // 77. Schema (POST)
804
+ server.tool("netintel_schema", "Validate data against a supplied schema — checks required fields, nested objects, arrays, enums, string formats, numeric ranges, lengths, and additional-property rules deterministically, with optional type coercion and repair, returning…", { data: z.string(), schema: z.record(z.any()), coerce: z.boolean().optional(), repair: z.boolean().optional(), allow_llm: z.boolean().optional() }, async ({ data, schema, coerce, repair, allow_llm }) => {
805
+ try {
806
+ const res = await api.post("/schema/validate", { data, schema, coerce, repair, allow_llm });
807
+ return ok(res.data);
808
+ }
809
+ catch (e) {
810
+ return err(e);
811
+ }
812
+ });
813
+ // 78. Schema (POST)
814
+ server.tool("netintel_schema_map", "Transform a source object into a target schema — matches fields by alias and structure deterministically, uses an LLM only for semantic mapping when needed, and supports mapping hints, transforms, and defaults, so agents can reshape data…", { source: z.record(z.any()), target_schema: z.record(z.any()), hints: z.record(z.any()).optional(), transforms: z.record(z.any()).optional(), defaults: z.record(z.any()).optional(), mode: z.string().optional(), allow_llm: z.boolean().optional() }, async ({ source, target_schema, hints, transforms, defaults, mode, allow_llm }) => {
815
+ try {
816
+ const res = await api.post("/schema/map", { source, target_schema, hints, transforms, defaults, mode, allow_llm });
817
+ return ok(res.data);
818
+ }
819
+ catch (e) {
820
+ return err(e);
821
+ }
822
+ });
773
823
  }
774
824
  async function main() {
775
825
  const api = await createClient();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "netintel-mcp",
3
- "version": "1.1.22",
3
+ "version": "1.1.23",
4
4
  "mcpName": "io.github.kjgueye/netintel-mcp",
5
5
  "repository": {
6
6
  "type": "git",