@atmaticai/agent-tools-core 1.0.0

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 (142) hide show
  1. package/README.md +742 -0
  2. package/dist/archive/index.d.mts +1 -0
  3. package/dist/archive/index.d.ts +1 -0
  4. package/dist/archive/index.js +90 -0
  5. package/dist/archive/index.js.map +1 -0
  6. package/dist/archive/index.mjs +80 -0
  7. package/dist/archive/index.mjs.map +1 -0
  8. package/dist/color/index.d.mts +1 -0
  9. package/dist/color/index.d.ts +1 -0
  10. package/dist/color/index.js +347 -0
  11. package/dist/color/index.js.map +1 -0
  12. package/dist/color/index.mjs +336 -0
  13. package/dist/color/index.mjs.map +1 -0
  14. package/dist/crypto/index.d.mts +1 -0
  15. package/dist/crypto/index.d.ts +1 -0
  16. package/dist/crypto/index.js +116 -0
  17. package/dist/crypto/index.js.map +1 -0
  18. package/dist/crypto/index.mjs +108 -0
  19. package/dist/crypto/index.mjs.map +1 -0
  20. package/dist/csv/index.d.mts +1 -0
  21. package/dist/csv/index.d.ts +1 -0
  22. package/dist/csv/index.js +371 -0
  23. package/dist/csv/index.js.map +1 -0
  24. package/dist/csv/index.mjs +348 -0
  25. package/dist/csv/index.mjs.map +1 -0
  26. package/dist/datetime/index.d.mts +1 -0
  27. package/dist/datetime/index.d.ts +1 -0
  28. package/dist/datetime/index.js +234 -0
  29. package/dist/datetime/index.js.map +1 -0
  30. package/dist/datetime/index.mjs +224 -0
  31. package/dist/datetime/index.mjs.map +1 -0
  32. package/dist/diff/index.d.mts +2 -0
  33. package/dist/diff/index.d.ts +2 -0
  34. package/dist/diff/index.js +84 -0
  35. package/dist/diff/index.js.map +1 -0
  36. package/dist/diff/index.mjs +78 -0
  37. package/dist/diff/index.mjs.map +1 -0
  38. package/dist/excel/index.d.mts +1 -0
  39. package/dist/excel/index.d.ts +1 -0
  40. package/dist/excel/index.js +163 -0
  41. package/dist/excel/index.js.map +1 -0
  42. package/dist/excel/index.mjs +153 -0
  43. package/dist/excel/index.mjs.map +1 -0
  44. package/dist/image/index.d.mts +1 -0
  45. package/dist/image/index.d.ts +1 -0
  46. package/dist/image/index.js +123 -0
  47. package/dist/image/index.js.map +1 -0
  48. package/dist/image/index.mjs +107 -0
  49. package/dist/image/index.mjs.map +1 -0
  50. package/dist/index--vbnYfdE.d.mts +142 -0
  51. package/dist/index--vbnYfdE.d.ts +142 -0
  52. package/dist/index-7FZQloN-.d.mts +62 -0
  53. package/dist/index-7FZQloN-.d.ts +62 -0
  54. package/dist/index-7XgaTVH5.d.mts +93 -0
  55. package/dist/index-7XgaTVH5.d.ts +93 -0
  56. package/dist/index-7bvFmh45.d.mts +87 -0
  57. package/dist/index-7bvFmh45.d.ts +87 -0
  58. package/dist/index-BDZcIVCU.d.mts +53 -0
  59. package/dist/index-BDZcIVCU.d.ts +53 -0
  60. package/dist/index-BN00EnUU.d.mts +55 -0
  61. package/dist/index-BN00EnUU.d.ts +55 -0
  62. package/dist/index-CQ1EukC4.d.mts +59 -0
  63. package/dist/index-CQ1EukC4.d.ts +59 -0
  64. package/dist/index-CgRVnFOt.d.mts +91 -0
  65. package/dist/index-CgRVnFOt.d.ts +91 -0
  66. package/dist/index-DjBDZzuj.d.mts +54 -0
  67. package/dist/index-DjBDZzuj.d.ts +54 -0
  68. package/dist/index-FFrvmr-n.d.mts +50 -0
  69. package/dist/index-FFrvmr-n.d.ts +50 -0
  70. package/dist/index-QWC8yIgW.d.mts +106 -0
  71. package/dist/index-QWC8yIgW.d.ts +106 -0
  72. package/dist/index-RVqNunxE.d.mts +193 -0
  73. package/dist/index-RVqNunxE.d.ts +193 -0
  74. package/dist/index-fJD8SORm.d.mts +61 -0
  75. package/dist/index-fJD8SORm.d.ts +61 -0
  76. package/dist/index-pPy_XDQU.d.mts +56 -0
  77. package/dist/index-pPy_XDQU.d.ts +56 -0
  78. package/dist/index-rwh9hdD9.d.mts +68 -0
  79. package/dist/index-rwh9hdD9.d.ts +68 -0
  80. package/dist/index-uXdkAfea.d.mts +93 -0
  81. package/dist/index-uXdkAfea.d.ts +93 -0
  82. package/dist/index.d.mts +17 -0
  83. package/dist/index.d.ts +17 -0
  84. package/dist/index.js +3744 -0
  85. package/dist/index.js.map +1 -0
  86. package/dist/index.mjs +3694 -0
  87. package/dist/index.mjs.map +1 -0
  88. package/dist/json/index.d.mts +1 -0
  89. package/dist/json/index.d.ts +1 -0
  90. package/dist/json/index.js +599 -0
  91. package/dist/json/index.js.map +1 -0
  92. package/dist/json/index.mjs +552 -0
  93. package/dist/json/index.mjs.map +1 -0
  94. package/dist/markdown/index.d.mts +1 -0
  95. package/dist/markdown/index.d.ts +1 -0
  96. package/dist/markdown/index.js +151 -0
  97. package/dist/markdown/index.js.map +1 -0
  98. package/dist/markdown/index.mjs +139 -0
  99. package/dist/markdown/index.mjs.map +1 -0
  100. package/dist/math/index.d.mts +1 -0
  101. package/dist/math/index.d.ts +1 -0
  102. package/dist/math/index.js +247 -0
  103. package/dist/math/index.js.map +1 -0
  104. package/dist/math/index.mjs +240 -0
  105. package/dist/math/index.mjs.map +1 -0
  106. package/dist/pdf/index.d.mts +1 -0
  107. package/dist/pdf/index.d.ts +1 -0
  108. package/dist/pdf/index.js +546 -0
  109. package/dist/pdf/index.js.map +1 -0
  110. package/dist/pdf/index.mjs +518 -0
  111. package/dist/pdf/index.mjs.map +1 -0
  112. package/dist/regex/index.d.mts +1 -0
  113. package/dist/regex/index.d.ts +1 -0
  114. package/dist/regex/index.js +93 -0
  115. package/dist/regex/index.js.map +1 -0
  116. package/dist/regex/index.mjs +88 -0
  117. package/dist/regex/index.mjs.map +1 -0
  118. package/dist/settings/index.d.mts +41 -0
  119. package/dist/settings/index.d.ts +41 -0
  120. package/dist/settings/index.js +146 -0
  121. package/dist/settings/index.js.map +1 -0
  122. package/dist/settings/index.mjs +139 -0
  123. package/dist/settings/index.mjs.map +1 -0
  124. package/dist/sql/index.d.mts +1 -0
  125. package/dist/sql/index.d.ts +1 -0
  126. package/dist/sql/index.js +146 -0
  127. package/dist/sql/index.js.map +1 -0
  128. package/dist/sql/index.mjs +139 -0
  129. package/dist/sql/index.mjs.map +1 -0
  130. package/dist/text/index.d.mts +1 -0
  131. package/dist/text/index.d.ts +1 -0
  132. package/dist/text/index.js +250 -0
  133. package/dist/text/index.js.map +1 -0
  134. package/dist/text/index.mjs +242 -0
  135. package/dist/text/index.mjs.map +1 -0
  136. package/dist/xml/index.d.mts +1 -0
  137. package/dist/xml/index.d.ts +1 -0
  138. package/dist/xml/index.js +188 -0
  139. package/dist/xml/index.js.map +1 -0
  140. package/dist/xml/index.mjs +180 -0
  141. package/dist/xml/index.mjs.map +1 -0
  142. package/package.json +150 -0
package/README.md ADDED
@@ -0,0 +1,742 @@
1
+ # Agent Tools
2
+
3
+ **Deterministic data transformation and formatting for AI agents.**
4
+
5
+ An open source project by [atmatic.ai](https://atmatic.ai/tools)
6
+
7
+ [![CI](https://github.com/AtmaticAI/agent-tools/actions/workflows/ci.yml/badge.svg)](https://github.com/AtmaticAI/agent-tools/actions/workflows/ci.yml)
8
+ [![CodeQL](https://github.com/AtmaticAI/agent-tools/actions/workflows/codeql.yml/badge.svg)](https://github.com/AtmaticAI/agent-tools/actions/workflows/codeql.yml)
9
+ [![Apache 2.0 License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)
10
+ [![npm](https://img.shields.io/npm/v/@agent-tools/mcp-server.svg)](https://www.npmjs.com/package/@agent-tools/mcp-server)
11
+ [![GitHub release](https://img.shields.io/github/v/release/AtmaticAI/agent-tools)](https://github.com/AtmaticAI/agent-tools/releases)
12
+ [![GitHub issues](https://img.shields.io/github/issues/AtmaticAI/agent-tools)](https://github.com/AtmaticAI/agent-tools/issues)
13
+ [![GitHub pull requests](https://img.shields.io/github/issues-pr/AtmaticAI/agent-tools)](https://github.com/AtmaticAI/agent-tools/pulls)
14
+ [![GitHub stars](https://img.shields.io/github/stars/AtmaticAI/agent-tools?style=social)](https://github.com/AtmaticAI/agent-tools)
15
+ [![GitHub contributors](https://img.shields.io/github/contributors/AtmaticAI/agent-tools)](https://github.com/AtmaticAI/agent-tools/graphs/contributors)
16
+ [![Node.js](https://img.shields.io/badge/Node.js-20%2B-green.svg)](https://nodejs.org/)
17
+ [![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue.svg)](https://www.typescriptlang.org/)
18
+ [![pnpm](https://img.shields.io/badge/pnpm-9-orange.svg)](https://pnpm.io/)
19
+
20
+ ---
21
+
22
+ Agent Tools is an agent-driven data utility platform that provides deterministic tools for transforming, formatting, and inspecting structured data. Designed for MCP and A2A systems, Agent Tools ensures that when agents act, the resulting data is correct, inspectable, and production-ready.
23
+
24
+ ---
25
+
26
+ ## Why Agent Tools?
27
+
28
+ **LLMs think. Agent Tools executes.**
29
+
30
+ While LLMs excel at reasoning and understanding intent, they struggle with:
31
+
32
+ - **Large files** (MB–GB): Token limits cause truncation
33
+ - **Strict correctness**: One missing comma = broken output
34
+ - **Binary formats**: PDF operations require precise byte manipulation
35
+ - **Repeatability**: Enterprise needs deterministic, auditable results
36
+ - **Security**: Air-gapped environments, no data leakage
37
+
38
+ Agent Tools provides the authoritative execution layer that agents can trust.
39
+
40
+ ---
41
+
42
+ ## Live Demo
43
+
44
+ Try Agent Tools instantly without any installation:
45
+
46
+ **[https://tools.atmatic.ai](https://tools.atmatic.ai)**
47
+
48
+ This is a hosted version of the open source code — the same tools, same features, running on managed infrastructure.
49
+
50
+ ---
51
+
52
+ ## Screenshots
53
+
54
+ Browse screenshots of all 16 tools in the [screenshots](./screenshots/) directory:
55
+
56
+ - [Homepage](screenshots/homepage.png)
57
+ - [JSON Studio](screenshots/json-studio.png)
58
+ - [CSV Viewer](screenshots/csv-viewer.png)
59
+ - [PDF Toolkit](screenshots/pdf-toolkit.png)
60
+ - [PDF - Extract Template](screenshots/pdf-to-template.png)
61
+ - [PDF - Generate from Template](screenshots/pdf-from-template.png)
62
+ - [XML Studio](screenshots/xml-studio.png)
63
+ - [Excel Viewer](screenshots/excel-viewer.png)
64
+ - [Image Toolkit](screenshots/image-toolkit.png)
65
+ - [Markdown Studio](screenshots/markdown-studio.png)
66
+ - [Archive Manager](screenshots/archive-manager.png)
67
+ - [Regex Tester](screenshots/regex-tester.png)
68
+ - [Diff & Patch](screenshots/diff-patch.png)
69
+ - [SQL Studio](screenshots/sql-studio.png)
70
+ - [Crypto & Encoding](screenshots/crypto-encoding.png)
71
+ - [Date/Time Tools](screenshots/datetime-tools.png)
72
+ - [Text Utilities](screenshots/text-utilities.png)
73
+ - [Math Utilities](screenshots/math-utilities.png)
74
+ - [Color Utilities](screenshots/color-utilities.png)
75
+ - [Connect (Integration Guide)](screenshots/connect.png)
76
+ - [Settings](screenshots/settings.png)
77
+
78
+ ---
79
+
80
+ ## Features
81
+
82
+ ### JSON Studio
83
+ - Tree view with expand/collapse navigation
84
+ - Format with configurable indentation (2/4/tabs)
85
+ - JSON Schema validation
86
+ - JSONPath/JMESPath queries
87
+ - Convert between JSON, JSON5, JSONC, YAML, TOML
88
+ - Side-by-side diff comparison
89
+ - Deep search with regex
90
+
91
+ ### CSV Viewer
92
+ - Virtual scrolling for 100k+ rows
93
+ - Column sort, filter, hide, reorder
94
+ - Auto-detect data types
95
+ - Export to CSV, JSON, Excel
96
+ - Column statistics and distributions
97
+
98
+ ### PDF Toolkit
99
+ - Merge multiple PDFs with page selection
100
+ - Split by page ranges
101
+ - Drag-and-drop page reordering
102
+ - Thumbnail previews
103
+ - Rotate, compress, extract text
104
+ - View/edit metadata
105
+ - Extract reusable templates from PDFs (detects `{{placeholder}}` fields)
106
+ - Generate PDFs from templates with data replacement
107
+
108
+ ### XML Studio
109
+ - Parse XML to JSON with configurable options
110
+ - Format/pretty-print and minify XML
111
+ - Validate XML structure
112
+ - Query XML with path expressions
113
+ - Convert between XML and JSON
114
+ - XML document statistics (elements, attributes, depth)
115
+
116
+ ### Excel Viewer
117
+ - Upload and parse `.xlsx` files
118
+ - View sheet data in tabular format
119
+ - Export to CSV, TSV, JSON
120
+ - Workbook statistics and sheet listing
121
+ - Create Excel files from JSON data
122
+
123
+ ### Image Toolkit
124
+ - Resize images with fit options (cover, contain, fill)
125
+ - Convert between PNG, JPEG, WebP, AVIF, TIFF
126
+ - Compress images with quality control
127
+ - Extract EXIF metadata and image stats
128
+ - Rotate, flip, crop, grayscale, blur
129
+
130
+ ### Markdown Studio
131
+ - Convert between Markdown, HTML, and plain text
132
+ - Generate table of contents from headings
133
+ - Extract links and frontmatter
134
+ - Document statistics (words, headings, links, images)
135
+
136
+ ### Archive Manager
137
+ - Upload and inspect ZIP archives
138
+ - List archive contents with sizes
139
+ - Extract files from archives
140
+ - Archive statistics (file count, total/compressed size)
141
+
142
+ ### Regex Tester
143
+ - Test regex patterns against text with live matching
144
+ - Search and replace with regex
145
+ - Extract matching groups and captures
146
+ - Validate regex pattern syntax
147
+ - Configurable flags (global, case-insensitive, multiline)
148
+
149
+ ### Diff & Patch
150
+ - Compare texts at line, word, or character level
151
+ - Generate unified diff format
152
+ - Apply patches to source text
153
+ - Diff statistics (additions, deletions, unchanged)
154
+
155
+ ### SQL Studio
156
+ - Format and pretty-print SQL queries
157
+ - Minify SQL
158
+ - Validate SQL syntax
159
+ - Parse SQL to AST
160
+ - Convert between dialects (PostgreSQL, MySQL, SQLite, TransactSQL, BigQuery)
161
+ - Query statistics (tables, columns, joins)
162
+
163
+ ### Crypto & Encoding
164
+ - Hash text with MD5, SHA-1, SHA-256, SHA-384, SHA-512
165
+ - Encode/decode Base64, Hex, URL, HTML
166
+ - Decode JWT tokens (header + payload)
167
+ - Generate cryptographically secure UUID v4
168
+ - HMAC signatures and file checksums
169
+
170
+ ### Date/Time Tools
171
+ - Parse date strings and timestamps
172
+ - Format dates with custom patterns
173
+ - Date arithmetic (add/subtract days, hours, etc.)
174
+ - Calculate differences between dates
175
+ - Convert between timezones
176
+ - Parse and explain cron expressions
177
+
178
+ ### Text Utilities
179
+ - Convert text case (upper, lower, title, sentence, camel, snake, kebab)
180
+ - Generate URL-friendly slugs
181
+ - Generate lorem ipsum placeholder text
182
+ - Calculate text similarity (Levenshtein distance)
183
+ - Text statistics (characters, words, sentences, paragraphs)
184
+ - Render mustache-style templates
185
+ - Truncate text with ellipsis options
186
+
187
+ ### Math Utilities
188
+ - Convert between number bases (binary, octal, decimal, hex)
189
+ - Unit conversion (length, weight, temperature, data size)
190
+ - Number formatting with locale support
191
+ - Percentage calculations
192
+ - Statistical functions (mean, median, mode, std dev, variance)
193
+
194
+ ### Color Utilities
195
+ - Parse colors from various formats (hex, rgb, hsl, named)
196
+ - Convert between color formats
197
+ - Check WCAG contrast ratios for accessibility
198
+ - Blend and mix colors
199
+ - Generate color palettes (complementary, triadic, analogous)
200
+ - Get nearest named color
201
+
202
+ ---
203
+
204
+ ## Agent Integration
205
+
206
+ Agent Tools supports three integration patterns:
207
+
208
+ ### 1. MCP (Model Context Protocol)
209
+
210
+ Expose tools to Claude Desktop, Claude Code, or any MCP-compatible client.
211
+
212
+ **Supported transports:**
213
+ - **stdio** - For local process communication
214
+ - **SSE** - Server-Sent Events for web clients
215
+ - **HTTP Streaming** - Streamable HTTP for scalable deployments
216
+
217
+ ```json
218
+ // claude_desktop_config.json
219
+ {
220
+ "mcpServers": {
221
+ "agent-tools": {
222
+ "command": "npx",
223
+ "args": ["@agent-tools/mcp-server"]
224
+ }
225
+ }
226
+ }
227
+ ```
228
+
229
+ **Available MCP Tools (100):**
230
+
231
+ <details>
232
+ <summary><strong>View all MCP tools</strong></summary>
233
+
234
+ | Tool | Description |
235
+ |------|-------------|
236
+ | **JSON** | |
237
+ | `agent_tools_json_format` | Format JSON with options |
238
+ | `agent_tools_json_validate` | Validate against JSON Schema |
239
+ | `agent_tools_json_query` | Query with JSONPath/JMESPath |
240
+ | `agent_tools_json_convert` | Convert between formats |
241
+ | `agent_tools_json_diff` | Compare two JSON documents |
242
+ | **CSV** | |
243
+ | `agent_tools_csv_parse` | Parse CSV to structured data |
244
+ | `agent_tools_csv_to_json` | Convert CSV to JSON |
245
+ | `agent_tools_csv_filter` | Filter CSV rows |
246
+ | `agent_tools_csv_stats` | Get column statistics |
247
+ | **PDF** | |
248
+ | `agent_tools_pdf_merge` | Merge PDF files |
249
+ | `agent_tools_pdf_split` | Split PDF by ranges |
250
+ | `agent_tools_pdf_extract_text` | Extract text from PDF |
251
+ | `agent_tools_pdf_metadata` | Get/set PDF metadata |
252
+ | `agent_tools_pdf_to_template` | Extract reusable template from PDF |
253
+ | `agent_tools_pdf_from_template` | Generate PDF from template + data |
254
+ | **XML** | |
255
+ | `agent_tools_xml_parse` | Parse XML to JSON |
256
+ | `agent_tools_xml_format` | Format/pretty-print XML |
257
+ | `agent_tools_xml_minify` | Minify XML |
258
+ | `agent_tools_xml_validate` | Validate XML structure |
259
+ | `agent_tools_xml_query` | Query XML with path expressions |
260
+ | `agent_tools_xml_convert` | Convert between XML and JSON |
261
+ | `agent_tools_xml_stats` | Get XML statistics |
262
+ | **Excel** | |
263
+ | `agent_tools_excel_parse` | Parse Excel to structured data |
264
+ | `agent_tools_excel_convert` | Convert to JSON/CSV/TSV |
265
+ | `agent_tools_excel_stats` | Get workbook statistics |
266
+ | `agent_tools_excel_sheets` | List sheet names and info |
267
+ | `agent_tools_excel_create` | Create Excel from JSON data |
268
+ | **Image** | |
269
+ | `agent_tools_image_resize` | Resize images |
270
+ | `agent_tools_image_crop` | Crop images to region |
271
+ | `agent_tools_image_convert` | Convert between formats |
272
+ | `agent_tools_image_compress` | Compress images |
273
+ | `agent_tools_image_rotate` | Rotate images |
274
+ | `agent_tools_image_metadata` | Extract image metadata |
275
+ | `agent_tools_image_grayscale` | Convert to grayscale |
276
+ | **Markdown** | |
277
+ | `agent_tools_markdown_convert` | Convert Markdown/HTML/text |
278
+ | `agent_tools_markdown_toc` | Generate table of contents |
279
+ | `agent_tools_markdown_links` | Extract all links |
280
+ | `agent_tools_markdown_frontmatter` | Extract frontmatter |
281
+ | `agent_tools_markdown_stats` | Get document statistics |
282
+ | **Archive** | |
283
+ | `agent_tools_archive_create` | Create ZIP archives |
284
+ | `agent_tools_archive_extract` | Extract archive contents |
285
+ | `agent_tools_archive_list` | List archive entries |
286
+ | `agent_tools_archive_stats` | Get archive statistics |
287
+ | **Regex** | |
288
+ | `agent_tools_regex_test` | Test pattern against text |
289
+ | `agent_tools_regex_replace` | Search and replace with regex |
290
+ | `agent_tools_regex_extract` | Extract matching groups |
291
+ | `agent_tools_regex_validate` | Validate regex syntax |
292
+ | **Diff** | |
293
+ | `agent_tools_diff_compare` | Compare texts (line/word/char) |
294
+ | `agent_tools_diff_unified` | Generate unified diff |
295
+ | `agent_tools_diff_apply` | Apply patches |
296
+ | **SQL** | |
297
+ | `agent_tools_sql_format` | Format SQL queries |
298
+ | `agent_tools_sql_minify` | Minify SQL |
299
+ | `agent_tools_sql_parse` | Parse SQL to AST |
300
+ | `agent_tools_sql_validate` | Validate SQL syntax |
301
+ | `agent_tools_sql_convert` | Convert between dialects |
302
+ | `agent_tools_sql_stats` | Get query statistics |
303
+ | **Crypto & Encoding** | |
304
+ | `agent_tools_crypto_hash` | Hash text (MD5, SHA-256, etc.) |
305
+ | `agent_tools_crypto_hmac` | Generate HMAC signatures |
306
+ | `agent_tools_crypto_encode` | Encode (Base64, Hex, URL, HTML) |
307
+ | `agent_tools_crypto_decode` | Decode encoded text |
308
+ | `agent_tools_crypto_jwt_decode` | Decode JWT tokens |
309
+ | `agent_tools_crypto_uuid` | Generate UUID v4 |
310
+ | `agent_tools_crypto_checksum` | Compute file checksums |
311
+ | **Date/Time** | |
312
+ | `agent_tools_datetime_parse` | Parse date strings |
313
+ | `agent_tools_datetime_format` | Format dates |
314
+ | `agent_tools_datetime_now` | Get current date/time |
315
+ | `agent_tools_datetime_add` | Add duration to dates |
316
+ | `agent_tools_datetime_subtract` | Subtract duration |
317
+ | `agent_tools_datetime_diff` | Calculate date differences |
318
+ | `agent_tools_datetime_timezone_convert` | Convert timezones |
319
+ | `agent_tools_datetime_cron` | Parse cron expressions |
320
+ | `agent_tools_datetime_timezones` | List all timezones |
321
+ | **Text** | |
322
+ | `agent_tools_text_case` | Convert text case |
323
+ | `agent_tools_text_slugify` | Generate URL slugs |
324
+ | `agent_tools_text_lorem` | Generate lorem ipsum |
325
+ | `agent_tools_text_similarity` | Calculate text similarity |
326
+ | `agent_tools_text_stats` | Get text statistics |
327
+ | `agent_tools_text_template` | Render text templates |
328
+ | `agent_tools_text_truncate` | Truncate text |
329
+ | **Math** | |
330
+ | `agent_tools_math_base` | Convert number bases |
331
+ | `agent_tools_math_convert` | Convert units |
332
+ | `agent_tools_math_format` | Format numbers |
333
+ | `agent_tools_math_percentage` | Calculate percentages |
334
+ | `agent_tools_math_statistics` | Calculate statistics |
335
+ | **Color** | |
336
+ | `agent_tools_color_parse` | Parse color strings |
337
+ | `agent_tools_color_convert` | Convert color formats |
338
+ | `agent_tools_color_contrast` | Check contrast ratio |
339
+ | `agent_tools_color_blend` | Blend colors |
340
+ | `agent_tools_color_palette` | Generate palettes |
341
+ | `agent_tools_color_name` | Get color name |
342
+
343
+ </details>
344
+
345
+ ### 2. A2A (Agent-to-Agent Protocol)
346
+
347
+ Agent Tools exposes an A2A-compliant agent for inter-agent communication.
348
+
349
+ ```bash
350
+ # Discover agent capabilities
351
+ curl https://your-agent-tools-instance/.well-known/agent.json
352
+
353
+ # Create a task
354
+ curl -X POST https://your-agent-tools-instance/a2a/tasks \
355
+ -H "Content-Type: application/json" \
356
+ -d '{"skill": "json-operations", "input": {"action": "format", "data": "..."}}'
357
+
358
+ # Poll for result
359
+ curl https://your-agent-tools-instance/a2a/tasks/{task_id}
360
+ ```
361
+
362
+ ### 3. REST API
363
+
364
+ Direct HTTP access to all tools. No external API keys or services required — everything runs locally.
365
+
366
+ ```bash
367
+ # Format JSON
368
+ curl -X POST /api/json/format \
369
+ -H "Content-Type: application/json" \
370
+ -d '{"input": "{\"a\":1}", "options": {"indent": 2}}'
371
+
372
+ # Format SQL
373
+ curl -X POST /api/sql/format \
374
+ -H "Content-Type: application/json" \
375
+ -d '{"input": "SELECT * FROM users WHERE active=true", "dialect": "postgresql"}'
376
+
377
+ # Hash text
378
+ curl -X POST /api/crypto/hash \
379
+ -H "Content-Type: application/json" \
380
+ -d '{"input": "hello world", "algorithm": "sha256"}'
381
+
382
+ # Parse date
383
+ curl -X POST /api/datetime/parse \
384
+ -H "Content-Type: application/json" \
385
+ -d '{"input": "2024-01-15T10:30:00Z", "timezone": "America/New_York"}'
386
+
387
+ # Test regex
388
+ curl -X POST /api/regex/test \
389
+ -H "Content-Type: application/json" \
390
+ -d '{"input": "hello world", "pattern": "\\w+", "flags": "g"}'
391
+ ```
392
+
393
+ **Available REST endpoints:** `/api/{tool}/{action}` where tool is one of: `json`, `csv`, `pdf`, `xml`, `excel`, `image`, `markdown`, `archive`, `regex`, `diff`, `sql`, `crypto`, `datetime`, `text`, `math`, `color`.
394
+
395
+ ---
396
+
397
+ ## Installation
398
+
399
+ ### Prerequisites
400
+
401
+ - Node.js 20+
402
+ - pnpm 9+
403
+
404
+ ### Local Development
405
+
406
+ ```bash
407
+ # Clone the repository
408
+ git clone git@github.com:AtmaticAI/agent-tools.git
409
+ cd agent-tools
410
+
411
+ # Install dependencies
412
+ pnpm install
413
+
414
+ # Start development server
415
+ pnpm dev
416
+
417
+ # Start specific services
418
+ pnpm dev:web # Web UI only
419
+ pnpm dev:mcp # MCP server only
420
+ ```
421
+
422
+ ### Docker
423
+
424
+ ```bash
425
+ # Full platform (Web + MCP + A2A)
426
+ docker-compose up -d
427
+
428
+ # Web UI only
429
+ docker run -p 3000:3000 ghcr.io/AtmaticAI/agent-tools:latest
430
+
431
+ # MCP server only
432
+ docker run ghcr.io/AtmaticAI/agent-tools:mcp
433
+ ```
434
+
435
+ #### Docker Compose
436
+
437
+ ```yaml
438
+ version: '3.8'
439
+ services:
440
+ agent-tools:
441
+ image: ghcr.io/AtmaticAI/agent-tools:latest
442
+ ports:
443
+ - "3000:3000" # Web UI
444
+ - "3001:3001" # MCP HTTP Streaming
445
+ volumes:
446
+ - ./data:/app/data # Persist runtime settings
447
+ ```
448
+
449
+ ### Kubernetes
450
+
451
+ ```bash
452
+ # Apply manifests
453
+ kubectl apply -f k8s/
454
+
455
+ # Verify deployment
456
+ kubectl get pods -n agent-tools
457
+ kubectl get svc -n agent-tools
458
+ ```
459
+
460
+ #### Kubernetes Manifests
461
+
462
+ The `k8s/` directory includes:
463
+ - `namespace.yaml` - Agent Tools namespace
464
+ - `configmap.yaml` - Configuration
465
+ - `deployment.yaml` - Main deployment
466
+ - `service.yaml` - ClusterIP service
467
+ - `ingress.yaml` - Ingress with TLS
468
+ - `hpa.yaml` - Horizontal Pod Autoscaler
469
+
470
+ ### AWS (ECS/Fargate)
471
+
472
+ ```bash
473
+ cd terraform
474
+
475
+ # Initialize Terraform
476
+ terraform init
477
+
478
+ # Review the plan
479
+ terraform plan
480
+
481
+ # Deploy
482
+ terraform apply
483
+ ```
484
+
485
+ #### Terraform Resources
486
+
487
+ - **ECR** - Container registry
488
+ - **ECS Cluster** - Fargate cluster
489
+ - **ECS Service** - Auto-scaled service
490
+ - **ALB** - Application Load Balancer
491
+ - **CloudWatch** - Logging and metrics
492
+
493
+ ---
494
+
495
+ ## Configuration
496
+
497
+ ### Environment Variables
498
+
499
+ | Variable | Default | Description |
500
+ |----------|---------|-------------|
501
+ | `PORT` | `3000` | Web server port |
502
+ | `MCP_PORT` | `3001` | MCP HTTP streaming port |
503
+ | `MCP_TRANSPORT` | `stdio` | MCP transport: `stdio`, `sse`, `http` |
504
+
505
+ Tool categories (JSON, CSV, PDF, XML, Excel, Image, Markdown, Archive, Regex, Diff, SQL, Crypto, DateTime) are configured at runtime via the **Settings** page (`/settings`). All tools are enabled by default. Settings are persisted to `data/settings.json`.
506
+
507
+ ---
508
+
509
+ ## MCP Server
510
+
511
+ ### Installation
512
+
513
+ ```bash
514
+ # Global install
515
+ npm install -g @agent-tools/mcp-server
516
+
517
+ # Or run directly
518
+ npx @agent-tools/mcp-server
519
+ ```
520
+
521
+ ### Transport Options
522
+
523
+ #### stdio (default)
524
+ For Claude Desktop and local integrations:
525
+
526
+ ```json
527
+ {
528
+ "mcpServers": {
529
+ "agent-tools": {
530
+ "command": "npx",
531
+ "args": ["@agent-tools/mcp-server"]
532
+ }
533
+ }
534
+ }
535
+ ```
536
+
537
+ #### SSE (Server-Sent Events)
538
+ For web-based MCP clients:
539
+
540
+ ```bash
541
+ npx @agent-tools/mcp-server --transport sse --port 3001
542
+ ```
543
+
544
+ #### HTTP Streaming
545
+ For scalable, stateless deployments:
546
+
547
+ ```bash
548
+ npx @agent-tools/mcp-server --transport http --port 3001
549
+ ```
550
+
551
+ Connect via:
552
+ ```
553
+ POST http://localhost:3001/mcp
554
+ Content-Type: application/json
555
+
556
+ {"jsonrpc": "2.0", "method": "tools/list", "id": 1}
557
+ ```
558
+
559
+ ---
560
+
561
+ ## A2A Agent
562
+
563
+ ### Agent Card
564
+
565
+ The A2A agent card is available at `/.well-known/agent.json`:
566
+
567
+ ```json
568
+ {
569
+ "name": "Agent Tools Data Agent",
570
+ "description": "Deterministic data transformation and document processing",
571
+ "version": "1.0.0",
572
+ "provider": {
573
+ "organization": "atmatic.ai",
574
+ "url": "https://atmatic.ai"
575
+ },
576
+ "capabilities": {
577
+ "streaming": true,
578
+ "pushNotifications": false
579
+ },
580
+ "skills": [
581
+ { "id": "json-operations", "name": "JSON Processing" },
582
+ { "id": "csv-operations", "name": "CSV Processing" },
583
+ { "id": "pdf-operations", "name": "PDF Processing" },
584
+ { "id": "xml-operations", "name": "XML Processing" },
585
+ { "id": "excel-operations", "name": "Excel Processing" },
586
+ { "id": "image-operations", "name": "Image Processing" },
587
+ { "id": "markdown-operations", "name": "Markdown Processing" },
588
+ { "id": "archive-operations", "name": "Archive Management" },
589
+ { "id": "regex-operations", "name": "Regex Operations" },
590
+ { "id": "diff-operations", "name": "Diff & Patch" },
591
+ { "id": "sql-operations", "name": "SQL Processing" },
592
+ { "id": "crypto-operations", "name": "Crypto & Encoding" },
593
+ { "id": "datetime-operations", "name": "Date/Time Operations" },
594
+ { "id": "text-operations", "name": "Text Processing" },
595
+ { "id": "math-operations", "name": "Math Operations" },
596
+ { "id": "color-operations", "name": "Color Operations" }
597
+ ]
598
+ }
599
+ ```
600
+
601
+ ### Task Lifecycle
602
+
603
+ ```
604
+ POST /a2a/tasks → Create task (returns task_id)
605
+ GET /a2a/tasks/:id → Get task status/result
606
+ POST /a2a/tasks/:id/cancel → Cancel task
607
+ ```
608
+
609
+ ---
610
+
611
+ ## Coming Soon: a2ui.org Integration
612
+
613
+ [a2ui.org](https://a2ui.org) is an emerging standard for agent user interfaces. Agent Tools will integrate as a data transformation provider within the a2ui ecosystem.
614
+
615
+ ### Planned Features
616
+ - **Direct Connection**: Register Agent Tools as a tool provider in a2ui-compatible agents
617
+ - **Seamless Handoffs**: Pass data between a2ui agents and Agent Tools tools
618
+ - **Visual Workflows**: Chain all 16 tool categories in visual pipelines
619
+
620
+ Stay tuned for updates on [GitHub](https://github.com/AtmaticAI/agent-tools).
621
+
622
+ ---
623
+
624
+ ## Project Structure
625
+
626
+ ```
627
+ agent-tools/
628
+ ├── apps/
629
+ │ └── web/ # Next.js 15 application
630
+ │ ├── app/
631
+ │ │ ├── (dashboard)/ # Tool UI pages (16 tools)
632
+ │ │ │ ├── json/ # JSON Studio
633
+ │ │ │ ├── csv/ # CSV Viewer
634
+ │ │ │ ├── pdf/ # PDF Toolkit
635
+ │ │ │ ├── xml/ # XML Studio
636
+ │ │ │ ├── excel/ # Excel Viewer
637
+ │ │ │ ├── image/ # Image Toolkit
638
+ │ │ │ ├── markdown/ # Markdown Studio
639
+ │ │ │ ├── archive/ # Archive Manager
640
+ │ │ │ ├── regex/ # Regex Tester
641
+ │ │ │ ├── diff/ # Diff & Patch
642
+ │ │ │ ├── sql/ # SQL Studio
643
+ │ │ │ ├── crypto/ # Crypto & Encoding
644
+ │ │ │ ├── datetime/ # Date/Time Tools
645
+ │ │ │ ├── connect/ # Integration guide
646
+ │ │ │ └── settings/ # Runtime tool settings
647
+ │ │ └── api/ # REST API routes
648
+ │ ├── components/ # React components (shadcn/ui)
649
+ │ └── lib/ # Utilities and stores
650
+ ├── packages/
651
+ │ ├── core/ # Shared business logic (16 modules)
652
+ │ ├── mcp-server/ # MCP server (100 tools)
653
+ │ └── a2a-agent/ # A2A agent (16 skills)
654
+ ├── docker/ # Docker configurations
655
+ ├── k8s/ # Kubernetes manifests
656
+ ├── terraform/ # AWS infrastructure
657
+ └── .github/workflows/ # CI/CD pipelines
658
+ ```
659
+
660
+ ---
661
+
662
+ ## Development
663
+
664
+ ### Commands
665
+
666
+ ```bash
667
+ pnpm dev # Start all services
668
+ pnpm build # Build all packages
669
+ pnpm test # Run tests
670
+ pnpm lint # Lint code
671
+ pnpm typecheck # Type check
672
+ pnpm format # Format code
673
+ ```
674
+
675
+ ### Testing
676
+
677
+ ```bash
678
+ # Unit tests
679
+ pnpm test
680
+
681
+ # E2E tests
682
+ pnpm test:e2e
683
+
684
+ # Coverage
685
+ pnpm test -- --coverage
686
+ ```
687
+
688
+ ---
689
+
690
+ ## Managed Solution
691
+
692
+ Looking for a hosted, fully managed version of Agent Tools without the hassle of self-hosting?
693
+
694
+ **[Atmatic.ai](https://atmatic.ai)** offers a managed platform with enterprise-grade features including team collaboration, usage analytics, priority support, and guaranteed uptime — so you can focus on building agents, not infrastructure.
695
+
696
+ ### Open Source vs Managed Platform
697
+
698
+ | Feature | Open Source | Managed Platform |
699
+ |---------|-------------|------------------|
700
+ | All 16 tool categories | Yes | Yes |
701
+ | MCP / A2A / REST APIs | Yes | Yes |
702
+ | Self-hosted | Yes | No (cloud-hosted) |
703
+ | Automatic updates | Manual | Yes |
704
+ | Team collaboration | - | Yes |
705
+ | Usage analytics | - | Yes |
706
+ | Priority support | Community | Dedicated |
707
+ | SLA & uptime guarantee | - | Yes |
708
+
709
+ **[See full comparison →](https://atmatic.ai/tools)**
710
+
711
+ **[Contact us for enterprise pricing →](https://atmatic.ai/#contact-us)**
712
+
713
+ ---
714
+
715
+ ## Contributing
716
+
717
+ See [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines.
718
+
719
+ ---
720
+
721
+ ## License
722
+
723
+ Apache 2.0 License - see [LICENSE](./LICENSE) for details.
724
+
725
+ ---
726
+
727
+ ## Links
728
+
729
+ - **Live Demo**: [tools.atmatic.ai](https://tools.atmatic.ai)
730
+ - **Repository**: [github.com/AtmaticAI/agent-tools](https://github.com/AtmaticAI/agent-tools)
731
+ - **Organization**: [atmatic.ai](https://atmatic.ai)
732
+ - **Managed Platform**: [atmatic.ai/tools](https://atmatic.ai/tools)
733
+ - **Issues**: [github.com/AtmaticAI/agent-tools/issues](https://github.com/AtmaticAI/agent-tools/issues)
734
+ - **Contact**: [atmatic.ai/#contact-us](https://atmatic.ai/#contact-us)
735
+
736
+ ---
737
+
738
+ <p align="center">
739
+ <strong>Agent Tools</strong> — An open source project by <a href="https://atmatic.ai">atmatic.ai</a>
740
+ <br>
741
+ <sub>Building trust through transparency</sub>
742
+ </p>