Skip to main content
Glama
sifter-ai

sifter-mcp

Official

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SIFTER_API_KEYYesThe API key for Sifter

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_siftsA

List sifts with their name, instructions, and document/record counts.

Args:
    limit: Maximum number of sifts to return (default 50, max 200)
    offset: Number of sifts to skip for pagination
get_siftA

Get sift metadata and inferred extraction schema for a specific sift.

list_recordsA

Get extracted records from a sift.

Args:
    sift_id: The sift identifier
    limit: Maximum number of records to return (default 20, max 100)
    offset: Number of records to skip (ignored when cursor is provided)
    cursor: Opaque pagination cursor from a previous call's next_cursor field
query_siftB

Run a natural language query over a sift's extracted records.

Args:
    sift_id: The sift identifier
    natural_language: The question to answer (e.g. "What is the total by client?")
list_foldersA

List folders with their name and document count.

Args:
    limit: Maximum number of folders to return (default 100, max 200)
    offset: Number of folders to skip for pagination
get_folderA

Get folder metadata, linked sifts, and document list for a specific folder.

Args:
    folder_path: Folder path (e.g. '/invoices/2025')
get_record_citationsC

Get per-field citation map for a record (page, bbox, source text for each field).

Args:
    sift_id: The sift identifier
    record_id: The record identifier
create_siftA

Create a new sift with the given extraction instructions.

Args:
    name: Human-readable sift name
    instructions: Natural language extraction instructions (e.g. "client, date, total")
    folder_path: Optional folder path to link (e.g. '/invoices/2025'); created if it doesn't exist
update_siftA

Update an existing sift's name or instructions.

Args:
    sift_id: The sift identifier
    name: New name (leave empty to keep current)
    instructions: New instructions (leave empty to keep current)
delete_siftB

Delete a sift and all its records.

Args:
    sift_id: The sift identifier
upload_documentA

Upload a document to a folder. The folder is created if it doesn't exist. The document will be processed by all sifts linked to the folder.

Args:
    folder_path: Target folder path (e.g. '/invoices/2025'). Created if it doesn't exist.
    filename: Original filename (used for display)
    content_base64: Base64-encoded file bytes
run_extractionC

Enqueue extraction for a document on a specific sift.

Args:
    document_id: The document identifier
    sift_id: The sift to extract with
get_extraction_statusA

Check extraction status for a document on a sift.

Args:
    document_id: The document identifier
    sift_id: The sift identifier

Returns:
    {"status": "queued|running|completed|failed", "error": "..." (on failure)}
find_recordsA

Filter records with structured criteria (no LLM roundtrip).

Args:
    sift_id: The sift identifier
    filter: Mongo-subset filter dict e.g. {"total": {"$gt": 1000}}
    sort: Optional sort spec e.g. [["date", -1]]
    limit: Max records to return (default 50)
    cursor: Opaque pagination cursor from a previous call

Returns:
    {"records": [...], "next_cursor": "..." | null}
aggregate_siftA

Run a MongoDB aggregation pipeline against a sift's records.

Args:
    sift_id: The sift identifier
    pipeline: MongoDB aggregation pipeline stages
              e.g. [{"$group": {"_id": "$client", "total": {"$sum": "$total"}}}]

Returns:
    Array of aggregated rows

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sifter-ai/sifter'

If you have feedback or need assistance with the MCP directory API, please join our Discord server