VERIDEX

Verify Spanish companies by CIF: registry data, status and BORME filings, paid per call over x402.

사용해야 할까요

품질 및 안전성

B
설명 품질
100%
스키마 완전성
42%
이름 품질
93%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~3,218토큰 (도구 정의)
~11.5 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.51%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "veridex-mcp": {
      "url": "https://mcp.veridexia.es/mcp"
    }
  }
}

원격 엔드포인트

https://mcp.veridexia.es/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (3)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢verify_company_by_cif(cif, x_payment, idempotency_key)

Verify a Spanish company by its CIF and get its registry data, status in the BORME, recent published acts and an explainable 0-100 risk score. This is an x402-paid endpoint. The first call returns ok=false with error.code='payment_required' and a complete `payment` challenge (price, network, asset, receiving address). Settle that challenge with a wallet you control and call again with the resulting base64 payload in `x_payment`; the same call then returns the company. Errors are typed: 'not_found' (valid CIF, no record — you are not charged), 'source_unavailable' (upstream registry down — not charged, safe to retry), 'invalid_request' (malformed CIF), 'rate_limited' (quota), 'transport_error' (the API was unreachable). Do not retry a 402 without changing the payment.

입력 스키마

{
  "type": "object",
  "properties": {
    "cif": {
      "title": "Cif",
      "type": "string"
    },
    "x_payment": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "X Payment"
    },
    "idempotency_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Idempotency Key"
    }
  },
  "required": [
    "cif"
  ],
  "title": "verify_company_by_cifArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "ok": {
      "title": "Ok",
      "type": "boolean"
    },
    "cif": {
      "default": "",
      "description": "The CIF as requested.",
      "title": "Cif",
      "type": "string"
    },
    "company": {
      "anyOf": [
        {
          "$ref": "#/$defs/CompanyInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "risk": {
      "anyOf": [
        {
          "$ref": "#/$defs/RiskAssessment"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "recent_acts": {
      "items": {
        "$ref": "#/$defs/BormeAct"
      },
      "title": "Recent Acts",
      "type": "array"
    },
    "mock": {
      "default": false,
      "description": "True when the facts are synthetic, never true for a real source.",
      "title": "Mock",
      "type": "boolean"
    },
    "provenance": {
      "anyOf": [
        {
          "$ref": "#/$defs/Provenance"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "payment": {
      "anyOf": [
        {
          "$ref": "#/$defs/PaymentChallenge"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "error": {
      "anyOf": [
        {
          "$ref": "#/$defs/ErrorInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "guidance": {
      "default": "",
      "description": "What to do next, in one sentence, for the calling agent.",
      "title": "Guidance",
      "type": "string"
    }
  },
  "required": [
    "ok"
  ],
  "$defs": {
    "BormeAct": {
      "description": "A recent BORME publication attached to the company.",
      "properties": {
        "date": {
          "default": "",
          "title": "Date",
          "type": "string"
        },
        "section": {
          "default": "",
          "title": "Section",
          "type": "string"
        },
        "description": {
          "default": "",
          "title": "Description",
          "type": "string"
        }
      },
      "title": "BormeAct",
      "type": "object"
    },
    "CompanyInfo": {
      "description": "What the merchant knows about the company, verbatim from the source.",
      "properties": {
        "cif": {
          "title": "Cif",
          "type": "string"
        },
        "name": {
          "title": "Name",
          "type": "string"
        },
        "legal_form": {
          "default": "",
          "title": "Legal Form",
          "type": "string"
        },
        "status": {
          "default": "unknown",
          "title": "Status",
          "type": "string"
        },
        "status_label": {
          "default": "",
          "title": "Status Label",
          "type": "string"
        },
        "province": {
          "default": "",
          "title": "Province",
          "type": "string"
        },
        "incorporation_date": {
          "default": "",
          "title": "Incorporation Date",
          "type": "string"
        },
        "last_borme_deposit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Last accounts deposit in the BORME; null when the source has no record.",
          "title": "Last Borme Deposit"
        },
        "administrator": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Administrator"
        },
        "share_capital_cents": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Share Capital Cents"
        },
        "insolvency_published_on": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Insolvency Published On"
        }
      },
      "required": [
        "cif",
        "name"
      ],
      "title": "CompanyInfo",
      "type": "object"
    },
    "ErrorInfo": {
      "description": "A typed failure. ``code`` is the field to branch on.",
      "properties": {
        "code": {
          "title": "Code",
          "type": "string"
        },
        "message": {
          "default": "",
          "title": "Message",
          "type": "string"
        },
        "http_status": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "null when the request never reached the API (DNS, TLS, timeout).",
          "title": "Http Status"
        },
        "retryable": {
          "default": false,
          "title": "Retryable",
          "type": "boolean"
        },
        "details": {
          "additionalProperties": true,
          "title": "Details",
          "type": "object"
        }
      },
      "required": [
        "code"
      ],
      "title": "ErrorInfo",
      "type": "object"
    },
    "PaymentChallenge": {
      "description": "The ``402`` body and header, decoded into something an agent can act on.",
      "properties": {
        "x402_version": {
          "default": 1,
          "title": "X402 Version",
          "type": "integer"
        },
        "scheme": {
          "default": "exact",
          "title": "Scheme",
          "type": "string"
        },
        "network": {
          "default": "",
          "title": "Network",
          "type": "string"
        },
        "asset": {
          "default": "",
          "title": "Asset",
          "type": "string"
        },
        "pay_to": {
          "default": "",
          "title": "Pay To",
          "type": "string"
        },
        "amount_atomic": {
          "default": 0,
          "title": "Amount Atomic",
          "type": "integer"
        },
        "price_eur_cents": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Price Eur Cents"
        },
        "resource": {
          "default": "",
          "title": "Resource",
          "type": "string"
        },
        "description": {
          "default": "",
          "title": "Description",
          "type": "string"
        },
        "max_timeout_seconds": {
          "default": 300,
          "title": "Max Timeout Seconds",
          "type": "integer"
        },
        "accepts": {
          "items": {
            "$ref": "#/$defs/PaymentOption"
          },
          "title": "Accepts",
          "type": "array"
        },
        "payment_header": {
          "default": "X-PAYMENT",
          "title": "Payment Header",
          "type": "string"
        },
        "payment_required_header_value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "Base64 X-PAYMENT-REQUIRED header, verbatim.",
          "title": "Payment Required Header Value"
        },
        "instructions": {
          "default": "",
          "description": "The next step, spelled out. Written for a model to follow.",
          "title": "Instructions",
          "type": "string"
        }
      },
      "title": "PaymentChallenge",
      "type": "object"
    },
    "PaymentOption": {
      "description": "One accepted way to pay, mirroring x402's ``accepts[]`` entry.\n\nField names are the wire's own (``payTo``, ``maxAmountRequired``) because these\nvalues are pasted straight into a payment payload. Tidying them here would be\nthe friendliest possible way to send money to the wrong place.",
      "properties": {
        "scheme": {
          "default": "exact",
          "title": "Scheme",
          "type": "string"
        },
        "network": {
          "default": "",
          "title": "Network",
          "type": "string"
        },
        "asset": {
          "default": "",
          "title": "Asset",
          "type": "string"
        },
        "payTo": {
          "default": "",
          "title": "Payto",
          "type": "string"
        },
        "maxAmountRequired": {
          "default": "",
          "title": "Maxamountrequired",
          "type": "string"
        },
        "resource": {
          "default": "",
          "title": "Resource",
          "type": "string"
        },
        "description": {
          "default": "",
          "title": "Description",
          "type": "string"
        },
        "mimeType": {
          "default": "application/json",
          "title": "Mimetype",
          "type": "string"
        },
        "maxTimeoutSeconds": {
          "default": 300,
          "title": "Maxtimeoutseconds",
          "type": "integer"
        },
        "extra": {
          "additionalProperties": true,
          "title": "Extra",
          "type": "object"
        }
      },
      "title": "PaymentOption",
      "type": "object"
    },
    "Provenance": {
      "description": "Where the facts came from, so a paying caller can judge the answer.",
      "properties": {
        "source": {
          "default": "unknown",
          "description": "'prometiam', 'opendata', 'mock', ...",
          "title": "Source",
          "type": "string"
        },
        "fetched_at": {
          "default": "",
          "title": "Fetched At",
          "type": "string"
        },
        "from_cache": {
          "default": false,
          "title": "From Cache",
          "type": "boolean"
        },
        "confidence": {
          "default": "medium",
          "title": "Confidence",
          "type": "string"
        },
        "endpoint": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Endpoint"
        }
      },
      "title": "Provenance",
      "type": "object"
    },
    "RiskAssessment": {
      "description": "An explainable score, so a decision made with it can be audited later.",
      "properties": {
        "value": {
          "description": "0 = safest, 100 = riskiest.",
          "maximum": 100,
          "minimum": 0,
          "title": "Value",
          "type": "integer"
        },
        "band": {
          "default": "low",
          "title": "Band",
          "type": "string"
        },
        "reasons": {
          "items": {
            "type": "string"
          },
          "title": "Reasons",
          "type": "array"
        },
        "signals": {
          "items": {
            "$ref": "#/$defs/RiskSignal"
          },
          "title": "Signals",
          "type": "array"
        },
        "confidence": {
          "default": "medium",
          "title": "Confidence",
          "type": "string"
        },
        "assurance": {
          "default": "low",
          "title": "Assurance",
          "type": "string"
        },
        "conclusive": {
          "default": false,
          "description": "True when the underlying data is sufficient to decide on.",
          "title": "Conclusive",
          "type": "boolean"
        }
      },
      "required": [
        "value"
      ],
      "title": "RiskAssessment",
      "type": "object"
    },
    "RiskSignal": {
      "description": "One scoring factor. Branch on ``code``; the wording may change.",
      "properties": {
        "code": {
          "title": "Code",
          "type": "string"
        },
        "points": {
          "title": "Points",
          "type": "integer"
        },
        "description": {
          "default": "",
          "title": "Description",
          "type": "string"
        }
      },
      "required": [
        "code",
        "points"
      ],
      "title": "RiskSignal",
      "type": "object"
    }
  },
  "description": "Result of ``verify_company_by_cif``.\n\n``ok`` is the single field to check first. When it is true, ``company`` and\n``risk`` are populated. When it is false, ``error`` says why and ``guidance``\nsays what to do about it — including, for a ``402``, ``payment`` in full.",
  "title": "VerifyResult"
}
🟢get_veridex_info

Describe the VERIDEX service: what it does, its price, the settlement network and asset, the receiving address and the available endpoints. Reads the public discovery manifest at /.well-known/x402. Needs no credentials and costs nothing. Call this before verifying if you need to know what a verification costs or where the payment goes.

입력 스키마

{
  "type": "object",
  "properties": {},
  "title": "get_veridex_infoArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "ok": {
      "title": "Ok",
      "type": "boolean"
    },
    "name": {
      "default": "",
      "title": "Name",
      "type": "string"
    },
    "description": {
      "default": "",
      "title": "Description",
      "type": "string"
    },
    "manifest_version": {
      "default": "",
      "title": "Manifest Version",
      "type": "string"
    },
    "network": {
      "default": "",
      "title": "Network",
      "type": "string"
    },
    "asset": {
      "default": "",
      "title": "Asset",
      "type": "string"
    },
    "asset_symbol": {
      "default": "",
      "title": "Asset Symbol",
      "type": "string"
    },
    "asset_decimals": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Asset Decimals"
    },
    "pay_to": {
      "default": "",
      "title": "Pay To",
      "type": "string"
    },
    "endpoints": {
      "items": {
        "$ref": "#/$defs/EndpointInfo"
      },
      "title": "Endpoints",
      "type": "array"
    },
    "price": {
      "default": "",
      "title": "Price",
      "type": "string"
    },
    "how_to_pay": {
      "default": "",
      "title": "How To Pay",
      "type": "string"
    },
    "error": {
      "anyOf": [
        {
          "$ref": "#/$defs/ErrorInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "raw_manifest": {
      "additionalProperties": true,
      "title": "Raw Manifest",
      "type": "object"
    }
  },
  "required": [
    "ok"
  ],
  "$defs": {
    "EndpointInfo": {
      "description": "A paid endpoint as the discovery manifest publishes it.",
      "properties": {
        "path": {
          "default": "",
          "title": "Path",
          "type": "string"
        },
        "method": {
          "default": "POST",
          "title": "Method",
          "type": "string"
        },
        "price_eur_cents": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Price Eur Cents"
        },
        "price_usdc": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Price Usdc"
        },
        "amount_atomic": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Amount Atomic"
        },
        "description": {
          "default": "",
          "title": "Description",
          "type": "string"
        },
        "payment_required": {
          "default": false,
          "title": "Payment Required",
          "type": "boolean"
        }
      },
      "title": "EndpointInfo",
      "type": "object"
    },
    "ErrorInfo": {
      "description": "A typed failure. ``code`` is the field to branch on.",
      "properties": {
        "code": {
          "title": "Code",
          "type": "string"
        },
        "message": {
          "default": "",
          "title": "Message",
          "type": "string"
        },
        "http_status": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "null when the request never reached the API (DNS, TLS, timeout).",
          "title": "Http Status"
        },
        "retryable": {
          "default": false,
          "title": "Retryable",
          "type": "boolean"
        },
        "details": {
          "additionalProperties": true,
          "title": "Details",
          "type": "object"
        }
      },
      "required": [
        "code"
      ],
      "title": "ErrorInfo",
      "type": "object"
    }
  },
  "description": "Result of ``get_veridex_info``: what this service is and what it costs.",
  "title": "ServiceInfo"
}
🟢health_check

Check whether the VERIDEX API is up, and see today's demand: uptime, the number of verification calls served today and the distinct callers. Free and unauthenticated. The request count excludes the service's own healthchecks and local tests, so it answers 'is anyone using this?' rather than 'is the process alive?'. Useful before starting a paid flow.

입력 스키마

{
  "type": "object",
  "properties": {},
  "title": "health_checkArguments"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "ok": {
      "title": "Ok",
      "type": "boolean"
    },
    "status": {
      "default": "unknown",
      "description": "'ok' when the API is serving.",
      "title": "Status",
      "type": "string"
    },
    "api_url": {
      "default": "",
      "title": "Api Url",
      "type": "string"
    },
    "reachable": {
      "default": false,
      "title": "Reachable",
      "type": "boolean"
    },
    "uptime_seconds": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Uptime Seconds"
    },
    "requests_today": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Requests Today"
    },
    "unique_agents_today": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Unique Agents Today"
    },
    "latency_ms": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Latency Ms"
    },
    "checked_at": {
      "default": "",
      "title": "Checked At",
      "type": "string"
    },
    "error": {
      "anyOf": [
        {
          "$ref": "#/$defs/ErrorInfo"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    }
  },
  "required": [
    "ok"
  ],
  "$defs": {
    "ErrorInfo": {
      "description": "A typed failure. ``code`` is the field to branch on.",
      "properties": {
        "code": {
          "title": "Code",
          "type": "string"
        },
        "message": {
          "default": "",
          "title": "Message",
          "type": "string"
        },
        "http_status": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "description": "null when the request never reached the API (DNS, TLS, timeout).",
          "title": "Http Status"
        },
        "retryable": {
          "default": false,
          "title": "Retryable",
          "type": "boolean"
        },
        "details": {
          "additionalProperties": true,
          "title": "Details",
          "type": "object"
        }
      },
      "required": [
        "code"
      ],
      "title": "ErrorInfo",
      "type": "object"
    }
  },
  "description": "Result of ``health_check``.",
  "title": "HealthResult"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 3개