com.ainetcafe/netcafe-devkit
REMOTE · AINETCAFE.COM · SCANNED AUG 20
JSON/YAML, regex, diff, JWT, SQL dialects — the keyless millisecond ops an agent needs mid-task.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 5 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability78
- AI-judged instruction clarity (excellent).Pass
- Tool/resource definitions use about 1298 tokens (~92/item across 14 items; 14 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management17
- Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (64% of tools); any adoption earns full credit.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
remote · ainetcafe.com
claude mcp add --transport http com-ainetcafe-netcafe-devkit https://ainetcafe.com/mcp/dev?s=registry
[mcp_servers.com-ainetcafe-netcafe-devkit] url = "https://ainetcafe.com/mcp/dev?s=registry"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-ainetcafe-netcafe-devkit": {
"type": "remote",
"url": "https://ainetcafe.com/mcp/dev?s=registry",
"enabled": true
}
}
} openclaw mcp add com-ainetcafe-netcafe-devkit --url https://ainetcafe.com/mcp/dev?s=registry --transport streamable-http
mcp_servers:
com-ainetcafe-netcafe-devkit:
url: "https://ainetcafe.com/mcp/dev?s=registry" {
"mcpServers": {
"com-ainetcafe-netcafe-devkit": {
"type": "http",
"url": "https://ainetcafe.com/mcp/dev?s=registry"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 13 to 17. That category is still filling its 30-day observation window: 4 days of observed history at the previous scan, 5 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Aug 26 0
- Tool coverage: 75% → 64% ▼ functional
- Schema quality: 103 → 92 ▲ functional
- New tool “screenshot_url” functional
- New tool “sql_from_description” functional
- 17 Aug 26 +1
- Tool “what_can_you_do” rewrote its description, which is the text the model reads security
- 16 Aug 26 0
- Schema quality: 1084 → 1246 ▼ functional
- Stability: unverified → 0.03 ▲ functional
- New tool “what_can_you_do” functional
- 15 Aug 26 64
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Aug 2026 · Probed https://ainetcafe.com/mcp/dev?s=registry
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=ainetcafe.com | CN=WE1,O=Google Trust Services,C=US | 29 Jul 2026 | 27 Oct 2026 | ECDSA 256 | ECDSA-SHA256 | dac48256f0fdbd780ea13de50d28b439 |
| SANs: ainetcafe.com, *.ainetcafe.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
DNSSEC insecure
Validation of ainetcafe.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| ainetcafe.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://ainetcafe.com/mcp/dev?s=registry | Verified | 200 | |
| http (plaintext) | http://ainetcafe.com/mcp/dev?s=registry | HTTPS enforced | 301 | https://ainetcafe.com/mcp/dev?s=registry |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
diff_text What changed between two texts, line by line ~95
Returns which lines were added and which were removed, with line numbers — computed with a longest-common-subsequence, not guessed by a model. Use to compare two versions of a config, a document, or any command output, instead of asking an LLM to eyeball two blobs and hoping it notices.
| Name | Type | Req | Description |
|---|---|---|---|
| a | string | yes | The first (before) text. |
| b | string | yes | The second (after) text. |
Structured output declared, but exposes no named fields.
No examples provided.
json_format json format ~25
Validate and pretty-print JSON (2-space indent). Reports the error location if invalid.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
json_yaml JSON ↔ YAML, either direction, auto-detected ~108
Converts JSON to YAML or YAML to JSON. It works out which one you gave it, so you do not have to say. A parse failure comes back with the parser message instead of silently producing something that looks fine and is not. Use when a config, a CI file, or a Kubernetes manifest needs to be in the other format.
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | The JSON or YAML content. |
| to | string | – | Optional: "json" or "yaml" to force the direction. |
Structured output declared, but exposes no named fields.
No examples provided.
jwt_decode See inside a JWT — header, payload, and whether it has expired ~83
Decodes the header and payload of a JWT and reports issued-at / expiry as readable timestamps plus seconds remaining. The signature is NOT verified and the response says so — decoding is fine for debugging a token you already hold, but never treat these values as proof of anything; verification needs the secret and belongs in your own service.
| Name | Type | Req | Description |
|---|---|---|---|
| token | string | yes | The JWT string. |
Structured output declared, but exposes no named fields.
No examples provided.
make_qr Make a QR code ~53
Any text or URL → a QR code PNG you can embed or download. Stateless URL form: https://ainetcafe.com/i/qr/<text>
| Name | Type | Req | Description |
|---|---|---|---|
| text | string | yes | The text or URL to encode. |
Structured output declared, but exposes no named fields.
No examples provided.
redact_text Redact secrets and PII before sending text on ~110
Strip emails, phone numbers, ID numbers, API keys, private keys, JWTs, card numbers and IPs out of text, returning the redacted text plus a mapping table to restore them afterwards. Rule-based only — no model sees the input. The same value always maps to the same placeholder, so the answer can be restored.
| Name | Type | Req | Description |
|---|---|---|---|
| only | string | – | Optional comma-separated subset, e.g. "EMAIL,API_KEY,PRIVATE_KEY". |
| text | string | yes | The text to redact. |
Structured output declared, but exposes no named fields.
No examples provided.
regex_test Does this regex match — and what does it capture? ~99
Runs a regular expression against sample text and returns every match with its position and capture groups (named groups included). Use before wiring a pattern into code, instead of guessing whether the escaping survived the trip through JSON and the shell.
| Name | Type | Req | Description |
|---|---|---|---|
| flags | string | – | Optional flags, e.g. "gi". Default "g". |
| pattern | string | yes | The regular expression, without surrounding slashes. |
| text | string | yes | The text to test against. |
Structured output declared, but exposes no named fields.
No examples provided.
screenshot_url screenshot url ~30
Full-page screenshot of any URL → PNG. The same job screenshot APIs charge $7-79/month for.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
sql_from_description sql from description ~25
Plain-language request + table schema → ready-to-run .sql file with comments.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
timezone_convert timezone convert ~46
Convert a time between time zones, or get current time in any zone. from/to = IANA zone (Asia/Shanghai), time = YYYY-MM-DDTHH:mm (default now).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
transpile_sql Translate SQL between dialects ~181
Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, redshift, spark, hive, presto, trino, duckdb, clickhouse, databricks, doris, starrocks and more. Deterministic parser (sqlglot), not an LLM: the same input always produces the same output, and syntax errors come back with the exact line and column. Use it when migrating queries between databases or debugging dialect-specific syntax.
| Name | Type | Req | Description |
|---|---|---|---|
| read | string | – | Source dialect, e.g. "mysql". Omit to auto-detect from generic SQL. |
| sql | string | yes | The SQL statement (or several, separated by semicolons). |
| write | string | yes | Target dialect, e.g. "postgres", "bigquery", "doris". |
Structured output declared, but exposes no named fields.
No examples provided.
unit_convert unit convert ~45
Convert units: length, weight, temperature, area, volume, speed, data size. value + from + to (e.g. 100 km mi, 25 c f).
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
validate_json Is this JSON valid — and does it have the keys you need? ~107
Checks that text parses as JSON, and optionally that required keys are present with the right top-level types. Returns the specific violations, not just true/false. Checks required + types only — not full JSON Schema, and it says so rather than pretending. Use before feeding generated JSON into something that will fail on it.
| Name | Type | Req | Description |
|---|---|---|---|
| schema | string | – | Optional JSON Schema (as JSON text) — required[] and properties[].type are checked. |
| text | string | yes | The JSON to validate. |
Structured output declared, but exposes no named fields.
No examples provided.
what_can_you_do Find the right tool for a task ~159
Describe a task in plain language (any language) and get back exactly which tools on this server do it, with ready-to-run example calls — instead of reading the whole catalogue and guessing. Also returns multi-step recipes when a task needs several tools chained (invoices to a ledger, a bank statement reconciled, a messy CSV turned into a deliverable). Deterministic and free: it calls no model, costs nothing, and never runs out of quota. Call this FIRST when you are not sure what this server offers.
| Name | Type | Req | Description |
|---|---|---|---|
| task | string | yes | What you are trying to do, e.g. "reconcile a bank statement against my books" or "把一堆发票整理成能入账的表格" |
Structured output declared, but exposes no named fields.
No examples provided.