quarry
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| QUARRY_ROOT | No | Base directory for all databases | ~/.punt-labs/quarry/data |
| QUARRY_API_KEY | No | Bearer token for quarry serve | (none) |
| CHUNK_MAX_CHARS | No | Max characters per chunk (~450 tokens) | 1800 |
| QUARRY_PROVIDER | No | ONNX execution provider: cpu, cuda, or unset (auto-detect) | (auto) |
| CHUNK_OVERLAP_CHARS | No | Overlap between consecutive chunks | 200 |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| findA | Search indexed documents using hybrid semantic + keyword search. 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, etc.). |
| ingestA | Ingest an HTTP(S) URL into the knowledge base. Fetches a URL with smart sitemap discovery and single-page fallback.
For local files and directories, use 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 | Remember inline text content: chunk, embed, and index for search. Use this instead of ingest when you have the text content directly (e.g., clipboard, API response, or sandbox-uploaded files in Claude Desktop). 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 (default: '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. summary: One-line summary of the content. |
| listA | List documents, collections, databases, or registrations. Args: kind: What to list — "documents", "collections", "databases", or "registrations". collection: Optional collection filter (only for kind="documents"). |
| showA | Show document metadata or retrieve a specific page's text. 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 | Delete indexed data for a document or collection. 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 | Register a directory for incremental sync. 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 | Remove a directory registration. 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 | Sync all registered directories: ingest new/changed, remove deleted. Returns immediately — the daemon runs the sync in the background. |
| statusA | Get database status: document/chunk counts, storage size, and model info. |
| useA | Switch to a different named database for subsequent operations. 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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