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/mcpand 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
whoamifirst.
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+ providedataset_nameto 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. WildcardSELECT *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_atis EXIF capture time (nullable),b.created_atis ingest time - useCOALESCE(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(setFEVER_MCP_TRANSPORT=httpfor 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
- Example: Curation of AI Training Data - the workflow curate_dataset automates.
- API primitives - the REST endpoints behind the tools.
- Client SDKs - typed clients in 8 languages.