Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.mixpeek.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Mixpeek exposes retrievers as tools that any AI agent can call. Pick your framework.

LangChain

The langchain-mixpeek package provides a retriever, tool, toolkit, and vector store:
pip install langchain-mixpeek
from langchain_mixpeek import MixpeekRetriever, MixpeekToolkit

retriever = MixpeekRetriever(
    api_key="YOUR_API_KEY",
    retriever_id="ret_xxx",
    namespace="my-namespace",
)

# Use as a retriever in any RAG chain
docs = retriever.invoke("product demo walkthrough")

# Or as a full toolkit with ingest, search, classify, cluster, alert tools
toolkit = MixpeekToolkit(api_key="YOUR_API_KEY", namespace="my-namespace")
tools = toolkit.get_tools()
Available on PyPI and npm. Full LangChain guide →

MCP (Model Context Protocol)

Give Claude, Cursor, or any MCP-compatible agent access to Mixpeek. Four scoped servers available:
ScopeURLTools
Fullhttps://mcp.mixpeek.com/mcp48
Ingestionhttps://mcp.mixpeek.com/ingestion/mcp20
Retrievalhttps://mcp.mixpeek.com/retrieval/mcp11
Adminhttps://mcp.mixpeek.com/admin/mcp17
Add to Claude Desktop or Claude Code config:
{
  "mcpServers": {
    "mixpeek-retrieval": {
      "url": "https://mcp.mixpeek.com/retrieval/mcp",
      "headers": { "Authorization": "Bearer YOUR_API_KEY" }
    }
  }
}
For a single-retriever server with typed parameters, use the CLI: mixpeek-mcp-retriever --retriever-id ret_xxx --api-key YOUR_KEY. Full MCP guide →

OpenAI Function Calling

Define a Mixpeek retriever as a function schema and register it as a tool in the Chat Completions or Assistants API:
from openai import OpenAI
from mixpeek import Mixpeek

openai_client = OpenAI(api_key="YOUR_OPENAI_KEY")
mixpeek_client = Mixpeek(api_key="YOUR_MIXPEEK_KEY")

tools = [{
    "type": "function",
    "function": {
        "name": "search_mixpeek",
        "description": "Search video, image, and audio content",
        "parameters": {
            "type": "object",
            "properties": {"query": {"type": "string", "description": "Natural language search query"}},
            "required": ["query"],
        },
    },
}]
Full OpenAI guide →

Any Framework (REST)

The pattern is the same for CrewAI, LlamaIndex, Haystack, Autogen, or plain HTTP:
import requests

def mixpeek_search(query: str, limit: int = 10) -> list:
    resp = requests.post(
        f"https://api.mixpeek.com/v1/retrievers/{RETRIEVER_ID}/execute",
        headers={"Authorization": f"Bearer {API_KEY}", "X-Namespace": NS_ID, "Content-Type": "application/json"},
        json={"inputs": {"query_text": query}, "limit": limit},
    )
    resp.raise_for_status()
    return resp.json()["results"]
Retriever execute API reference →