{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_qq4ztzs5zsnd","handle":"netcafe-devkit","url":"https://wellknown.network/agents/netcafe-devkit","links":{"self":"https://wellknown.network/agents/netcafe-devkit/record.json","html":"https://wellknown.network/agents/netcafe-devkit","markdown":"https://wellknown.network/agents/netcafe-devkit/record.md","api":"https://wellknown.network/api/v1/agents/netcafe-devkit","status":"https://wellknown.network/api/v1/agents/netcafe-devkit/status","claim":"https://wellknown.network/agents/netcafe-devkit/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/netcafe-devkit/claim.json","badge":"https://wellknown.network/agents/netcafe-devkit/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/netcafe-devkit/history","tools":"https://wellknown.network/api/v1/agents/netcafe-devkit/tools"},"ard":{"identifier":"urn:air:ainetcafe.com:server:netcafe-devkit","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"netcafe-devkit","summary":"JSON/YAML, regex, diff, JWT, SQL dialects — the keyless millisecond ops an agent needs mid-task.","description":"JSON/YAML, regex, diff, JWT, SQL dialects — the keyless millisecond ops an agent needs mid-task.","publisher":{"name":"com.ainetcafe","url":null},"homepage":"https://ainetcafe.com/mcp.html","repository":"https://github.com/mario03690/ai-netcafe","version":"1.0.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://ainetcafe.com/mcp/dev?s=registry","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-08-15T06:22:11.816958Z","publishedAt":"2026-08-15T06:22:11.816958Z","registryName":"com.ainetcafe/netcafe-devkit"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"data.database","name":"Databases","confidence":1,"provenance":"derived"},{"slug":"documents.conversion","name":"Document Conversion","confidence":0.51,"provenance":"derived"}],"categories":["data","documents"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 17m ago.","lastOkAt":"2026-10-12T04:28:21.024Z","lastProbedAt":"2026-10-12T04:28:21.024Z","statusComputedAt":"2026-10-12T04:29:40.281Z","reliability30d":{"probes":64,"successRate":1,"p50Ms":708,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":64,"ok":64,"authBoundaryOk":0,"serviceOk":64,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-12T04:28:21.024Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":707,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"redact_text","description":"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 res"},{"name":"json_yaml","description":"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"},{"name":"validate_json","description":"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/fa"},{"name":"diff_text","description":"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 tw"},{"name":"jwt_decode","description":"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 resp"},{"name":"regex_test","description":"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 "},{"name":"transpile_sql","description":"Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, redshift, spark, hive, presto, trino, duckdb, "},{"name":"make_qr","description":"Any text or URL → a QR code PNG you can embed or download. Stateless URL form: https://ainetcafe.com/i/qr/<text>"},{"name":"json_format","description":"Validate and pretty-print JSON (2-space indent). Reports the error location if invalid."},{"name":"timezone_convert","description":"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)."},{"name":"unit_convert","description":"Convert units: length, weight, temperature, area, volume, speed, data size. value + from + to (e.g. 100 km mi, 25 c f)."},{"name":"sql_from_description","description":"Plain-language request + table schema → ready-to-run .sql file with comments."},{"name":"screenshot_url","description":"Full-page screenshot of any URL → PNG. The same job screenshot APIs charge $7-79/month for."}],"toolCount":14,"toolsHash":"83b442053a9e0c120793ea43633d44eeb5808a31bb460fe07891f212921a696f","serverName":"netcafe-devkit","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T22:22:56.096Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":688,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"redact_text","description":"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 res"},{"name":"json_yaml","description":"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"},{"name":"validate_json","description":"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/fa"},{"name":"diff_text","description":"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 tw"},{"name":"jwt_decode","description":"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 resp"},{"name":"regex_test","description":"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 "},{"name":"transpile_sql","description":"Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, redshift, spark, hive, presto, trino, duckdb, "},{"name":"make_qr","description":"Any text or URL → a QR code PNG you can embed or download. Stateless URL form: https://ainetcafe.com/i/qr/<text>"},{"name":"json_format","description":"Validate and pretty-print JSON (2-space indent). Reports the error location if invalid."},{"name":"timezone_convert","description":"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)."},{"name":"unit_convert","description":"Convert units: length, weight, temperature, area, volume, speed, data size. value + from + to (e.g. 100 km mi, 25 c f)."},{"name":"sql_from_description","description":"Plain-language request + table schema → ready-to-run .sql file with comments."},{"name":"screenshot_url","description":"Full-page screenshot of any URL → PNG. The same job screenshot APIs charge $7-79/month for."}],"toolCount":14,"toolsHash":"83b442053a9e0c120793ea43633d44eeb5808a31bb460fe07891f212921a696f","serverName":"netcafe-devkit","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T15:23:49.120Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":741,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"redact_text","description":"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 res"},{"name":"json_yaml","description":"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"},{"name":"validate_json","description":"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/fa"},{"name":"diff_text","description":"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 tw"},{"name":"jwt_decode","description":"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 resp"},{"name":"regex_test","description":"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 "},{"name":"transpile_sql","description":"Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, redshift, spark, hive, presto, trino, duckdb, "},{"name":"make_qr","description":"Any text or URL → a QR code PNG you can embed or download. Stateless URL form: https://ainetcafe.com/i/qr/<text>"},{"name":"json_format","description":"Validate and pretty-print JSON (2-space indent). Reports the error location if invalid."},{"name":"timezone_convert","description":"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)."},{"name":"unit_convert","description":"Convert units: length, weight, temperature, area, volume, speed, data size. value + from + to (e.g. 100 km mi, 25 c f)."},{"name":"sql_from_description","description":"Plain-language request + table schema → ready-to-run .sql file with comments."},{"name":"screenshot_url","description":"Full-page screenshot of any URL → PNG. The same job screenshot APIs charge $7-79/month for."}],"toolCount":14,"toolsHash":"83b442053a9e0c120793ea43633d44eeb5808a31bb460fe07891f212921a696f","serverName":"netcafe-devkit","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T09:26:19.676Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":686,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"redact_text","description":"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 res"},{"name":"json_yaml","description":"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"},{"name":"validate_json","description":"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/fa"},{"name":"diff_text","description":"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 tw"},{"name":"jwt_decode","description":"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 resp"},{"name":"regex_test","description":"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 "},{"name":"transpile_sql","description":"Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, redshift, spark, hive, presto, trino, duckdb, "},{"name":"make_qr","description":"Any text or URL → a QR code PNG you can embed or download. Stateless URL form: https://ainetcafe.com/i/qr/<text>"},{"name":"json_format","description":"Validate and pretty-print JSON (2-space indent). Reports the error location if invalid."},{"name":"timezone_convert","description":"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)."},{"name":"unit_convert","description":"Convert units: length, weight, temperature, area, volume, speed, data size. value + from + to (e.g. 100 km mi, 25 c f)."},{"name":"sql_from_description","description":"Plain-language request + table schema → ready-to-run .sql file with comments."},{"name":"screenshot_url","description":"Full-page screenshot of any URL → PNG. The same job screenshot APIs charge $7-79/month for."}],"toolCount":14,"toolsHash":"83b442053a9e0c120793ea43633d44eeb5808a31bb460fe07891f212921a696f","serverName":"netcafe-devkit","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-11T03:21:04.052Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":704,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"redact_text","description":"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 res"},{"name":"json_yaml","description":"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"},{"name":"validate_json","description":"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/fa"},{"name":"diff_text","description":"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 tw"},{"name":"jwt_decode","description":"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 resp"},{"name":"regex_test","description":"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 "},{"name":"transpile_sql","description":"Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, redshift, spark, hive, presto, trino, duckdb, "},{"name":"make_qr","description":"Any text or URL → a QR code PNG you can embed or download. Stateless URL form: https://ainetcafe.com/i/qr/<text>"},{"name":"json_format","description":"Validate and pretty-print JSON (2-space indent). Reports the error location if invalid."},{"name":"timezone_convert","description":"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)."},{"name":"unit_convert","description":"Convert units: length, weight, temperature, area, volume, speed, data size. value + from + to (e.g. 100 km mi, 25 c f)."},{"name":"sql_from_description","description":"Plain-language request + table schema → ready-to-run .sql file with comments."},{"name":"screenshot_url","description":"Full-page screenshot of any URL → PNG. The same job screenshot APIs charge $7-79/month for."}],"toolCount":14,"toolsHash":"83b442053a9e0c120793ea43633d44eeb5808a31bb460fe07891f212921a696f","serverName":"netcafe-devkit","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T20:28:53.758Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":718,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"redact_text","description":"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 res"},{"name":"json_yaml","description":"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"},{"name":"validate_json","description":"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/fa"},{"name":"diff_text","description":"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 tw"},{"name":"jwt_decode","description":"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 resp"},{"name":"regex_test","description":"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 "},{"name":"transpile_sql","description":"Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, redshift, spark, hive, presto, trino, duckdb, "},{"name":"make_qr","description":"Any text or URL → a QR code PNG you can embed or download. Stateless URL form: https://ainetcafe.com/i/qr/<text>"},{"name":"json_format","description":"Validate and pretty-print JSON (2-space indent). Reports the error location if invalid."},{"name":"timezone_convert","description":"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)."},{"name":"unit_convert","description":"Convert units: length, weight, temperature, area, volume, speed, data size. value + from + to (e.g. 100 km mi, 25 c f)."},{"name":"sql_from_description","description":"Plain-language request + table schema → ready-to-run .sql file with comments."},{"name":"screenshot_url","description":"Full-page screenshot of any URL → PNG. The same job screenshot APIs charge $7-79/month for."}],"toolCount":14,"toolsHash":"83b442053a9e0c120793ea43633d44eeb5808a31bb460fe07891f212921a696f","serverName":"netcafe-devkit","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T14:26:08.079Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":407,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"redact_text","description":"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 res"},{"name":"json_yaml","description":"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"},{"name":"validate_json","description":"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/fa"},{"name":"diff_text","description":"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 tw"},{"name":"jwt_decode","description":"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 resp"},{"name":"regex_test","description":"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 "},{"name":"transpile_sql","description":"Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, redshift, spark, hive, presto, trino, duckdb, "},{"name":"make_qr","description":"Any text or URL → a QR code PNG you can embed or download. Stateless URL form: https://ainetcafe.com/i/qr/<text>"},{"name":"json_format","description":"Validate and pretty-print JSON (2-space indent). Reports the error location if invalid."},{"name":"timezone_convert","description":"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)."},{"name":"unit_convert","description":"Convert units: length, weight, temperature, area, volume, speed, data size. value + from + to (e.g. 100 km mi, 25 c f)."},{"name":"sql_from_description","description":"Plain-language request + table schema → ready-to-run .sql file with comments."},{"name":"screenshot_url","description":"Full-page screenshot of any URL → PNG. The same job screenshot APIs charge $7-79/month for."}],"toolCount":14,"toolsHash":"83b442053a9e0c120793ea43633d44eeb5808a31bb460fe07891f212921a696f","serverName":"netcafe-devkit","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T07:23:29.299Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":695,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"redact_text","description":"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 res"},{"name":"json_yaml","description":"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"},{"name":"validate_json","description":"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/fa"},{"name":"diff_text","description":"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 tw"},{"name":"jwt_decode","description":"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 resp"},{"name":"regex_test","description":"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 "},{"name":"transpile_sql","description":"Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, redshift, spark, hive, presto, trino, duckdb, "},{"name":"make_qr","description":"Any text or URL → a QR code PNG you can embed or download. Stateless URL form: https://ainetcafe.com/i/qr/<text>"},{"name":"json_format","description":"Validate and pretty-print JSON (2-space indent). Reports the error location if invalid."},{"name":"timezone_convert","description":"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)."},{"name":"unit_convert","description":"Convert units: length, weight, temperature, area, volume, speed, data size. value + from + to (e.g. 100 km mi, 25 c f)."},{"name":"sql_from_description","description":"Plain-language request + table schema → ready-to-run .sql file with comments."},{"name":"screenshot_url","description":"Full-page screenshot of any URL → PNG. The same job screenshot APIs charge $7-79/month for."}],"toolCount":14,"toolsHash":"83b442053a9e0c120793ea43633d44eeb5808a31bb460fe07891f212921a696f","serverName":"netcafe-devkit","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-10T00:28:38.313Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":721,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"redact_text","description":"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 res"},{"name":"json_yaml","description":"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"},{"name":"validate_json","description":"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/fa"},{"name":"diff_text","description":"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 tw"},{"name":"jwt_decode","description":"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 resp"},{"name":"regex_test","description":"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 "},{"name":"transpile_sql","description":"Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, redshift, spark, hive, presto, trino, duckdb, "},{"name":"make_qr","description":"Any text or URL → a QR code PNG you can embed or download. Stateless URL form: https://ainetcafe.com/i/qr/<text>"},{"name":"json_format","description":"Validate and pretty-print JSON (2-space indent). Reports the error location if invalid."},{"name":"timezone_convert","description":"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)."},{"name":"unit_convert","description":"Convert units: length, weight, temperature, area, volume, speed, data size. value + from + to (e.g. 100 km mi, 25 c f)."},{"name":"sql_from_description","description":"Plain-language request + table schema → ready-to-run .sql file with comments."},{"name":"screenshot_url","description":"Full-page screenshot of any URL → PNG. The same job screenshot APIs charge $7-79/month for."}],"toolCount":14,"toolsHash":"83b442053a9e0c120793ea43633d44eeb5808a31bb460fe07891f212921a696f","serverName":"netcafe-devkit","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T17:27:27.061Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":700,"error":null,"detail":{"tools":[{"name":"what_can_you_do","description":"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"},{"name":"redact_text","description":"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 res"},{"name":"json_yaml","description":"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"},{"name":"validate_json","description":"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/fa"},{"name":"diff_text","description":"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 tw"},{"name":"jwt_decode","description":"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 resp"},{"name":"regex_test","description":"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 "},{"name":"transpile_sql","description":"Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, redshift, spark, hive, presto, trino, duckdb, "},{"name":"make_qr","description":"Any text or URL → a QR code PNG you can embed or download. Stateless URL form: https://ainetcafe.com/i/qr/<text>"},{"name":"json_format","description":"Validate and pretty-print JSON (2-space indent). Reports the error location if invalid."},{"name":"timezone_convert","description":"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)."},{"name":"unit_convert","description":"Convert units: length, weight, temperature, area, volume, speed, data size. value + from + to (e.g. 100 km mi, 25 c f)."},{"name":"sql_from_description","description":"Plain-language request + table schema → ready-to-run .sql file with comments."},{"name":"screenshot_url","description":"Full-page screenshot of any URL → PNG. The same job screenshot APIs charge $7-79/month for."}],"toolCount":14,"toolsHash":"83b442053a9e0c120793ea43633d44eeb5808a31bb460fe07891f212921a696f","serverName":"netcafe-devkit","capabilities":["tools"],"serverVersion":"1.5.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"what_can_you_do","description":"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"},{"name":"redact_text","description":"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 res"},{"name":"json_yaml","description":"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"},{"name":"validate_json","description":"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/fa"},{"name":"diff_text","description":"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 tw"},{"name":"jwt_decode","description":"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 resp"},{"name":"regex_test","description":"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 "},{"name":"transpile_sql","description":"Convert a SQL statement from one dialect to another — mysql, postgres, sqlite, tsql, oracle, snowflake, bigquery, redshift, spark, hive, presto, trino, duckdb, "},{"name":"make_qr","description":"Any text or URL → a QR code PNG you can embed or download. Stateless URL form: https://ainetcafe.com/i/qr/<text>"},{"name":"json_format","description":"Validate and pretty-print JSON (2-space indent). Reports the error location if invalid."},{"name":"timezone_convert","description":"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)."},{"name":"unit_convert","description":"Convert units: length, weight, temperature, area, volume, speed, data size. value + from + to (e.g. 100 km mi, 25 c f)."},{"name":"sql_from_description","description":"Plain-language request + table schema → ready-to-run .sql file with comments."},{"name":"screenshot_url","description":"Full-page screenshot of any URL → PNG. The same job screenshot APIs charge $7-79/month for."}],"package":null,"toolSurface":{"id":"ts_bkzv6dvdj647","endpointId":"ep_eazn6c77qbhb","hash":"83b442053a9e0c120793ea43633d44eeb5808a31bb460fe07891f212921a696f","toolCount":14,"serverName":"netcafe-devkit","serverVersion":"1.5.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-12T10:26:13.112Z","lastSeenAt":"2026-10-12T04:28:21.036Z","observations":110,"toolNames":["what_can_you_do","redact_text","json_yaml","validate_json","diff_text","jwt_decode","regex_test","transpile_sql","make_qr","json_format","timezone_convert","unit_convert","sql_from_description","screenshot_url"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_eazn6c77qbhb","url":"https://ainetcafe.com/mcp/dev?s=registry","type":"mcp_streamable_http","factsCheckedAt":"2026-10-10T07:23:29.301Z","auth":{"observedAt":"2026-10-10T07:23:29.995Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-10T07:23:30.007Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"ainetcafe.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-26T08:50:57.000Z","validTo":"2026-12-25T09:50:52.000Z","daysToExpiry":74,"sanCount":2,"fingerprint256":"D1:F1:90:2A:DA:17:E5:60:5F:31:A1:FC:D9:AA:ED:DF:9F:FF:48:77:11:DF:1A:BD:24:3B:42:37:35:87:91:13"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.ainetcafe/netcafe-devkit","url":"https://registry.modelcontextprotocol.io/v0/servers/com.ainetcafe%2Fnetcafe-devkit","firstSeenAt":"2026-09-05T16:18:53.207Z","fetchedAt":"2026-10-12T00:22:19.934Z","normalizedAt":"2026-10-12T00:22:19.934Z"}]},"firstSeenAt":"2026-09-05T16:18:53.207Z","updatedAt":"2026-10-12T04:30:50.332Z"}