regexcronsql-validator

io.github.encodi由 GitHub 帳號 encodi 發布v1.0.0更新於 Oct 24, 2026

Valida regex, cron y SQL contra ejecucion real. Pago por llamada via x402/USDC.

已驗證Streamable HTTP可網頁執行資料庫開發者工具

概覽

AI 產生的概覽

遠端 MCP 伺服器,透過實際執行來驗證正規表達式、cron 表達式與 Postgres SQL,每次呼叫收取少量 USDC 費用。

可以做什麼
用一組測試字串執行 JavaScript 正規表達式,查看哪些符合、哪些不符合。從指定日期起計算 cron 表達式接下來真實的執行時間。在你提供的記憶體測試資料表上執行 Postgres 方言的 SQL 查詢並回傳結果列。每次呼叫都是自足的:沒有資料庫、沒有持久狀態,測試資料表每次都會重建並在結束後丟棄。
適用情境
適合讓助理用真實執行而不是猜測來檢查正規表達式、cron 排程或 SQL 查詢,例如在交付某個樣式或查詢之前。最適合偶爾的一次性檢查,且可接受按次付費。
執行需求
一個遠端 Streamable HTTP 端點;不需要 API 金鑰或帳號。每次工具呼叫都必須透過 x402 在 Base 主網上用 USDC 支付,因此用戶端需要支援 x402 的 MCP 用戶端,並自備已儲值的錢包和用於簽章的私鑰。
安裝前請注意
每次工具呼叫都會在 Base 主網上花費真實的 USDC(每次約 0.02 至 0.04 美元),未付款的呼叫會回傳附有付款資訊的錯誤而不是結果。付款需要用戶端持有真實資金的錢包及其私鑰。SQL 查詢只在你提供的記憶體測試資料表上執行,不會接觸你自己的資料庫。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 regexcronsql-validator,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.encodi%2Fregexcronsql-validator/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "regexcronsql-validator": {
      "type": "http",
      "url": "https://regexcronsql-validator.encodari.workers.dev/mcp"
    }
  }
}

README

regexcronsql-validator

Servidor MCP remoto (Cloudflare Workers, template remote-mcp-authless) con dos tools que validan contra ejecución real, no contra lo que un LLM cree que hacen:

  • validar_regex — corre el patrón con RegExp nativo de JS contra una lista de strings.
  • validar_cron — calcula las próximas ejecuciones reales de una expresión cron con cron-parser.
  • validar_sql — ejecuta una consulta SQL (dialecto Postgres) contra tablas de prueba en memoria con pg-mem y devuelve las filas reales resultantes.

Sin base de datos, sin estado persistente: cada llamada crea un McpServer nuevo (ver createServer() en src/index.ts) y es autocontenida — para validar_sql esto también aplica a las tablas de prueba: se crean desde cero en cada llamada (pg-mem en memoria) y se descartan al terminar.

Cobro (x402)

Las tres tools cobran por llamada vía x402 — pago en USDC real sobre Base mainnet, sin API key, contra el facilitator público x402.org/facilitator. El pago viaja dentro del propio JSON-RPC de MCP (_meta), no como header HTTP; ver src/payments.ts.

ToolPrecio
validar_regex$0.02 USDC
validar_cron$0.02 USDC
validar_sql$0.04 USDC

Un tools/call sin pago devuelve isError: true con los accepts (red, monto, payTo) que el cliente necesita para pagar y reintentar — no una excepción sin explicar. Un cliente MCP x402-aware con wallet propia (ej. createX402MCPClient de @x402/mcp) firma el pago y lo adjunta automáticamente; probarlo end-to-end requiere una wallet con fondos reales en Base mainnet y su clave privada, algo que este repo no maneja ni pide.

Estructura

src/  index.ts        # registra las tools en el McpServer y expone el handler HTTP MCP  tools/    regex.ts      # lógica pura de validar_regex (testeable sin Workers)    regex.test.ts    cron.ts       # lógica pura de validar_cron (testeable sin Workers)    cron.test.ts    sql.ts        # lógica pura de validar_sql (testeable sin Workers)    sql.test.tsscripts/  dev-node.ts     # servidor de dev que corre el handler en Node puro, sin wrangler

Correrlo local

⚠️ Nota sobre wrangler dev: el runtime real de Cloudflare Workers (workerd) requiere macOS 13.5+. Si tu Mac tiene una versión más vieja, wrangler dev (y npm run dev) van a fallar con Unsupported macOS version. Para ese caso este proyecto trae un shim en Node puro que corre exactamente el mismo fetch() handler sin necesitar workerd.

1. Instalar dependencias

bash
npm install

2. Correr los tests unitarios

bash
npm test

3a. Si tu wrangler dev funciona (macOS 13.5+, Linux, Windows)

bash
npm run dev

Levanta en http://localhost:8787/mcp.

3b. Si wrangler dev falla por versión de macOS

bash
npm run dev:node

Levanta el mismo handler en http://localhost:8787/mcp pero corriendo en Node directo (usa tsx, con watch mode). Ver el comentario en scripts/dev-node.ts para el detalle de por qué esto es seguro (el handler no usa bindings de Cloudflare como KV o Durable Objects).

4. Probar con curl

El transporte es MCP "Streamable HTTP": todo entra por POST a /mcp como JSON-RPC.

bash
# 1) initialize (obligatorio primero en la mayoría de los clientes)curl -s -X POST http://localhost:8787/mcp \  -H "Content-Type: application/json" \  -H "Accept: application/json, text/event-stream" \  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl-test","version":"0.0.1"}}}'
# 2) tools/list — ver el JSON Schema real que expone cada toolcurl -s -X POST http://localhost:8787/mcp \  -H "Content-Type: application/json" \  -H "Accept: application/json, text/event-stream" \  -d '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
# 3) tools/call — validar_regexcurl -s -X POST http://localhost:8787/mcp \  -H "Content-Type: application/json" \  -H "Accept: application/json, text/event-stream" \  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"validar_regex","arguments":{"pattern":"^[0-9]{3}-[0-9]{4}$","test_strings":["555-1234","abc-1234"]}}}'
# 4) tools/call — validar_croncurl -s -X POST http://localhost:8787/mcp \  -H "Content-Type: application/json" \  -H "Accept: application/json, text/event-stream" \  -d '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"validar_cron","arguments":{"cron_expression":"0 9 * * 1-5","from_date":"2026-08-07T00:00:00Z","count":5}}}'
# 5) tools/call — validar_sqlcurl -s -X POST http://localhost:8787/mcp \  -H "Content-Type: application/json" \  -H "Accept: application/json, text/event-stream" \  -d '{"jsonrpc":"2.0","id":5,"method":"tools/call","params":{"name":"validar_sql","arguments":{"query":"SELECT nombre, monto FROM ventas WHERE monto > 100 ORDER BY monto DESC","tables":[{"name":"ventas","rows":[{"id":1,"nombre":"Ana","monto":150.5},{"id":2,"nombre":"Luis","monto":42}]}]}}}'

Las respuestas vienen como Server-Sent Events (una línea event: message + data: {...}); el data: es la respuesta JSON-RPC de siempre.

5. Probar con MCP Inspector (más cómodo que curl)

bash
npx @modelcontextprotocol/inspector

Abre una UI en el navegador. Ahí:

  1. Transport type: Streamable HTTP.
  2. URL: http://localhost:8787/mcp.
  3. Connect → pestaña Tools → List Tools → deberías ver validar_regex, validar_cron y validar_sql con sus schemas.
  4. Elegí una tool, completá los inputs y Run Tool para ver el resultado real.

Deploy y listados

Desplegado en https://regexcronsql-validator.encodari.workers.dev/mcp (Cloudflare Workers). Publicado en el registry oficial de MCP, Smithery, mcp.so y con PR abierto a awesome-mcp-servers.

La mayoría de los cambios de código son solo npm run deploy — no hace falta re-publicar en los listados salvo que cambie el precio, la descripción, o la URL del servidor. Ver ROADMAP.md para el detalle y el plan de mejoras a futuro.

Cómo ver si se está usando

  • Pagos reales: balance de USDC de la wallet de cobro en BaseScan — cada pago liquidado por x402 aparece ahí.
  • Tráfico (pagado o no): dashboard de Cloudflare → Workers & Pages → regexcronsql-validator → Metrics.
  • Smithery: tiene su propia página de stats por servidor.

Qué NO hace (todavía)

  • Cobra en Base mainnet con dinero real. Para volver a testnet (Base Sepolia, eip155:84532) durante desarrollo, cambiá NETWORK en src/payments.ts.
  • No tiene base de datos ni estado persistente entre llamadas (más allá de la config de cobro, cacheada en memoria por isolate — ver src/payments.ts).

來源:README.md,提交 65ca16b

工具

0
SourceWeft 尚未讀取此伺服器的工具。

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分