netintel-mcp 1.1.30 → 1.1.32

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 — 97 network intelligence tools for AI agents.
3
+ MCP server for NetIntel — 98 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 — the NetIntel API accepts USDC on Base or Solana; this MCP server pays on Base. 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
- 97 pay-per-call tools across DNS, SSL/TLS, WHOIS & domains, email security, IP intelligence, web & content, OSINT, AI text processing, and bundled reports.
34
+ 98 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
  |------|-------------|-------|
@@ -47,7 +47,7 @@ Or add manually to your Claude Desktop config:
47
47
  | netintel_cert_transparency | Query the crt.sh certificate transparency log database to enumerate all… | $0.01 |
48
48
  | netintel_subnet_calc | Calculates IPv4/IPv6 subnet details from CIDR notation —… | $0.005 |
49
49
  | netintel_dns_propagation | Query a domain's DNS record across 10 geographically distributed public… | $0.03 |
50
- | netintel_dnssec_validate | Validate a domain's DNSSEC configuration by checking for DS records at… | $0.03 |
50
+ | netintel_dnssec_validate | Validate a domain's DNSSEC configuration over DNS-over-HTTPS: DS… | $0.03 |
51
51
  | netintel_ip_blacklist | Check an IP address against 15 major DNS blacklists (Spamhaus… | $0.05 |
52
52
  | netintel_tech_fingerprint | Fetch a URL and detect the full technology stack from HTTP response… | $0.05 |
53
53
  | netintel_breach_check | Check if a password has appeared in known data breaches using the… | $0.01 |
@@ -129,9 +129,10 @@ Or add manually to your Claude Desktop config:
129
129
  | netintel_openai_gpt_5_6_sol | Call OpenAI's gpt-5.6-sol via a single pay-per-call x402 endpoint — no… | $0.65 |
130
130
  | netintel_openai_gpt_5_6_terra | Call OpenAI's gpt-5.6-terra via a single pay-per-call x402 endpoint —… | $0.25 |
131
131
  | netintel_openai_gpt_5_6_luna | Call OpenAI's gpt-5.6-luna via a single pay-per-call x402 endpoint — no… | $0.06 |
132
- | netintel_v1 | OpenAI-compatible text embeddings API — standard /v1/embeddings request… | $0.005 |
133
- | netintel_semantic | Semantic similarity ranking — send a query plus up to 100 candidate… | $0.02 |
132
+ | netintel_v1_embeddings | OpenAI-compatible text embeddings API — standard /v1/embeddings request… | $0.005 |
133
+ | netintel_semantic_rank | Semantic similarity ranking — send a query plus up to 100 candidate… | $0.02 |
134
134
  | netintel_v1_chat_completions | OpenAI-compatible chat completions gateway — standard… | $0.10 |
135
+ | netintel_crypto_market | Structured live crypto market data for ~50 top assets in one JSON call:… | $0.005 |
135
136
 
136
137
  ## Payment
137
138
  All tools pay automatically via x402 in USDC on Base mainnet.
package/dist/index.js CHANGED
@@ -980,8 +980,8 @@ function registerTools(server, api) {
980
980
  return err(e);
981
981
  }
982
982
  });
983
- // 95. V1 (POST)
984
- server.tool("netintel_v1", "OpenAI-compatible text embeddings API — standard /v1/embeddings request shape: input as a string or a batch of up to 128 strings (64000 chars total on text-embedding-3-small, the default; 24000 on text-embedding-3-large). Flat $0.005 per…", { input: z.string(), model: z.string().optional(), dimensions: z.number().optional() }, async ({ input, model, dimensions }) => {
983
+ // 95. V1 Embeddings (POST)
984
+ server.tool("netintel_v1_embeddings", "OpenAI-compatible text embeddings API — standard /v1/embeddings request shape: input as a string or a batch of up to 128 strings (64000 chars total on text-embedding-3-small, the default; 24000 on text-embedding-3-large). Flat $0.005 per…", { input: z.union([z.string(), z.array(z.string())]), model: z.string().optional(), dimensions: z.number().optional() }, async ({ input, model, dimensions }) => {
985
985
  try {
986
986
  const res = await api.post("/v1/embeddings", { input, model, dimensions });
987
987
  return ok(res.data);
@@ -990,8 +990,8 @@ function registerTools(server, api) {
990
990
  return err(e);
991
991
  }
992
992
  });
993
- // 96. Semantic (POST)
994
- server.tool("netintel_semantic", "Semantic similarity ranking — send a query plus up to 100 candidate texts, get the candidates back ranked by semantic similarity with scores. No vectors, no cosine math, no embedding model to manage: one call, one price, ranked results…", { query: z.string(), candidates: z.array(z.string()), model: z.string().optional(), top_k: z.number().optional(), min_score: z.number().optional() }, async ({ query, candidates, model, top_k, min_score }) => {
993
+ // 96. Semantic Rank (POST)
994
+ server.tool("netintel_semantic_rank", "Semantic similarity ranking — send a query plus up to 100 candidate texts, get the candidates back ranked by semantic similarity with scores. No vectors, no cosine math, no embedding model to manage: one call, one price, ranked results…", { query: z.string(), candidates: z.array(z.string()), model: z.string().optional(), top_k: z.number().optional(), min_score: z.number().optional() }, async ({ query, candidates, model, top_k, min_score }) => {
995
995
  try {
996
996
  const res = await api.post("/semantic/rank", { query, candidates, model, top_k, min_score });
997
997
  return ok(res.data);
@@ -1010,6 +1010,16 @@ function registerTools(server, api) {
1010
1010
  return err(e);
1011
1011
  }
1012
1012
  });
1013
+ // 98. Crypto
1014
+ server.tool("netintel_crypto_market", "Structured live crypto market data for ~50 top assets in one JSON call: spot price and 24h open/high/low/volume/change (Coinbase Exchange) plus market cap, rank and circulating/total/max supply (CoinGecko). Quote in USD, EUR or GBP. 60s…", { symbol: z.string(), vs: z.string().optional() }, async ({ symbol, vs }) => {
1015
+ try {
1016
+ const res = await api.get("/crypto/market", { params: params({ symbol, vs }) });
1017
+ return ok(res.data);
1018
+ }
1019
+ catch (e) {
1020
+ return err(e);
1021
+ }
1022
+ });
1013
1023
  }
1014
1024
  async function main() {
1015
1025
  const api = await createClient();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "netintel-mcp",
3
- "version": "1.1.30",
3
+ "version": "1.1.32",
4
4
  "mcpName": "io.github.kjgueye/netintel-mcp",
5
5
  "repository": {
6
6
  "type": "git",