regexcronsql-validator について
正規表現、cron 式、PostgreSQL 方言の SQL を実行して検証するリモート MCP サーバーです。SQL はインメモリのテストテーブルで実行され、各呼び出しはステートレスで x402 による USDC 決済が必要です。
主な機能
- 01サンプル文字列で JavaScript 正規表現を実行
- 02cron 式の次回実行時刻を計算
- 03PostgreSQL 方言の SQL をメモリ上で実行
- 04x402 による呼び出し単位の課金
活用シーン
- 01入力例を使った正規表現の確認
- 02cron 式の次回実行時刻の確認
- 03サンプルテーブルを使った SQL 結果の検証
MCP 対応
Streamable HTTP 経由で `validar_regex`、`validar_cron`、`validar_sql` を MCP ツールとして公開します。呼び出しには Base mainnet の USDC による x402 決済が必要で、支払い情報は MCP JSON-RPC のメタデータに含まれます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://regexcronsql-validator.encodari.workers.dev/mcpclaude mcp add --transport http encodi-regexcronsql-validator https://regexcronsql-validator.encodari.workers.dev/mcp{"mcpServers":{"encodi-regexcronsql-validator":{"type":"http","url":"https://regexcronsql-validator.encodari.workers.dev/mcp"}}}Cursor で開く{"servers":{"encodi-regexcronsql-validator":{"type":"http","url":"https://regexcronsql-validator.encodari.workers.dev/mcp"}}}VS Code で開く{"mcpServers":{"encodi-regexcronsql-validator":{"type":"http","url":"https://regexcronsql-validator.encodari.workers.dev/mcp"}}}{"mcpServers":{"encodi-regexcronsql-validator":{"serverUrl":"https://regexcronsql-validator.encodari.workers.dev/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
regexcronsql-validator
Cloudflare Workers 上的リモート MCP サーバー(テンプレート remote-mcp-authless)で、LLM がどう動作すると考えているかではなく、実際に実行して検証する 2 つのツールを備えています。
validar_regex— ネイティブの JSRegExpでパターンを文字列のリストに対して実行します。validar_cron—cron-parserで cron 式の実際の次回実行時刻を計算します。validar_sql—pg-memを使って、メモリ上のテストテーブルに対して SQL クエリ(Postgres 方言)を実行し、実際に返された行を返します。
データベースも永続状態もありません。呼び出しごとに新しい McpServer を作成し(src/index.ts の createServer() を参照)、自己完結しています。validar_sql のテストテーブルも同様で、呼び出しごとに一から作成され(メモリ上の pg-mem)、終了時に破棄されます。
課金(x402)
3 つのツールはすべて、x402 経由で呼び出しごとに課金されます。Base mainnet 上の実際の USDC による支払いで、API key は不要です。公開 facilitator x402.org/facilitator を使用します。支払いは HTTP ヘッダーではなく、MCP の JSON-RPC 自体(_meta)に含まれます。src/payments.ts を参照してください。
| Tool | 価格 |
|---|---|
validar_regex | $0.02 USDC |
validar_cron | $0.02 USDC |
validar_sql | $0.04 USDC |
支払いなしの tools/call は、例外を説明なしで返すのではなく、クライアントが支払いと再試行に必要とする accepts(ネットワーク、金額、payTo)を含む isError: true を返します。独自のウォレットを持つ x402 対応 MCP クライアント(例:@x402/mcp の createX402MCPClient)は、支払いに署名して自動的に添付します。エンドツーエンドでテストするには、Base mainnet 上に実際の資金があるウォレットとその秘密鍵が必要ですが、このリポジトリはそれらを扱わず、要求もしません。
構成
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.ts
scripts/
dev-node.ts # servidor de dev que corre el handler en Node puro, sin wrangler
ローカルで実行する
⚠️ wrangler dev に関する注意:Cloudflare Workers の実際のランタイム(workerd)には macOS 13.5 以降が必要です。Mac のバージョンがそれより古い場合、wrangler dev(および npm run dev)は Unsupported macOS version で失敗します。その場合に備えて、このプロジェクトには純粋な Node の shim が用意されており、workerd を必要とせずにまったく同じ fetch() handler を実行できます。
1. 依存関係をインストールする
npm install
2. 単体テストを実行する
npm test
3a. wrangler dev が動作する場合(macOS 13.5 以降、Linux、Windows)
npm run dev
http://localhost:8787/mcp で起動します。
3b. macOS のバージョンが原因で wrangler dev が失敗する場合
npm run dev:node
同じ handler を http://localhost:8787/mcp で起動しますが、Node で直接実行します(watch mode 付きの tsx を使用)。これが安全である理由については、scripts/dev-node.ts のコメントを参照してください(handler は KV や Durable Objects などの Cloudflare bindings を使用しません)。
4. curl でテストする
トランスポートは MCP の「Streamable HTTP」です。すべて /mcp への POST で JSON-RPC として送信します。
# 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 tool
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":2,"method":"tools/list","params":{}}'
# 3) tools/call — validar_regex
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":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_cron
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":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_sql
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":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}]}]}}}'
応答は Server-Sent Events(event: message の行と data: {...})として返されます。data: は通常の JSON-RPC 応答です。
5. MCP Inspector でテストする(curl より簡単です)
npx @modelcontextprotocol/inspector
ブラウザーで UI が開きます。そこで次の操作をします。
- Transport type:
Streamable HTTP。 - URL:
http://localhost:8787/mcp。 - Connect → Tools タブ →
List Toolsを選ぶと、スキーマとともにvalidar_regex、validar_cron、validar_sqlが表示されます。 - ツールを選び、入力を記入して
Run Toolをクリックすると、実際の結果が表示されます。
デプロイと掲載先
https://regexcronsql-validator.encodari.workers.dev/mcp(Cloudflare Workers)にデプロイされています。MCP の公式レジストリ、Smithery、mcp.soに掲載されており、awesome-mcp-serversには PR を提出しています。
コードの変更のほとんどは npm run deploy だけで反映できます。価格、説明、またはサーバーの URL を変更しない限り、掲載先への再公開は不要です。詳細と今後の改善計画については、ROADMAP.mdを参照してください。
利用状況の確認方法
- 実際の支払い: BaseScanで支払い用ウォレットの USDC 残高を確認できます。x402 で決済された各支払いがここに表示されます。
- トラフィック(有料・無料を問わず): Cloudflare ダッシュボード → Workers & Pages →
regexcronsql-validator→ Metrics。 - Smithery: サーバーごとの統計ページがあります。
現時点でできないこと
- Base mainnet で実際のお金を使って課金します。開発中にテストネット(Base Sepolia、
eip155:84532)に戻すには、src/payments.tsのNETWORKを変更してください。 - データベースはなく、呼び出し間で状態を永続化しません(支払い設定を除く。この設定は isolate ごとにメモリ内にキャッシュされます。
src/payments.tsを参照してください)。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。