VE

Verodat MCP Server: Interact with AI-Ready Data

Explore the Verodat MCP server to interact with AI-ready data, query datasets, and accelerate insights with secure, scalable data workflows.

Quick Install
npx -y @Verodat/verodat-mcp-server

Overview

Verodat MCP Server implements the Model Context Protocol (MCP) to make data accessible and consumable by AI applications. It acts as a bridge between raw datasets and generative models or retrieval systems by providing structured, queryable, and embeddable dataset views. The server centralizes dataset metadata, access controls, and query primitives so you can reliably supply model context (documents, vectors, tabular slices) to downstream inference or indexing pipelines.

For developers, Verodat MCP Server reduces the friction of integrating heterogeneous data sources into model workflows. Instead of building bespoke connectors, embedding layers, and query layers, you use a single API to discover datasets, request context slices, and fetch embedding-ready payloads. That helps teams accelerate retrieval-augmented generation (RAG), feature retrieval for online inference, and analytics workflows that require consistent, secure access to “AI-ready” data.

Features

  • Dataset discovery and metadata cataloging
  • Secure API with API keys and role-based access controls (RBAC)
  • Query endpoints for document retrieval, vector search, and SQL-like dataset slicing
  • Automatic payload formatting for model inputs (text, JSON, tables)
  • Connectors for object storage and relational databases (S3, Postgres, BigQuery)
  • Embedding-ready outputs for batch and streaming pipelines
  • Caching and pagination for large result sets
  • OpenAPI/Swagger documentation and client SDKs (HTTP + Python examples)
  • Docker and Kubernetes deployments for local development and production

Installation / Configuration

Quick start with Docker (local development):

# Pull the latest image and run with a simple in-memory config
docker run -p 8080:8080 \
  -e MCP_API_KEY=devkey123 \
  -e [email protected] \
  verodat/verodat-mcp-server:latest

Docker Compose example with Postgres backing store:

version: "3.8"
services:
  postgres:
    image: postgres:14
    environment:
      POSTGRES_USER: mcp
      POSTGRES_PASSWORD: mcppass
      POSTGRES_DB: mcpdb
    volumes:
      - pgdata:/var/lib/postgresql/data

  mcp:
    image: verodat/verodat-mcp-server:latest
    ports:
      - "8080:8080"
    environment:
      MCP_DB_URL: postgres://mcp:mcppass@postgres:5432/mcpdb
      MCP_API_KEY: production_key_here
      MCP_JWT_SECRET: supersecret
    depends_on:
      - postgres

volumes:
  pgdata:

Helm (Kubernetes) — values snippet:

replicaCount: 2
image:
  repository: verodat/verodat-mcp-server
  tag: latest
env:
  MCP_DB_URL: postgresql://mcp:password@postgres:5432/mcpdb
  MCP_API_KEY: prod_key
  MCP_JWT_SECRET: very_secure_secret
resources:
  limits:
    cpu: 1000m
    memory: 1Gi

Common environment variables

VariablePurpose
MCP_API_KEYRoot API key for server access (rotate in prod)
MCP_DB_URLDatabase connection string (Postgres recommended)
MCP_JWT_SECRETSecret for signing tokens and RBAC claims
MCP_STORAGE_S3_URLOptional S3-compatible object store URL
MCP_LOG_LEVELLogging level (info, debug, warn)

After installation, initialize the database migrations (if required) via the built-in CLI or container command:

docker exec -it <mcp_container> mcp migrate up

Available Resources

  • HTTP REST API (OpenAPI spec provided at /openapi.json)
  • CLI utility for dataset onboarding and migrations
  • Python SDK (pip package) for integrating queries into pipelines
  • Built-in connectors: S3, Postgres, BigQuery (adapters configurable via env)
  • Admin UI for dataset browsing and permission management (optional)
  • Webhooks for index/update notifications

Example endpoints

EndpointPurpose
GET /datasetsList registered datasets
POST /datasetsRegister a new dataset or connector
POST /queryQuery dataset slices or request retrieval context
POST /embedBatch endpoint to request embedding-ready payloads

Use Cases

  1. Retrieval-Augmented Generation (RAG)

    • Register document stores (S3 buckets or a document DB) with MCP.
    • Use POST /query to retrieve the top-k context documents for a user prompt.
    • Feed returned contexts into your model to improve factual responses.

    Example curl (retrieve top 5 documents):

    curl -X POST "http://localhost:8080/query" \
      -H "Authorization: Bearer devkey123" \
      -H "Content-Type: application/json" \
      -d '{
        "dataset": "product_docs",
        "query": "warranty terms for model X",
        "top_k": 5
      }'
    
  2. Feature Retrieval for Online Inference

    • Use MCP as a low-latency layer to fetch feature slices for a given user or entity.
    • The server returns normalized JSON payloads ready for model input in real time.
  3. Analytics & Exploration

    • Query tabular datasets with SQL-like filters and pagination to power notebooks and dashboards.
    • Export query results in CSV or JSON to integrate with BI tools.
  4. Compliance and Auditing

    • Centralized dataset metadata and access logs make it easier to audit what model inputs were used and who requested them.
    • Role-based access controls protect sensitive datasets from unauthorized model use.
  5. Embedding Pipelines

    • Use the /embed endpoint to produce embedding payloads and orchestrate batch embedding jobs, optionally hooking to vector databases after embedding.

Next Steps

  • Browse the repository README and the OpenAPI documentation to explore endpoint details and request/response schemas.
  • Try the Python SDK for programmatic integration and to see examples of dataset registration, queries, and embedding workflows.
  • For production, run behind a network ingress (TLS), configure a persistent Postgres store, and rotate API keys/JWT secrets.