Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Verify Spanish companies by CIF: registry data, status and BORME filings, paid per call over x402.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
ウェブ、デスクトップ、モバイルのClaudeで使えます:
https://mcp.veridexia.es/mcpターミナルでこれを実行します
claude mcp add --transport http veridex https://mcp.veridexia.es/mcpプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"veridex": {
"url": "https://mcp.veridexia.es/mcp"
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"veridex": {
"type": "http",
"url": "https://mcp.veridexia.es/mcp"
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
ChatGPTがつなげるのは、インターネット上のサーバーだけです:
https://mcp.veridexia.es/mcpメニューの名前は、プランや時期によって少し違うことがあります。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
このサーバーのツール一覧はまだ読み取っていません。エンドポイントは順番にチェックしています。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
公開者(veridexia.es)がリポジトリの所有者(Habib4862)ではありません。別の人が登録した可能性があります
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
まだチェックしていません。エンドポイントは順番にチェックしています
まだチェックしていません。エンドポイントは順番にチェックしています
まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち0項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
作者のクラウドで動きます。インストール不要でインターネット経由でつながりますが、送った内容は作者のサーバーを通ります。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.1)がレジストリに届いたのは31 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Date Math
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Date/time math for agents: business days, holidays, time zones, cron, RRULE. 25 free calls/day.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Servidor MCP (Model Context Protocol) para VERIDEX: verificación de empresas españolas por CIF contra el BORME, con puntuación de riesgo explicable y el ciclo de pago x402 resuelto paso a paso.
Una vez configurado, cualquier agente (Claude Desktop, Cursor, VS Code, Claude Code…) puede descubrir y usar la verificación sin que tú escribas una línea de HTTP.
Agente ──MCP (stdio)──▶ veridex-mcp ──HTTPS──▶ https://api.veridexia.es/v1/verify
│ └── no firma pagos: entrega el reto x402 y espera un X-PAYMENT que produzca una wallet tuya
Es un cliente MCP fino sobre la API pública de VERIDEX: tres herramientas, tipos explícitos, errores tipados y el reto de pago x402 decodificado para que el agente sepa exactamente cuánto cuesta, en qué red, en qué activo y a qué dirección.
No es una wallet. Este servidor no firma, no custodia claves y no envía transacciones. No puede pagar por ti — y eso es deliberado: un servidor MCP que pudiera mover fondos en nombre del usuario sería una wallet sin dueño. Lo que hace es entregar al agente una petición de pago completa y exacta, y dejar que la settle una wallet que tú controlas.
Tampoco modifica la API: es un consumidor puro de api.veridexia.es.
| Herramienta | Argumentos | Coste | Qué devuelve |
|---|---|---|---|
verify_company_by_cif | cif (obligatorio), x_payment, idempotency_key | 0,20 USDC (primera llamada devuelve 402) | Datos registrales, situación en el BORME, actos recientes y scoring 0–100 explicable |
get_veridex_info | — | Gratis | Precio, red, activo, dirección de cobro y endpoints, leídos de /.well-known/x402 |
health_check | — | Gratis | Estado de la API, uptime y demanda de hoy (peticiones y agentes únicos) |
verify_company_by_cif// Entrada
{ "cif": "A58818501", "x_payment": null, "idempotency_key": null }
// Salida (ok = true) { "ok": true, "cif": "A58818501", "company": { "cif": "A58818501", "name": "…", "legal_form": "Sociedad Anónima", "status": "active", "status_label": "Activa sin incidencias", "province": "Málaga", "incorporation_date": "2015-10-02", "last_borme_deposit": "2025-08-09", "administrator": "…", "share_capital_cents": 4500000, "insolvency_published_on": null }, "risk": { "value": 15, // 0 = más seguro, 100 = más arriesgado "band": "low", // low | medium | high | critical "reasons": ["…"], "signals": [{ "code": "status_active", "points": 15, "description": "…" }], "confidence": "high", "assurance": "high", // cuánto se SABE, no cuánto de malo es "conclusive": true }, "recent_acts": [{ "date": "2026-08-28", "section": "Sección Primera", "description": "…" }], "mock": false, "provenance": { "source": "prometiam", "fetched_at": "…", "from_cache": false, "confidence": "high" }, "payment": null, "error": null, "guidance": "" }
risk.assurance es el campo que más se malinterpreta: assurance: "none" con value: 0 significa *no sabemos nada de esta empresa*, no *esta empresa es segura*. El servidor lo dice explícitamente en guidance cuando ocurre.
Requiere Python 3.10+.
pip install -e mcp-server
Eso instala el paquete veridex-mcp en modo editable junto con sus dependencias (mcp>=1.9,<2 y httpx), y deja disponible el ejecutable veridex-mcp.
Comprueba que arranca:
veridex-mcp --version
python -m veridex_mcp --version # equivalente, más portable en Windows
Windows: si el host lanza el servidor con un intérprete concreto, usa
python -m veridex_mcpcon la ruta completa al Python del entorno virtual. Es la
forma más fiable de que el proceso correcto arranque.
| Variable | Por defecto | Para qué |
|---|---|---|
VERIDEX_API_URL | https://api.veridexia.es | Apuntar a un backend local o a un despliegue propio |
VERIDEX_API_KEY | *(sin definir)* | Reservado para un tier premium futuro. No es necesario: el endpoint de pago no pide credenciales, el pago *es* la credencial |
VERIDEX_TIMEOUT_SECONDS | 30 | Timeout de cada petición HTTP |
Edita el fichero de configuración:
%APPDATA%\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json~/.config/Claude/claude_desktop_config.json{
"mcpServers": { "veridex": { "command": "python", "args": ["-m", "veridex_mcp"], "env": { "VERIDEX_API_URL": "https://api.veridexia.es", "VERIDEX_TIMEOUT_SECONDS": "30" } } } }
Si prefieres el ejecutable instalado en lugar del módulo:
{
"mcpServers": { "veridex": { "command": "veridex-mcp", "args": [], "env": { "VERIDEX_TIMEOUT_SECONDS": "30" } } } }
Cierra Claude Desktop por completo (icono de bandeja incluido) y vuelve a abrirlo. Los servidores MCP se lanzan al arrancar; el icono de herramientas aparecerá junto al cuadro de texto. Hay un ejemplo listo para copiar en el fichero claude_desktop_config.json, en la raíz del paquete.
Configuración global en ~/.cursor/mcp.json, o por proyecto en .cursor/mcp.json:
{
"mcpServers": { "veridex": { "command": "python", "args": ["-m", "veridex_mcp"] } } }
VS Code 1.102+ usa .vscode/mcp.json (la clave es servers, no mcpServers):
{
"servers": { "veridex": { "type": "stdio", "command": "python", "args": ["-m", "veridex_mcp"] } } }
También puedes ejecutarlo desde la paleta de comandos con MCP: Add Server. Comprueba con veridex-mcp --transport streamable-http y el MCP Inspector si quieres ver las herramientas sin un agente de por medio.
x402 es un protocolo de pago sobre HTTP: en lugar de una API key, se paga por petición. La primera llamada a un recurso de pago devuelve HTTP 402 Payment Required con un *reto* que describe exactamente cuánto, dónde y en qué activo. Se settle ese reto con una wallet, se repite la petición con el resultado en la cabecera X-PAYMENT, y el recurso responde con el contenido.
Con este servidor MCP el flujo tiene cuatro pasos:
Llama a get_veridex_info, que lee https://api.veridexia.es/.well-known/x402. Obtiene:
{
"network": "base", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "asset_symbol": "USDC", "asset_decimals": 6, "pay_to": "0x2bDc11AEB751EC845aE5fED5bbf7c73BF6D0C4E3", "price": "0.20 USDC" }
verify_company_by_cif sin pagoLa API responde 402:
POST /v1/verify HTTP/1.1
Host: api.veridexia.es Content-Type: application/json
{"cif": "A58818501"}
HTTP/1.1 402 Payment Required
X-PAYMENT-REQUIRED: eyJ4NDAyVmVyc2lvbiI6MSwiYWNjZXB0cyI6W3… ← reto en base64 Content-Type: application/json
{ "error": "payment_required", "detail": "payment required: retry with the X-PAYMENT header", "price_eur_cents": 20, "amount_atomic": 200000, "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "network": "base", "pay_to": "0x2bDc11AEB751EC845aE5fED5bbf7c73BF6D0C4E3", "accepts": [{ "scheme": "exact", "network": "base", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "payTo": "0x2bDc11AEB751EC845aE5fED5bbf7c73BF6D0C4E3", "maxAmountRequired": "200000", "resource": "/v1/verify", "description": "Verificación de empresa española por CIF", "mimeType": "application/json", "maxTimeoutSeconds": 300 }] }
200000 con 6 decimales son 0,20 USDC.
No es un error. Es la primera mitad del ciclo, y el servidor la devuelve como resultado normal (ok: false) con el campo payment completo, no como una excepción:
{
"ok": false, "cif": "A58818501", "payment": { "x402_version": 1, "scheme": "exact", "network": "base", "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "pay_to": "0x2bDc11AEB751EC845aE5fED5bbf7c73BF6D0C4E3", "amount_atomic": 200000, "price_eur_cents": 20, "resource": "/v1/verify", "max_timeout_seconds": 300, "accepts": [/* … */], "payment_header": "X-PAYMENT", "payment_required_header_value": "eyJ4NDAyVmVyc2lvbiI6MSwiYWNjZXB0cyI6W3…", "instructions": "Payment required: 200000 atomic units of 0x8335… on base to 0x2bDc… This MCP server cannot sign or send payments. Have a wallet you control build an x402 payload for this exact challenge, then call verify_company_by_cif again with the same cif and the payload in the 'x_payment' argument (sent as the X-PAYMENT header)." }, "error": { "code": "payment_required", "http_status": 402, "retryable": false } }
Reintentar en bucle no sirve de nada: el reto es idéntico en cada intento. Por eso retryable es false.
Aquí es donde entra el dinero, y donde este servidor se aparta a propósito. La wallet (la de tu usuario, o el proveedor x402 que uses) construye un payload de pago firmado para ese reto exacto — misma red, mismo activo, misma dirección, mismo importe — y lo serializa en base64.
// Lo que la wallet produce (esquema "exact" sobre Base):
{ "x402Version": 1, "scheme": "exact", "network": "base", "payload": { "signature": "0x…", "authorization": { /* … */ } } } // ↓ base64 // "eyJ4NDAyVmVyc2lvbiI6MSwic2NoZW1lIjoiZXhhY3QiLCJuZXR3b3JrIjoiYmFzZSIsInBheWxvYWQiOnsi…"
Misma herramienta, mismo CIF, y el payload base64 en x_payment:
{
"cif": "A58818501", "x_payment": "eyJ4NDAyVmVyc2lvbiI6MSwic2NoZW1lIjoiZXhhY3Qi…", "idempotency_key": "verif-A58818501-2026-10-04" }
El servidor lo envía como cabecera:
POST /v1/verify HTTP/1.1
Content-Type: application/json X-PAYMENT: eyJ4NDAyVmVyc2lvbiI6MSwic2NoZW1lIjoiZXhhY3Qi… Idempotency-Key: verif-A58818501-2026-10-04
{"cif": "A58818501"}
Y ahora sí:
{ "ok": true, "company": { "name": "…", "status": "active", "…": "…" },
"risk": { "value": 15, "band": "low", "…": "…" }, "recent_acts": [/* … */] }
`idempotency_key` merece la pena. Si la conexión se cae justo después de enviar el pago, reutilizar la misma clave hace que el reintento devuelva el resultado original en lugar de cobrar dos veces.
Alternativa sin agente de por medio: el mismo ciclo con
curl, útil para depurar:
`bash
# 2. El reto
curl -sS -X POST https://api.veridexia.es/v1/verify \
-H 'Content-Type: application/json' -d '{"cif":"A58818501"}'
# 4. Con el pago
curl -sS -X POST https://api.veridexia.es/v1/verify \
-H 'Content-Type: application/json' \
-H "X-PAYMENT: $X_PAYMENT" \
-d '{"cif":"A58818501"}'
`
| Situación | ¿Se cobra? |
|---|---|
Empresa encontrada (200) | Sí |
CIF con formato válido pero sin registro (404) | No — se resuelve antes de cobrar |
Fuente de datos caída (503) | No — el reintento es gratis |
CIF mal formado (422) | No — se rechaza antes de ninguna búsqueda |
Falta el pago o es inválido (402) | No (todavía) |
Con la configuración de arriba y Claude Desktop reiniciado, una conversación real:
Tú: Verifica la empresa con CIF A58818501 y dime si tiene riesgo.
Claude llama a la herramienta y recibe el 402:
Claude: La verificación cuesta 0,20 USDC en la red **Bas
冒頭だけを表示しています。続きはリポジトリで読めます