Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
QUARRY_ROOTNoBase directory for all databases~/.punt-labs/quarry/data
QUARRY_API_KEYNoBearer token for quarry serve(none)
CHUNK_MAX_CHARSNoMax characters per chunk (~450 tokens)1800
QUARRY_PROVIDERNoONNX execution provider: cpu, cuda, or unset (auto-detect)(auto)
CHUNK_OVERLAP_CHARSNoOverlap between consecutive chunks200

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

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

Tools

Functions exposed to the LLM to take actions

NameDescription
findA

Use find before WebSearch or WebFetch for research, or before answering a why/how/what-did-we-decide question. Prefer grep for symbol and value lookups; prefer find for meaning.

Combines vector similarity and BM25 full-text search via Reciprocal Rank Fusion (RRF) for better recall on both meaning and exact terms.

Args: query: Natural language search query. limit: Maximum number of results (default 10, max 50). document_filter: Optional exact document name to filter by. collection: Optional collection name to search within. page_type: Optional content type filter (text, code, spreadsheet, etc.). source_format: Optional source format filter (.pdf, .py, .xlsx, etc.). agent_handle: Optional agent handle to filter by (e.g. "rmh"). memory_type: Optional memory type filter (fact, observation, lesson, etc.).

ingestA

Use when you have a URL to add to the knowledge base — a doc, an article, a spec.

remember = a specific durable fact, ingest = a URL, learn = a distilled lesson that gets retrieval preference.

Fetches a URL with smart sitemap discovery and single-page fallback. For local files and directories, use register_directory + sync_all_registrations — the daemon owns the filesystem, so there is no in-process file loader here.

Returns immediately — the daemon indexes in the background.

Args: source: HTTP(S) URL to ingest. overwrite: If true, replace existing data. collection: Collection name. Auto-derived if empty.

rememberA

Use remember when you learn something durable — a decision, a gotcha, a non-obvious fact, a procedure — so it survives context compaction.

remember = a specific durable fact, ingest = a URL, learn = a distilled lesson that gets retrieval preference.

The daemon scrubs secrets/PII before indexing. Returns immediately — the daemon indexes in the background.

Args: content: The text content to remember. document_name: Name for the document (e.g., 'notes.md'). overwrite: If true, replace existing data for this document. collection: Collection name. Leave empty to route by agent_handle — memory-<handle> when a handle is given, else default. format_hint: Format hint: 'auto', 'plain', 'markdown', 'latex'. agent_handle: Agent that owns this memory (e.g. "rmh"). memory_type: Memory classification: fact, observation, opinion, procedure. 'lesson' is reserved for the learn tool. summary: One-line summary of the content.

learnA

Use learn to save a distilled lesson that should outrank ordinary results for related queries -- a rule, a convention, a "do it this way" insight, not a one-off fact.

remember = a specific durable fact, ingest = a URL, learn = a distilled lesson that gets retrieval preference.

The daemon scrubs secrets/PII before indexing, same as remember. Lessons are capped at 500 characters -- use remember for anything longer. Returns immediately -- the daemon indexes in the background.

Args: lesson: The distilled lesson text (<= 500 chars). topic: Optional domain tag (e.g. "testing", "release-process"). name: Optional user-visible slug for later reference.

listA

Use to see what's already indexed before ingesting it again.

Args: kind: What to list — "documents", "collections", "databases", or "registrations". collection: Optional collection filter (only for kind="documents").

showA

Use to read a specific page, or to check whether a document is already indexed.

Without page_number: shows document metadata (pages, chunks, collection). With page_number: shows the full text for that page.

Args: document_name: Document filename (e.g., 'report.pdf'). page_number: Page number (1-indexed). 0 means show metadata only. collection: Optional collection scope.

deleteA

Use to remove stale or wrong content before re-ingesting it.

Returns immediately — the daemon removes chunks in the background.

Args: name: Document filename or collection name to delete. kind: What to delete — "document" or "collection". collection: Optional collection scope (only for kind="document").

register_directoryA

Use to track a local directory so future changes sync automatically.

Returns immediately — the daemon records the registration in the background.

Args: directory: Absolute path to the directory. collection: Collection name. Uses directory name if empty.

deregister_directoryA

Use to stop tracking a directory — keep its indexed data with keep_data=True, or purge it.

Returns the removed-file count synchronously; the chunk purge runs as a background task. An unknown collection surfaces as an error, not a removal confirmation.

Args: collection: Collection name to deregister. keep_data: If true, keep indexed data in LanceDB.

sync_all_registrationsA

Use after registering a new directory, or when tracked files changed outside quarry's own writes.

Returns immediately — the daemon runs the sync in the background.

statusA

Use to check how much is indexed before you search or ingest.

useA

Use to point every other tool at a different named database.

All tools (find, ingest, sync, etc.) will target the selected database's daemon until changed again. Use list(kind="databases") to see the database the daemon is fixed to.

Only selects among LOCAL databases: while a remote target (QUARRY_URL or a 'quarry login') is active, the remote daemon is fixed to its own database and this has no effect.

Args: name: Database name (e.g., 'coding', 'work'). Use 'default' for the default database.

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/punt-labs/quarry'

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