Skip to main content
Glama
Veille MCP Server

Veille MCP Server

Official
by veilleio

Veille MCP Server

Official Model Context Protocol server for the Veille fraud prevention API.

Validate emails, domains, IPs, VAT numbers and IBANs in milliseconds to block fake sign-ups, bots and fraud.

It lets Claude, Cursor, VS Code, Windsurf and any MCP client call the API as tools. Runs over stdio (local) or Streamable HTTP (self-hosted).

Requirements

  • Node.js 20 or newer

  • a Veille API key — sign up, then copy it from the dashboard

Related MCP server: email-verify

Veille runs this server for you at https://mcp.veille.io/ (Streamable HTTP). Send your API key in the x-api-key header; nothing to install.

claude mcp add --transport http veille https://mcp.veille.io/ --header "x-api-key: YOUR_API_KEY"
{
  "mcpServers": {
    "veille": {
      "url": "https://mcp.veille.io/",
      "headers": {
        "x-api-key": "YOUR_API_KEY"
      }
    }
  }
}

The hosted server and this package expose the same API; run the package locally when you want stdio, your own network egress, or to self-host it.

Run it locally

Claude Code

claude mcp add veille --env VEILLE_API_KEY=YOUR_API_KEY -- npx -y @veilleio/mcp

Claude Desktop, Cursor, Windsurf and other clients

Add the server to the client's MCP configuration (claude_desktop_config.json, .cursor/mcp.json…):

{
  "mcpServers": {
    "veille": {
      "command": "npx",
      "args": ["-y", "@veilleio/mcp"],
      "env": {
        "VEILLE_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

VS Code

{
  "servers": {
    "veille": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@veilleio/mcp"],
      "env": {
        "VEILLE_API_KEY": "${input:veille-api-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "veille-api-key",
      "description": "Veille API key",
      "password": true
    }
  ]
}

Claude Desktop extension

Download the .mcpb bundle from the releases page and open it; Claude Desktop asks for your API key.

Docker

docker build -t veille-mcp .
docker run -i --rm -e VEILLE_API_KEY=YOUR_API_KEY veille-mcp

Tools

Tool

Description

intelligence_domain

Check any domain instantly. Detects disposable email providers, public webmail, relay services, and education domains. Returns DNS health with MX provider detection, domain history, and optional SSL/…

intelligence_email

Validate any email address in a single call. Detects disposable and temporary inboxes, identifies role accounts, public webmail, relay services, and returns a 0-100 risk score. For deep deliverabilit…

intelligence_emailq

Deep email deliverability verification. Performs full Email Validation plus SMTP inbox check, catch-all detection, and returns a qualification verdict (valid, invalid, risky, disposable, unknown).

intelligence_ip

Assess the reputation of any IP address. Detects VPNs, proxies, Tor exit nodes, datacenter hosting, abusive traffic, and bots. Returns geolocation, network owner, and a 0-100 threat score.

intelligence_phone

Validate any phone number in E.164 format. Detects disposable and virtual numbers, identifies carrier and line type (mobile/fixed/VoIP), returns country and timezone, and computes a 0-100 risk score.

stats

Infrastructure health for an engine or endpoint over the last hour. Not scoped to your account or tenant. Enabled per account: HTTP 403 means contact support to activate it.

usage

Retrieve real-time usage statistics and credit balance for your Veille account.

vat

Validate a European VAT number against the VIES database. Returns company name, registered address, and validity status for any EU member state.

vat_iban

Validate any IBAN and retrieve associated bank details. Returns the BIC/SWIFT code, bank name, country, BBAN structural breakdown, and SEPA zone membership.

vat_rates

Get current ECB exchange rates for any supported base currency. Optionally filter to specific target currencies. Updated daily from the European Central Bank.

Every tool that calls the API consumes credits. JSON results are returned as text; images are returned inline and other files (PDF…) as embedded resources, up to 4 MB.

Streamable HTTP

npx @veilleio/mcp --http --port 3000

The endpoint is POST /mcp (stateless, JSON responses). Each client sends its own key in the x-api-key header (or Authorization: Bearer <key>); the server never uses a key of its own. It binds to 127.0.0.1 by default and rejects browser origins unless you allow them — put it behind TLS before exposing it.

createHttpHandler() is exported for Fetch-compatible runtimes (Cloudflare Workers, Deno, Bun):

import { createHttpHandler } from "@veilleio/mcp";

export default { fetch: createHttpHandler({ allowedOrigins: [] }) };

Security

  • The API key is read from VEILLE_API_KEY (stdio) or the request headers (HTTP) and removed from error messages.

  • Content fetched from websites is untrusted: the server instructions tell the model to treat it as data, not instructions.

  • See SECURITY.md to report a vulnerability.

Development

npm install
npm test
npm run build
npx @modelcontextprotocol/inspector node dist/stdio.js

Built on the SDK

The server uses the official Node.js SDK (@veilleio/sdk).

All Veille SDKs

SDK

Package

Install

Node.js

@veilleio/sdk

npm install @veilleio/sdk

Python

veille

pip install veille

Go

veille-go

go get github.com/veilleio/veille-go

.NET

Veille

dotnet add package Veille

Ruby

veille

gem install veille

PHP

veille/sdk

composer require veille/sdk

Java

veille-java

build from source, see its README

CLI

@veilleio/cli

npm install -g @veilleio/cli

MCP server

@veilleio/mcp

npx -y @veilleio/mcp

License

MIT — see LICENSE.

Available Tools

10 tools
intelligence_domainDomain ValidationA
Read-only
Inspect

Domain Validation. Check any domain instantly. Detects disposable email providers, public webmail, relay services, and education domains. Returns DNS health with MX provider detection, domain history, and optional SSL/TLS certificate transparency. Credit cost: 2 credits per call.

Inputs: query (required), fields, certificate_transparency.

intelligence_emailEmail ValidationA
Read-only
Inspect

Email Validation. Validate any email address in a single call. Detects disposable and temporary inboxes, identifies role accounts, public webmail, relay services, and returns a 0-100 risk score. For deep deliverability verification (SMTP check, catch-all de… Credit cost: 3 credits per call.

Inputs: query (required), fields.

intelligence_emailqEmail QualificationA
Read-only
Inspect

Email Qualification. Deep email deliverability verification. Performs full Email Validation plus SMTP inbox check, catch-all detection, and returns a qualification verdict (valid, invalid, risky, disposable, unknown). Credit cost: 5 credits per call.

Inputs: query (required), fields.

intelligence_ipIP ReputationA
Read-only
Inspect

IP Reputation. Assess the reputation of any IP address. Detects VPNs, proxies, Tor exit nodes, datacenter hosting, abusive traffic, and bots. Returns geolocation, network owner, and a 0-100 threat score. Credit cost: 2 credits per call.

Inputs: query (required), fields.

intelligence_phonePhone ValidationA
Read-only
Inspect

Phone Validation. Validate any phone number in E.164 format. Detects disposable and virtual numbers, identifies carrier and line type (mobile/fixed/VoIP), returns country and timezone, and computes a 0-100 risk score. Credit cost: 1 credit per call.

Inputs: query (required), fields.

statsStatsA
Read-only
Inspect

Stats. Infrastructure health for an engine or endpoint over the last hour. Not scoped to your account or tenant. Enabled per account: HTTP 403 means contact support to activate it.

Inputs: path, engine.

usageUsageB
Read-only
Inspect

Usage. Retrieve real-time usage statistics and credit balance for your Veille account.

Inputs: no named parameters.

vatVAT ValidationA
Read-only
Inspect

VAT Validation. Validate a European VAT number against the VIES database. Returns company name, registered address, and validity status for any EU member state. Credit cost: 1 credit per call.

Inputs: query (required), fields.

vat_ibanIBAN ValidationA
Read-only
Inspect

IBAN Validation. Validate any IBAN and retrieve associated bank details. Returns the BIC/SWIFT code, bank name, country, BBAN structural breakdown, and SEPA zone membership. Credit cost: 1 credit per call.

Inputs: query (required), fields.

vat_ratesExchange RatesA
Read-only
Inspect

Exchange Rates. Get current ECB exchange rates for any supported base currency. Optionally filter to specific target currencies. Updated daily from the European Central Bank. Credit cost: 1 credit per call.

Inputs: base, fields, symbols.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 10 tools

    Disambiguation3/5

    Most tools target distinct resources, but there are real collision risks: `intelligence_email` is a strict subset of `intelligence_emailq` (same payload, different depth), `vat_rates` is actually ECB exchange rates rather than VAT rates (only the description saves it), and `usage` vs `stats` both read as 'account/health numbers'. Descriptions do resolve these, but an agent skim-reading names will misselect.

    Naming Consistency2/5

    Two families coexist without a unifying verb_noun schema: prefixed intelligence tools (`intelligence_domain/email/emailq/ip/phone`) versus bare or vat_ prefixed tools (`vat`, `vat_rates`, `vat_iban`, `usage`, `stats`). The `emailq` abbreviation and the `vat_rates` name that does not validate VAT rates are both actively misleading.

    Tool Count5/5

    Ten tools is well within a healthy range for a data-validation API and each maps to a discrete check (email, email qualification, phone, IP, domain, IBAN, VAT, FX, usage, health). No filler or single-purpose bloat.

    Completeness4/5

    Core validation primitives for a data-quality suite are all present (email, phone, domain, IP, IBAN, VAT), so the main lifecycle is covered. Gaps are minor but real: no batch/bulk validation, no address or company/name validation, and `usage` only shows current balance with no history or top-up path.

    Maintenance

    ActivityMaintained
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      Limitguard MCP server: lead validation for AI agents. Checks the company behind a lead in the Dutch (KVK) and Belgian (KBO) registers, EU VAT (VIES) and sanctions lists. Pay per call with x402 or an API key.
      10
      1
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables real-time email verification via MCP tools, checking syntax, MX, disposable domains, and optional SMTP probe to determine deliverability with a VALID/RISKY/INVALID verdict.
      2
      10 npm
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Comprehensive email validation MCP server that checks syntax, MX records, disposable domains, role-based accounts, SPF/DKIM, typo suggestions, and risk scoring.
      MIT
    • F
      license
      A
      quality
      B
      maintenance
      Enables email address verification through a single MCP tool, returning whether an address is valid, invalid, or risky.
      1
      -