@mate-tools/mcp-server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MATE_TOOLS_API_BASE | No | Override the API endpoint (e.g. for testing against a staging deployment). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| count_linesA | Count lines, words, sentences, paragraphs and characters in a chunk of text. Returns sixteen text metrics including duplicate-line detection, longest word, reading and speaking time estimates, and the dominant line-ending style (LF, CRLF or CR). |
| base64_encodeA | Base64-encode a string. Optional URL-safe variant (RFC 4648 §5: |
| base64_decodeA | Base64-decode a string. Accepts both standard and URL-safe Base64; missing padding is auto-fixed. Returns text when valid UTF-8, otherwise hex. |
| url_encodeA | Percent-encode a string for URL use. mode=component (RFC 3986 strict, default), form (application/x-www-form-urlencoded), or path (keeps slashes intact). |
| url_decodeA | Decode a percent-encoded URL string. mode=component (rawurldecode, default) or form (interprets + as space). |
| hashB | Compute one or more cryptographic hashes of a text input. Defaults to MD5, SHA-1, SHA-256, SHA-384, SHA-512, CRC32, SHA3-256, SHA3-512. |
| passwordA | Generate cryptographically random passwords using a CSPRNG. Configurable length, count, character classes and ambiguous-character exclusion. |
| password_strengthA | Score a password (0-4 zxcvbn-style), compute entropy bits, identify common-password fingerprints and keyboard sequences, and estimate offline-GPU crack time. Password is never logged. |
| json_formatA | Validate, pretty-print, minify or analyse a JSON document. Returns a structural summary (node counts, max depth, top distinct keys). |
| json_to_csvA | Convert a JSON array of objects to CSV. Configurable delimiter, columns, optional flattening of nested objects with dot-keys (e.g. |
| case_convertA | Convert text into multiple case styles in one call: upper, lower, title, sentence, snake, kebab, camel, pascal, constant. Pass |
| slugifyA | Convert any text to a URL-safe slug. Unicode-aware: by default transliterates non-Latin characters to ASCII (set |
| sort_linesA | Sort lines of text. Supports asc/desc, case-insensitive, locale-aware collation, natural-sort (line2 before line10), dedupe, line-trim and empty-line drop. |
| lorem_ipsumA | Generate placeholder text — N paragraphs, sentences or words of lorem ipsum. Suitable for mocks, fixtures and test data. |
| timestampA | Convert any moment in time between formats. Bidirectional Unix epoch ↔ ISO 8601 ↔ RFC 3339 ↔ human-readable. Auto-detects epoch resolution. Accepts strtotime-style natural language ("next monday", "+2 weeks"). Optional timezone for local components. |
| date_mathA | Date arithmetic. Two modes: provide |
| regex_testA | Match, replace or split text with a PCRE regular expression. Returns offsets and capture groups. ReDoS-protected: catastrophic patterns return an error rather than hanging. |
| sitemap_extractA | Fetch and parse an XML sitemap or sitemap index from a public HTTPS URL (or paste raw XML). SSRF-protected: refuses private/loopback/link-local/cloud-metadata addresses, re-validates redirects. Optional recursive expansion of sub-sitemaps. Returns lastmod, changefreq, priority when present. |
| credit_card_validateA | Validate a card number using the Luhn algorithm and detect the brand (Visa, MasterCard, Amex, Discover, JCB, Diners, UnionPay, Maestro, RuPay). The card number is never logged — only its length, IIN prefix, last 4, masked form, and Luhn outcome leave the server. |
| xml_validateA | Validate XML well-formedness; with optional XSD schema. Reports errors with line/column. Network and DTD fetches are disabled (no XXE risk). |
| text_diffA | Diff two strings by line, word or character. Returns structured changes (+/-/=), git-style unified diff, and a Jaccard similarity score. Use line mode for code/config; word mode for prose; char mode for short strings. |
| statsA | Descriptive statistics for a list of numbers: count, sum, mean, median, mode, min/max/range, variance, stddev (population AND sample), MAD, quartiles, IQR, percentiles (1-99), geometric mean, harmonic mean. |
| number_baseA | Convert integers between any base 2..36 plus Roman numerals. Big-int safe when GMP is available. Use from_base="roman" to parse a Roman numeral input, or include "roman" in to_bases to convert to Roman. |
| finance_calcB | Multi-mode financial calculations. |
| color_convertA | Convert any color (hex, rgb, rgba, hsl, hsla, named) into all standard color spaces. Returns hex, rgb, rgba, hsl, hsv, cmyk, closest CSS named color, WCAG luminance and contrast ratios vs. white and black (with AA/AAA flags). |
| age_calcA | Compute age in years/months/days from a date of birth. Returns next birthday, days until, Western zodiac sign, generation (Gen Z / Millennial / Gen X / Boomer / Silent / Greatest / Gen Alpha), birth weekday, and leap-year info. |
| aspect_ratioA | Compute the reduced aspect ratio (16:9, 4:3, 21:9, ...) from a width and height; OR scale a given width OR height to a target ratio. |
| url_metadataA | Fetch a public HTTPS URL and extract structured page metadata: title, description, keywords, canonical, language, charset, full OpenGraph dictionary, Twitter Card, favicon (absolute URL), hreflang map, JSON-LD blocks, response headers and counts (h1/h2/images/links/scripts). SSRF-protected: refuses private/loopback/link-local/cloud-metadata addresses and re-validates every redirect. 2 MB body cap. |
| meta_tags_generateA | Generate a complete HTML head block — standard , OpenGraph, Twitter Card and Schema.org JSON-LD — from a small set of inputs (title, description, url, image, author, keywords, type). Returns ready-to-paste HTML plus an SEO score 0-100 with concrete warnings (title length, description length, missing OG image, etc.). |
| text_cleanupA | Apply chained text cleanup operations in sequence. Operations: trim, collapse_spaces, normalize_whitespace, remove_line_breaks, normalize_line_breaks, dedupe_lines, reverse_lines, strip_html, strip_emoji, strip_urls, strip_emails, normalize_quotes (curly → straight), normalize_dashes (em/en → hyphen), lowercase, uppercase. Returns cleaned text plus per-operation chars/lines removed. |
| random_genA | Cryptographically random generator backed by random_int / random_bytes. mode=number (min/max), string (length + charset: alpha/alphanumeric/numeric/lower/upper/hex/hex_upper/base58/base64url), word (English word list), picker (pick N from a list, with/without replacement), team (balanced round-robin team allocation), dice (NdM notation), coin, country (ISO list), uuid (v4 or v7). |
| hashtag_toolsA | Hashtag operations on text. mode=extract (pull #hashtags out of text with offsets), remove (strip them out + tidy whitespace), generate (suggest #hashtags from text content via stop-word-filtered word frequency), format (normalize an array of hashtag strings to camel/snake/lower/preserve style). Unicode-aware (#日本語 works). |
| dns_lookupA | Resolve DNS records for a domain via the system resolver. Default lookup covers A, AAAA, MX, TXT, NS, CNAME, SOA, CAA. Also resolves reverse PTR records for A results. Use this to debug mail config (MX), domain ownership signals (TXT), name-server delegation (NS), CAA policy, and IP resolution. No SSRF risk — DNS only, no outbound connections. |
| ssl_checkA | Connect to {domain}:{port} over TLS and return the leaf certificate + full chain: subject, issuer, validity dates, days remaining, fingerprint (SHA-256), subject alternative names, signature algorithm, negotiated protocol and cipher. Useful for verifying a domain has HTTPS, the cert is not expired, and the chain is properly configured. SSRF-protected: refuses private/loopback/link-local/cloud-metadata IPs. 5s connect timeout. |
| jwt_decodeA | Decode a JSON Web Token (JWT) and analyse its claims. Always returns header, payload, signature info, and expiry status (active/expired/not_yet_valid) computed from exp/nbf/iat. When |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 35 tools
Each tool targets a distinct operation, but `text_cleanup` and `case_convert` both handle case changes (lowercase/uppercase), and `sitemap_extract` vs `url_metadata` both involve fetching URLs, so a careful reading is needed to pick the right tool. Overall, no severe overlaps.
Tool names are all lowercase with underscores, but the pattern is inconsistent: many are noun_verb (`base64_encode`, `url_decode`, `regex_test`), some are single nouns (`hash`, `password`, `stats`), some use abbreviations (`age_calc`, `finance_calc`, `random_gen`), and a few don't follow verb_noun (`lorem_ipsum`, `json_to_csv`, `hashtag_tools`). This mixed style is still readable but not uniform.
With 35 tools, the server is overloaded for a single MCP server. Although the scope is a general utility toolkit, the number exceeds what an agent can efficiently navigate, and many tools could be split into focused servers. This borders on being too many and earns a score of 2.
The toolkit covers a wide range of common utilities: encoding, text processing, date/time, math, finance, web metadata, validation, and security. Minor gaps exist (e.g., no image processing, no file system operations), but for a general-purpose utility server, the surface is quite complete and leaves no major dead ends for typical use cases.