Browse the docs

FEVER MCP Server

If you opt for it, have your chatbot of choice search your corpus, curate datasets with SQL, and export training packs.

Hosted API

  • Endpoint: POST https://gimmelowdown.com/mcp - supports streaming
  • Auth: Authorization: Bearer <api_key> - the same type of key as the REST API. Mint a key on your API keys pane; it shows a copy-ready config with the key embedded.
  • For Claude: Settings → Connectors → Add custom connector → paste https://gimmelowdown.com/mcp and your API key as the bearer token.
  • Claude/Desktop MCP config:
{
  "mcpServers": {
    "lowdown": {
      "url": "https://gimmelowdown.com/mcp",
      "headers": {"Authorization": "Bearer YOUR_API_KEY"}
    }
  }
}
  • For clients without remote-MCP header support, bridge over stdio:
{
  "mcpServers": {
    "lowdown": {
      "command": "npx",
      "args": ["mcp-remote", "https://gimmelowdown.com/mcp", "--header", "Authorization: Bearer YOUR_API_KEY"]
    }
  }
}
  • Test it by calling whoami first.

Available Tools

  • whoami - plan details, asset counts. No args.
  • search_media - semantic text search. Args: text (required), k (default 10).
  • search_by_image - visual similarity search. Args: image (base64, required), k.
  • run_query - one read-only SQL SELECT over your data. Args: sql (required), row_limit.
  • gdpr_review - pre-canned GDPR selection: faces/people, precise locations, documents with PII, or AI-generated items. Args: preset ("people", "locations", "documents_with_pii", "ai_generated", "all"), threshold, row_limit; create_dataset + provide dataset_name to curate the full selection into a named dataset.
  • find_duplicates - near-duplicate cluster viewing. Args: threshold
  • .
  • corpus_stats - per-kind asset counts and top autotags. No args.
  • list_datasets - named datasets with item counts. No args.
  • get_dataset - download one dataset with its full blob-id list. Args: dataset_id.
  • create_export - export your data or a subset into a package as NDJSON-with-vectors or parquet. Args: format, tag, dataset_id.
  • curate_dataset - run a SQL selection and create/replace a named dataset with the matching blob ids; the SQL is stored on the dataset for refinement. Args: name, sql (first column must be blob ids), mode ("replace" default, or "add").
  • dataset_remove_items - remove blobs from a dataset; the media itself stays indexed. Args: dataset_id, blob_ids.

SQL schema for manual use or run_query

  • Exactly one read-only SELECT; rows are auto-filtered to your customer_id.
  • Tables: as_blobs, annotations, embeddings, dup_edges, datasets, dataset_items, video_frames, transcript_segments.
  • Flat shape only: JOIN, WHERE, ORDER BY, LIMIT are fine - no subqueries, no CTEs, no UNION/INTERSECT/EXCEPT, no window functions, no functions in FROM, no writes.
  • Vector similarity: (e.vec_full <=> fever_search('phrase')) AS cosine_distance, ordered ascending. Wildcard SELECT * is rejected on tables with raw vector columns.
  • Caps: 1000 rows max, 15s statement timeout.
  • The above cap only applies to view only SQL queries. If you supply the query with no LIMIT, when it is time to export a dataset it will paginate through as much data as there is.
  • Tags are exact strings: 'value' = ANY(a.tags) for exact matches, array_to_string(a.tags, ' ') ILIKE '%term%' for fuzzy searches.
  • Time: a.captured_at is EXIF capture time (nullable), b.created_at is ingest time - use COALESCE(a.captured_at, b.created_at) for "when was this taken".
SELECT b.id, b.external_ref,
       e.vec_full <=> fever_search('studio product photo on white background') AS cosine_distance
FROM embeddings e
JOIN as_blobs b ON b.id = e.blob_id AND b.customer_id = e.customer_id
ORDER BY cosine_distance
LIMIT 200

In-VPC Business Tier Appliance

  • Run the same server over stdio: python -m fever_service.mcp_server (set FEVER_MCP_TRANSPORT=http for streamable-http).
  • Appliance tools: whoami, search_media, search_by_image, run_query, find_duplicates, corpus_stats, list_datasets, get_dataset, create_export, curate_dataset, dataset_remove_items, gdpr_review, get_media_info, list_media_frames, list_media_transcript.
  • MCP config:
{
  "mcpServers": {
    "fever-retrieval": {
      "command": "python",
      "args": ["-m", "fever_service.mcp_server"],
      "env": {
        "FEVER_MCP_SERVICE_URL": "https://YOUR-APPLIANCE",
        "FEVER_MCP_API_KEY": "<api-key>",
        "FEVER_MCP_CUSTOMER_ID": "cust-42"
      }
    }
  }
}

Where To Next