22 pay-per-call developer, security, network and data utilities using x402 on Base.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Resolve ONE DNS record type for a domain. For all record types at once use /domain/intelligence; for a bundled DNS+TLS+headers audit use /web/audit or /security/posture; for mail-security plus a scored verdict use /domain/due-diligence.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Resolve ONE DNS record type for a domain. For all record types at once use /domain/intelligence; for a bundled DNS+TLS+headers audit use /web/audit or /security/posture; for mail-security plus a scored verdict use /domain/due-diligence.
| Argument | Type | Description |
|---|---|---|
| domain* | string | |
| record_type | string |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"title": "Domain"
},
"record_type": {
"type": "string",
"title": "Record Type",
"default": "A"
}
},
"additionalProperties": false
}Collect ALL common DNS record types (A/AAAA/MX/NS/TXT/CAA) for a domain in one call -- the multi-record bundle version of /dns/lookup.
| Argument | Type | Description |
|---|---|---|
| domain* | string |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"title": "Domain"
}
},
"additionalProperties": false
}Decode a JWT payload without signature verification.
| Argument | Type | Description |
|---|---|---|
| token* | string |
{
"type": "object",
"required": [
"token"
],
"properties": {
"token": {
"type": "string",
"title": "Token"
}
},
"additionalProperties": false
}Inspect HTTP security headers for ONE URL only. For headers combined with TLS and DNS, use /web/audit (raw) or /security/posture (scored).
| Argument | Type | Description |
|---|---|---|
| url* | string |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"title": "Url"
}
},
"additionalProperties": false
}Assess TLS and HTTP security posture for a public HTTPS website -- the SAME inspection as /web/audit, but returns a 0-100 score/grade and findings instead of raw fields.
| Argument | Type | Description |
|---|---|---|
| url* | string |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"title": "Url"
}
},
"additionalProperties": false
}Inspect the TLS certificate for ONE hostname only. For TLS combined with HTTP headers and DNS, use /web/audit (raw) or /security/posture (scored).
| Argument | Type | Description |
|---|---|---|
| hostname* | string |
{
"type": "object",
"required": [
"hostname"
],
"properties": {
"hostname": {
"type": "string",
"title": "Hostname"
}
},
"additionalProperties": false
}Calculate subnet information from CIDR notation.
| Argument | Type | Description |
|---|---|---|
| cidr* | string |
{
"type": "object",
"required": [
"cidr"
],
"properties": {
"cidr": {
"type": "string",
"title": "Cidr"
}
},
"additionalProperties": false
}Convert a Unix timestamp to UTC ISO-8601.
| Argument | Type | Description |
|---|---|---|
| timestamp* | number |
{
"type": "object",
"required": [
"timestamp"
],
"properties": {
"timestamp": {
"type": "number",
"title": "Timestamp"
}
},
"additionalProperties": false
}Parse a URL into structured components.
| Argument | Type | Description |
|---|---|---|
| url* | string |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"title": "Url"
}
},
"additionalProperties": false
}Generate a random UUID version 4.
| Argument | Type | Description |
|---|---|---|
| count | integer |
{
"type": "object",
"properties": {
"count": {
"type": "integer",
"title": "Count",
"default": 1
}
},
"additionalProperties": false
}Consolidated DNS, TLS and HTTP security audit for a public HTTPS website, returned as RAW findings (no score) -- the bundled version of /dns/lookup + /ssl/check + /security/headers. Use /security/posture instead for a 0-100 score/grade.
| Argument | Type | Description |
|---|---|---|
| url* | string |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"title": "Url"
}
},
"additionalProperties": false
}Decode Base64 to UTF-8 text.
| Argument | Type | Description |
|---|---|---|
| text* | string |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string"
}
},
"additionalProperties": false
}Encode UTF-8 text using Base64.
| Argument | Type | Description |
|---|---|---|
| text* | string |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string"
}
},
"additionalProperties": false
}Normalize and transform common structured text automatically.
| Argument | Type | Description |
|---|---|---|
| text* | string | |
| operation | string |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string"
},
"operation": {
"enum": [
"auto",
"json_pretty",
"json_minify",
"base64_encode",
"base64_decode",
"dedupe_lines"
],
"type": "string",
"default": "auto"
}
},
"additionalProperties": false
}The most comprehensive domain assessment: DNS + mail security (SPF/DKIM/DMARC) + TLS + HTTP headers, scored. The only endpoint in this group that adds mail-security analysis. Use for a one-shot decision-grade verdict on an unfamiliar domain; use /dns/lookup, /ssl/check, /security/headers, /web/audit or /security/posture instead for a single fact or a cheaper signal.
| Argument | Type | Description |
|---|---|---|
| domain* | string | Public domain name to assess |
{
"type": "object",
"required": [
"domain"
],
"properties": {
"domain": {
"type": "string",
"title": "Domain",
"examples": [
"example.com"
],
"minLength": 1,
"description": "Public domain name to assess"
}
},
"additionalProperties": false
}Flags pinned dependencies in a repository's requirements.txt, package-lock.json, or uv.lock published more recently than a freshness threshold -- a supply-chain-compromise tripwire. Free CLI (requirements.txt/package-lock.json only, uv.lock support pending there): github.com/sbakhour/freshdep.
| Argument | Type | Description |
|---|---|---|
| ref | string | Optional branch/tag to check out instead of the default branch. |
| repo_url* | string | Full https://github.com/<owner>/<repo> URL to scan. |
| threshold_days | number | Flag anything published more recently than this many days ago. Defaults to 7. |
{
"type": "object",
"required": [
"repo_url"
],
"properties": {
"ref": {
"type": "string",
"description": "Optional branch/tag to check out instead of the default branch."
},
"repo_url": {
"type": "string",
"description": "Full https://github.com/<owner>/<repo> URL to scan."
},
"threshold_days": {
"type": "number",
"description": "Flag anything published more recently than this many days ago. Defaults to 7."
}
},
"additionalProperties": false
}Generate SHA-256 digest from text.
| Argument | Type | Description |
|---|---|---|
| text* | string |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string"
}
},
"additionalProperties": false
}Generate SHA-512 digest from text.
| Argument | Type | Description |
|---|---|---|
| text* | string |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string"
}
},
"additionalProperties": false
}Minify valid JSON text.
| Argument | Type | Description |
|---|---|---|
| text* | string |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string"
}
},
"additionalProperties": false
}Pretty-print valid JSON text.
| Argument | Type | Description |
|---|---|---|
| text* | string |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string"
}
},
"additionalProperties": false
}Repair common malformed JSON formatting issues.
| Argument | Type | Description |
|---|---|---|
| text* | string |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string"
}
},
"additionalProperties": false
}Validate JSON text and return parsing details.
| Argument | Type | Description |
|---|---|---|
| text* | string |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string"
}
},
"additionalProperties": false
}Convert an image between common formats (e.g. PNG/JPEG/WebP) from a URL or base64 payload.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}Verifies GST/QST were calculated correctly per Revenu Quebec's current (non-compounded) formula, and flags whether a French invoice version is present per Charter of the French Language s.57/89/91. Pure arithmetic + text check; not legal or tax advice.
| Argument | Type | Description |
|---|---|---|
| subtotal* | number | Pre-tax subtotal in CAD. |
| gst_amount* | number | GST amount as shown on the invoice. |
| qst_amount* | number | QST amount as shown on the invoice. |
| french_text | string | The invoice's French text, if any (optional -- its absence is itself flagged). |
| english_text | string | The invoice's primary/other-language text (optional but needed for the language check). |
{
"type": "object",
"required": [
"subtotal",
"gst_amount",
"qst_amount"
],
"properties": {
"subtotal": {
"type": "number",
"description": "Pre-tax subtotal in CAD."
},
"gst_amount": {
"type": "number",
"description": "GST amount as shown on the invoice."
},
"qst_amount": {
"type": "number",
"description": "QST amount as shown on the invoice."
},
"french_text": {
"type": "string",
"description": "The invoice's French text, if any (optional -- its absence is itself flagged)."
},
"english_text": {
"type": "string",
"description": "The invoice's primary/other-language text (optional but needed for the language check)."
}
},
"additionalProperties": false
}Assembles a bilingual (French/English) Quebec invoice document with GST/QST computed exactly per Revenu Quebec's current formula -- you supply both languages' line-item text, this does not translate. Not legal or tax advice.
| Argument | Type | Description |
|---|---|---|
| line_items* | array | Each item needs description_en, description_fr (both required -- this assembles, it does not translate), and amount. |
| seller_name* | string | Seller/business name to display. |
| invoice_number* | string | Your own invoice number/reference. |
| seller_gst_number | string | GST registration number, optional. |
| seller_qst_number | string | QST registration number, optional. |
{
"type": "object",
"required": [
"invoice_number",
"seller_name",
"line_items"
],
"properties": {
"line_items": {
"type": "array",
"items": {
"type": "object",
"required": [
"description_en",
"description_fr",
"amount"
],
"properties": {
"amount": {
"type": "number"
},
"description_en": {
"type": "string"
},
"description_fr": {
"type": "string"
}
}
},
"description": "Each item needs description_en, description_fr (both required -- this assembles, it does not translate), and amount."
},
"seller_name": {
"type": "string",
"description": "Seller/business name to display."
},
"invoice_number": {
"type": "string",
"description": "Your own invoice number/reference."
},
"seller_gst_number": {
"type": "string",
"description": "GST registration number, optional."
},
"seller_qst_number": {
"type": "string",
"description": "QST registration number, optional."
}
},
"additionalProperties": false
}Everything in the standard report, plus a repo-wide secret/credential exposure scan (matched values are never returned).
| Argument | Type | Description |
|---|---|---|
| ref | string | Optional branch/tag to analyze. Defaults to the repository's default branch. |
| repo_url* | string | Public https://github.com/... or https://gitlab.com/... repository URL. |
{
"type": "object",
"required": [
"repo_url"
],
"properties": {
"ref": {
"type": "string",
"description": "Optional branch/tag to analyze. Defaults to the repository's default branch."
},
"repo_url": {
"type": "string",
"description": "Public https://github.com/... or https://gitlab.com/... repository URL."
}
},
"additionalProperties": false
}Everything in the deep report, plus real OpenSSF Scorecard maintainer/governance signals and a prioritized recommendation. An automated baseline positioned against $5,000-$95,000 human technical due diligence.
| Argument | Type | Description |
|---|---|---|
| ref | string | Optional branch/tag to analyze. Defaults to the repository's default branch. |
| repo_url* | string | Public https://github.com/... or https://gitlab.com/... repository URL. |
{
"type": "object",
"required": [
"repo_url"
],
"properties": {
"ref": {
"type": "string",
"description": "Optional branch/tag to analyze. Defaults to the repository's default branch."
},
"repo_url": {
"type": "string",
"description": "Public https://github.com/... or https://gitlab.com/... repository URL."
}
},
"additionalProperties": false
}SBOM inventory plus real OSV.dev dependency-vulnerability matches and dependency-freshness signals for a public Git repository. One-shot alternative to a per-seat secret-scanning subscription.
| Argument | Type | Description |
|---|---|---|
| ref | string | Optional branch/tag to analyze. Defaults to the repository's default branch. |
| repo_url* | string | Public https://github.com/... or https://gitlab.com/... repository URL. |
{
"type": "object",
"required": [
"repo_url"
],
"properties": {
"ref": {
"type": "string",
"description": "Optional branch/tag to analyze. Defaults to the repository's default branch."
},
"repo_url": {
"type": "string",
"description": "Public https://github.com/... or https://gitlab.com/... repository URL."
}
},
"additionalProperties": false
}Remove duplicate lines while preserving original order.
| Argument | Type | Description |
|---|---|---|
| text* | string |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string"
}
},
"additionalProperties": false
}Calculate character, word, line and byte statistics.
| Argument | Type | Description |
|---|---|---|
| text* | string |
{
"type": "object",
"required": [
"text"
],
"properties": {
"text": {
"type": "string"
}
},
"additionalProperties": false
}Live, on-demand check of ONE x402-protected endpoint before you pay it: payment-requirements structure, TLS certificate, payTo on-chain balance, known-asset recognition, resource/host consistency, and discovery-manifest cross-check -- not a cached aggregate reputation score.
| Argument | Type | Description |
|---|---|---|
| target_url* | string | The full https:// URL of the x402-protected endpoint to evaluate. |
| target_method | string | HTTP method to request target_url with. Defaults to GET; use POST for action-style endpoints that only 402-challenge on POST. |
{
"type": "object",
"required": [
"target_url"
],
"properties": {
"target_url": {
"type": "string",
"description": "The full https:// URL of the x402-protected endpoint to evaluate."
},
"target_method": {
"enum": [
"GET",
"POST"
],
"type": "string",
"description": "HTTP method to request target_url with. Defaults to GET; use POST for action-style endpoints that only 402-challenge on POST."
}
},
"additionalProperties": false
}