mcpField
R
regexcronsql-validator

regexcronsql-validator

リモート
github.com/encodi開発ツール011 週間前に更新
リポジトリ

regexcronsql-validator について

正規表現、cron 式、PostgreSQL 方言の SQL を実行して検証するリモート MCP サーバーです。SQL はインメモリのテストテーブルで実行され、各呼び出しはステートレスで x402 による USDC 決済が必要です。

主な機能

  1. 01サンプル文字列で JavaScript 正規表現を実行
  2. 02cron 式の次回実行時刻を計算
  3. 03PostgreSQL 方言の SQL をメモリ上で実行
  4. 04x402 による呼び出し単位の課金

活用シーン

  1. 01入力例を使った正規表現の確認
  2. 02cron 式の次回実行時刻の確認
  3. 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/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

regexcronsql-validator

Cloudflare Workers 上的リモート MCP サーバー(テンプレート remote-mcp-authless)で、LLM がどう動作すると考えているかではなく、実際に実行して検証する 2 つのツールを備えています。

  • validar_regex — ネイティブの JS RegExp でパターンを文字列のリストに対して実行します。
  • 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 が開きます。そこで次の操作をします。

  1. Transport type:Streamable HTTP。
  2. URL:http://localhost:8787/mcp。
  3. Connect → Tools タブ → List Tools を選ぶと、スキーマとともに validar_regex、validar_cron、validar_sql が表示されます。
  4. ツールを選び、入力を記入して 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を参照してください)。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。