@utilix-tech/mcp 0.3.0 → 0.3.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  # @utilix-tech/mcp
2
2
 
3
- MCP server exposing 70 developer utility tools to Claude, Cursor, VS Code Copilot, and any [Model Context Protocol](https://modelcontextprotocol.io) compatible AI assistant.
3
+ MCP server exposing 95 developer utility tools to Claude, Cursor, VS Code Copilot, and any [Model Context Protocol](https://modelcontextprotocol.io) compatible AI assistant.
4
4
 
5
5
  No API key required. All tools run locally.
6
6
 
@@ -52,6 +52,27 @@ Add to `.vscode/mcp.json`:
52
52
  }
53
53
  ```
54
54
 
55
+ ### Windsurf
56
+
57
+ Add to `~/.codeium/windsurf/mcp_config.json`:
58
+
59
+ ```json
60
+ {
61
+ "mcpServers": {
62
+ "utilix": {
63
+ "command": "npx",
64
+ "args": ["-y", "@utilix-tech/mcp"]
65
+ }
66
+ }
67
+ }
68
+ ```
69
+
70
+ ### Claude Code
71
+
72
+ ```bash
73
+ claude mcp add utilix -- npx -y @utilix-tech/mcp
74
+ ```
75
+
55
76
  ## Tools
56
77
 
57
78
  ### JSON (13 tools)
@@ -176,6 +197,35 @@ Add to `.vscode/mcp.json`:
176
197
  | `unicode_inspect` | Inspect Unicode code points of a string |
177
198
  | `optimize_svg` | Optimize and minify an SVG string |
178
199
 
200
+ ### AI / Agent (25 tools)
201
+ | Tool | Description |
202
+ |------|-------------|
203
+ | `estimate_tokens` | Estimate token count and cost for an LLM prompt |
204
+ | `trim_to_tokens` | Trim text to fit a token budget |
205
+ | `chunk_text` | Split text into overlapping chunks for RAG pipelines |
206
+ | `rerank_chunks` | Rerank retrieved chunks by relevance to a query |
207
+ | `score_relevance` | Score a chunk's relevance to a query |
208
+ | `expand_query` | Expand a search query with synonyms/related terms |
209
+ | `summarize_for_llm` | Summarize text to fit a target length or token budget |
210
+ | `detect_pii` | Find emails, phones, SSNs, credit cards in text |
211
+ | `detect_secrets` | Scan text for leaked API keys, tokens, passwords |
212
+ | `detect_prompt_injection` | Score and flag adversarial/injection-style inputs |
213
+ | `repair_json` | Fix malformed JSON with a list of applied fixes |
214
+ | `sanitize_html` | Strip unsafe tags/attributes from HTML |
215
+ | `flatten_json` | Flatten nested JSON into dot-notation keys |
216
+ | `merge_json` | Deep or shallow merge two JSON objects |
217
+ | `extract_json` | Extract JSON blocks embedded in free text |
218
+ | `extract_urls` | Extract all URLs from text |
219
+ | `extract_entities` | Extract named entities from text |
220
+ | `extract_keywords` | Extract keywords from text |
221
+ | `extract_tables` | Extract tabular data from text |
222
+ | `deduplicate_lines` | Remove duplicate lines from text |
223
+ | `validate_json_schema` | Validate JSON against a JSON Schema |
224
+ | `compress_html` | Compress HTML for LLM context budgets |
225
+ | `compress_markdown` | Compress Markdown for LLM context budgets |
226
+ | `compress_json` | Compress JSON for LLM context budgets |
227
+ | `diff_json_detailed` | Diff two parsed JSON values, returning every path with its op and unchanged paths |
228
+
179
229
  ## Requirements
180
230
 
181
231
  - Node.js 18+
@@ -183,5 +233,7 @@ Add to `.vscode/mcp.json`:
183
233
  ## Links
184
234
 
185
235
  - [Utilix web app](https://utilix.tech) — use these tools in the browser
236
+ - [API Playground](https://utilix.tech/api) — try 10 endpoints live, no signup required
237
+ - [REST API docs](https://utilix.tech/docs#rest-api) — 100+ endpoints at `api.utilix.tech/v1` (1,000 req/day free)
186
238
  - [Node.js SDK](https://www.npmjs.com/package/@utilix-tech/sdk) — use in your Node.js projects
187
239
  - [Python SDK](https://pypi.org/project/utilix-sdk/) — use in your Python projects
package/dist/index.js CHANGED
@@ -7,6 +7,7 @@ import { z } from "zod";
7
7
  import {
8
8
  parseJson,
9
9
  minifyJson,
10
+ diffJson,
10
11
  jsonToCsv,
11
12
  csvToJson,
12
13
  evaluateJsonPath,
@@ -73,7 +74,7 @@ import { formatSql, formatHtml, testRegex, minifyJs, formatGql, parseDockerImage
73
74
  import { validateYaml, tomlToJson, xmlToJson, parseCsv } from "@utilix-tech/sdk/data";
74
75
  import { generateGradient, minifyCss } from "@utilix-tech/sdk/css";
75
76
  import { optimizeSvg, charToCodePoint, numberToWords } from "@utilix-tech/sdk/misc";
76
- import { estimateTokens, estimateCost, detectPii, redactPii, detectSecrets, detectPromptInjection, repairJson, trimToTokens, chunkText, extractUrls, sanitizeHtml, flattenJson, unflattenJson, mergeJson, extractJson, deduplicateLines, extractKeywords, validateJsonSchema, diffJson, extractTables, extractEntities, compressHtml, compressMarkdown, compressJson, rerankChunks, scoreRelevance, expandQuery, summarizeForLlm } from "@utilix-tech/sdk/ai_agent";
77
+ import { estimateTokens, estimateCost, detectPii, redactPii, detectSecrets, detectPromptInjection, repairJson, trimToTokens, chunkText, extractUrls, sanitizeHtml, flattenJson, unflattenJson, mergeJson, extractJson, deduplicateLines, extractKeywords, validateJsonSchema, diffJson as diffJsonDetailed, extractTables, extractEntities, compressHtml, compressMarkdown, compressJson, rerankChunks, scoreRelevance, expandQuery, summarizeForLlm } from "@utilix-tech/sdk/ai_agent";
77
78
  var CRON_DAY_MAP = {
78
79
  SUN: "0",
79
80
  MON: "1",
@@ -1112,8 +1113,8 @@ server.tool("extract_keywords", "Extract top keywords using TF-IDF scoring.", {
1112
1113
  server.tool("validate_json_schema", "Validate JSON data against a JSON Schema (Draft-07).", { data: z.unknown(), schema: z.record(z.unknown()) }, async ({ data, schema }) => {
1113
1114
  return { content: [{ type: "text", text: JSON.stringify(validateJsonSchema(data, schema), null, 2) }] };
1114
1115
  });
1115
- server.tool("diff_json", "Diff two JSON objects \u2014 returns added, removed, changed, and unchanged paths.", { a: z.unknown(), b: z.unknown() }, async ({ a, b }) => {
1116
- return { content: [{ type: "text", text: JSON.stringify(diffJson(a, b), null, 2) }] };
1116
+ server.tool("diff_json_detailed", "Diff two JSON objects (parsed values, not strings) \u2014 returns a flat list of every path with its op (added/removed/changed/unchanged), plus counts.", { a: z.unknown(), b: z.unknown() }, async ({ a, b }) => {
1117
+ return { content: [{ type: "text", text: JSON.stringify(diffJsonDetailed(a, b), null, 2) }] };
1117
1118
  });
1118
1119
  server.tool("extract_tables", "Extract HTML tables into JSON arrays with headers and rows.", { html: z.string() }, async ({ html }) => {
1119
1120
  return { content: [{ type: "text", text: JSON.stringify(extractTables(html), null, 2) }] };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@utilix-tech/mcp",
3
- "version": "0.3.0",
4
- "description": "MCP server exposing 70 Utilix developer tools to Claude, Cursor, VS Code Copilot, and any MCP-compatible AI assistant.",
3
+ "version": "0.3.1",
4
+ "description": "MCP server exposing 95 Utilix developer tools to Claude, Cursor, VS Code Copilot, and any MCP-compatible AI assistant.",
5
5
  "author": "Utilix <hello@utilix.tech>",
6
6
  "license": "MIT",
7
7
  "homepage": "https://utilix.tech/docs",
@@ -32,7 +32,7 @@
32
32
  "README.md"
33
33
  ],
34
34
  "scripts": {
35
- "build": "tsup",
35
+ "build": "tsup && chmod +x dist/index.js",
36
36
  "dev": "tsup --watch",
37
37
  "start": "node dist/index.js",
38
38
  "prepublishOnly": "npm run build"
package/smithery.yaml CHANGED
@@ -1,7 +1,8 @@
1
1
  name: utilix
2
- description: 70 developer utility tools JSON, hashing, encoding, JWT, UUID, cron, color, SQL, regex, CSS, QR codes and more. All run locally, no API key required.
3
- homepage: https://utilix.tech
2
+ description: 70 developer utility tools for Claude, Cursor, VS Code, Windsurf, and any MCP-compatible AI assistant. Covers JSON, hashing, encoding, JWT, UUID, cron, color, SQL, regex, CSS, QR codes, and more. All tools run locally no API key required.
3
+ homepage: https://utilix.tech/mcp
4
4
  license: MIT
5
+ repository: https://github.com/utilix-tech/utilix-mcp
5
6
 
6
7
  startCommand:
7
8
  type: stdio