ArchiveBox API
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| HOST | No | Host address for HTTP transport | 0.0.0.0 |
| PORT | No | Port number for HTTP transport | 8000 |
| AUTH_TYPE | No | Authentication type: 'none', 'static', 'jwt', 'oauth-proxy', 'oidc-proxy', 'remote-oauth' | none |
| TRANSPORT | No | Transport method: 'stdio', 'http', or 'sse' | stdio |
| EUNOMIA_TYPE | No | Eunomia authorization type: 'none', 'embedded', 'remote' | none |
| TOKEN_ISSUER | No | Issuer for JWT verification | |
| OIDC_BASE_URL | No | Base URL for OIDC Proxy | |
| ARCHIVEBOX_URL | No | URL of the ArchiveBox instance | |
| OAUTH_BASE_URL | No | Base URL for OAuth Proxy | |
| OIDC_CLIENT_ID | No | OIDC client ID | |
| TOKEN_AUDIENCE | No | Audience for JWT verification | |
| TOKEN_JWKS_URI | No | JWKS URI for JWT verification | |
| OIDC_CONFIG_URL | No | OIDC configuration URL | |
| REMOTE_BASE_URL | No | Base URL for Remote OAuth | |
| ARCHIVEBOX_TOKEN | No | Token for token authentication | |
| ARCHIVEBOX_VERIFY | No | Whether to verify SSL certificates | True |
| ARCHIVEBOX_API_KEY | No | API key for API key authentication | |
| EUNOMIA_REMOTE_URL | No | URL for remote Eunomia server | |
| OIDC_CLIENT_SECRET | No | OIDC client secret | |
| ARCHIVEBOX_PASSWORD | No | Password for basic authentication | |
| ARCHIVEBOX_USERNAME | No | Username for basic authentication | |
| EUNOMIA_POLICY_FILE | No | Policy file for embedded Eunomia | mcp_policies.json |
| REMOTE_AUTH_SERVERS | No | Comma-separated list of authorization servers for Remote OAuth | |
| OAUTH_UPSTREAM_CLIENT_ID | No | Upstream client ID for OAuth Proxy | |
| ALLOWED_CLIENT_REDIRECT_URIS | No | Comma-separated list of allowed client redirect URIs | |
| OAUTH_UPSTREAM_AUTH_ENDPOINT | No | Upstream authorization endpoint for OAuth Proxy | |
| OAUTH_UPSTREAM_CLIENT_SECRET | No | Upstream client secret for OAuth Proxy | |
| OAUTH_UPSTREAM_TOKEN_ENDPOINT | No | Upstream token endpoint for OAuth Proxy |
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": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
| resources | {
"subscribe": false,
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| archivebox_ingest_snapshotsA | List ArchiveBox snapshots and natively ingest them into epistemic-graph. Pushes :Snapshot (+ :Tag + :hasTag) nodes and per-snapshot :Document page-text,
plus any nested :ArchiveResult links, via the fast engine client. Best-effort:
returns |
| archivebox_ingest_archiveresultsB | List ArchiveBox archive results and ingest them as :ArchiveResult nodes. Best-effort: returns |
| web_fetchA | Fetch one web page under the web-source contract: robots.txt, a per-domain rate limit, max_bytes and accepted_types. text_markdown holds the page body as text. |
| web_extractB | Fetch one web page and extract its main content as markdown with title, author, published date, canonical URL and outbound links. |
| archivebox_check_api_tokenA | Validate an API token to make sure it's valid and non-expired Args: token: The API token to validate. Returns: Response: The response object from the POST request. Raises: ParameterError: If the provided parameters are invalid. |
| archivebox_cli_addB | Execute archivebox add command Args: urls: List of URLs to archive. tag: Comma-separated tags. depth: Crawl depth. update: Update existing snapshots. update_all: Update all snapshots. index_only: Index without archiving. overwrite: Overwrite existing files. init: Initialize collection if needed. extractors: Comma-separated list of extractors to use. parser: Parser type. extra_data: Additional parameters as a dictionary. Returns: Response: The response object from the POST request. Raises: ParameterError: If the provided parameters are invalid. |
| archivebox_cli_listC | Execute archivebox list command Args: filter_patterns: List of filter patterns. filter_type: Filter type. status: Filter by status. after: Filter snapshots after timestamp. before: Filter snapshots before timestamp. sort: Sort field. as_json: Output as JSON. as_html: Output as HTML. as_csv: Output as CSV or fields to include. with_headers: Include headers in output. extra_data: Additional parameters as a dictionary. Returns: Response: The response object from the POST request. Raises: ParameterError: If the provided parameters are invalid. |
| archivebox_cli_removeC | Execute archivebox remove command Args: delete: Delete matching snapshots. after: Filter snapshots after timestamp. before: Filter snapshots before timestamp. filter_type: Filter type. filter_patterns: List of filter patterns. extra_data: Additional parameters as a dictionary. Returns: Response: The response object from the POST request. Raises: ParameterError: If the provided parameters are invalid. |
| archivebox_cli_scheduleC | Execute archivebox schedule command Args: import_path: Path to import file. add: Enable adding new URLs. every: Schedule frequency. tag: Comma-separated tags. depth: Crawl depth. overwrite: Overwrite existing files. update: Update existing snapshots. clear: Clear existing schedules. extra_data: Additional parameters as a dictionary. Returns: Response: The response object from the POST request. Raises: ParameterError: If the provided parameters are invalid. |
| archivebox_cli_updateC | Execute archivebox update command Args: resume: Resume from timestamp. only_new: Update only new snapshots. index_only: Index without archiving. overwrite: Overwrite existing files. after: Filter snapshots after timestamp. before: Filter snapshots before timestamp. status: Filter by status. filter_type: Filter type. filter_patterns: List of filter patterns. extractors: Comma-separated list of extractors. extra_data: Additional parameters as a dictionary. Returns: Response: The response object from the POST request. Raises: ParameterError: If the provided parameters are invalid. |
| archivebox_get_anyB | Get a specific Snapshot, ArchiveResult, or Tag by abid Args: abid: The abid of the Snapshot, ArchiveResult, or Tag. Returns: Response: The response object from the GET request. Raises: ParameterError: If the provided parameters are invalid. |
| archivebox_get_api_tokenB | Generate an API token for a given username & password Args: username: The username for authentication. password: The password for authentication. Returns: Response: The response object from the POST request. Raises: ParameterError: If the provided parameters are invalid. |
| archivebox_get_archiveresultB | Get a specific ArchiveResult by id or abid Args: archiveresult_id: The ID or abid of the ArchiveResult. Returns: Response: The response object from the GET request. Raises: ParameterError: If the provided parameters are invalid. |
| archivebox_get_archiveresultsB | List all ArchiveResult entries matching these filters Args: id: Filter by ID. search: Search across snapshot url, title, tags, extractor, output, id. snapshot_id: Filter by snapshot ID. snapshot_url: Filter by snapshot URL. snapshot_tag: Filter by snapshot tag. status: Filter by status. output: Filter by output. extractor: Filter by extractor. cmd: Filter by command. pwd: Filter by working directory. cmd_version: Filter by command version. created_at: Filter by exact creation date (ISO 8601 format). created_at__gte: Filter by creation date >= (ISO 8601 format). created_at__lt: Filter by creation date < (ISO 8601 format). limit: Number of results to return. offset: Offset for pagination. page: Page number for pagination. api_key: API key for QueryParamTokenAuth (optional). Returns: Response: The response object from the GET request. Raises: ParameterError: If the provided parameters are invalid. |
| archivebox_get_snapshotB | Get a specific Snapshot by abid or id Args: snapshot_id: The ID or abid of the snapshot. with_archiveresults: Whether to include archiveresults. Returns: Response: The response object from the GET request. Raises: ParameterError: If the provided parameters are invalid. |
| archivebox_get_snapshotsA | Retrieve list of snapshots Args: id: Filter by snapshot ID. abid: Filter by snapshot abid. created_by_id: Filter by creator ID. created_by_username: Filter by creator username. created_at__gte: Filter by creation date >= (ISO 8601 format). created_at__lt: Filter by creation date < (ISO 8601 format). created_at: Filter by exact creation date (ISO 8601 format). modified_at: Filter by exact modification date (ISO 8601 format). modified_at__gte: Filter by modification date >= (ISO 8601 format). modified_at__lt: Filter by modification date < (ISO 8601 format). search: Search across url, title, tags, id, abid, timestamp. url: Filter by URL (exact). tag: Filter by tag name (exact). title: Filter by title (icontains). timestamp: Filter by timestamp (startswith). bookmarked_at__gte: Filter by bookmark date >= (ISO 8601 format). bookmarked_at__lt: Filter by bookmark date < (ISO 8601 format). with_archiveresults: Include archiveresults in response. limit: Number of results to return. offset: Offset for pagination. page: Page number for pagination. api_key: API key for QueryParamTokenAuth (optional). Returns: Response: The response object from the GET request. Raises: ParameterError: If the provided parameters are invalid. |
| archivebox_get_tagB | Get a specific Tag by id or abid Args: tag_id: The ID or abid of the tag. with_snapshots: Whether to include snapshots. Returns: Response: The response object from the GET request. Raises: ParameterError: If the provided parameters are invalid. |
| archivebox_get_tagsB | Retrieve list of tags Args: limit: Number of results to return. offset: Offset for pagination. page: Page number for pagination. api_key: API key for QueryParamTokenAuth (optional). Returns: Response: The response object from the GET request. Raises: ParameterError: If the provided parameters are invalid. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| connector-status | Ask for this connector server's current operational status. |
| web_archivist_specialist | ArchiveBox web-archivist specialist: capture, search, and knowledge-graph-ingest web snapshots over the archivebox-api MCP server. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| _connector_status_resource | Native resource exposing this server's static status payload. |
| ontology://archivebox-mcp/archivebox.ttl | |
| connector-resources | Data sources, ontology mappings and resources of this connector. |
| archivebox-web-archiving/SKILL.md | Capture and re-archive web pages with ArchiveBox via the archivebox-api MCP server — add URLs (with tags, crawl depth, and chosen extractors), update / re-archive existing snapshots, and schedule recurring archiving with the domain-typed CLI tool. Use when the agent must permanently archive a URL, bulk-add a list of links, refresh stale captures, or set up a recurring archive job. Do NOT use for browsing/searching what is already archived (archivebox-snapshot-search) or for pushing archived data into the knowledge graph (archivebox-kg-ingestion); prefer those. |
| archivebox-web-archiving/_manifest | File listing for archivebox-web-archiving |
| archivebox-api-development/SKILL.md | Develop and maintain the ArchiveBox connector while preserving its governed API actions, web-source contract, credential boundary, package resources, and public-first release evidence. |
| archivebox-api-development/_manifest | File listing for archivebox-api-development |
| archivebox-snapshot-search/SKILL.md | Browse and search an ArchiveBox archive via the archivebox-api MCP server — list/filter snapshots, read one snapshot (with its per-extractor archive results), list archive results by extractor/status, and read tags with the domain-typed core tool. Use when the agent must find an archived URL, inspect what was captured for a page, check extractor success/failure, or resolve a snapshot/result/tag by its abid. Do NOT use for adding or re-archiving URLs (archivebox-web-archiving) or for pushing data into the knowledge graph (archivebox-kg-ingestion); prefer those. |
| archivebox-snapshot-search/_manifest | File listing for archivebox-snapshot-search |
| archivebox-api-operations/SKILL.md | Operate archivebox-api through its governed MCP and Arbora capabilities, including archivebox kg ingestion, archivebox snapshot search, archivebox web archiving. Use when a request requires this provider's read, change, automation, ingestion, troubleshooting, or evidence workflows. |
| archivebox-api-operations/_manifest | File listing for archivebox-api-operations |
| archivebox-kg-ingestion/SKILL.md | Natively ingest an ArchiveBox archive into the epistemic-graph knowledge graph via the archivebox-api MCP server — push snapshots as typed :Snapshot nodes (with :Tag + :hasTag links and per-snapshot :Document page-text) and archive results as :ArchiveResult nodes, best-effort, with the Wire-First ingest tools. Use when the agent must make the web archive queryable/semantic-searchable in the KG, backfill existing snapshots, or wire a recurring sync. Do NOT use for adding/re-archiving URLs (archivebox-web-archiving) or plain read/search of the archive (archivebox-snapshot-search); prefer those. |
| archivebox-kg-ingestion/_manifest | File listing for archivebox-kg-ingestion |
TDQS
Scored across 18 tools
There is real overlap across the set: singular/plural pairs (get_snapshot vs get_snapshots, get_tag vs get_tags, get_archiveresult vs get_archiveresults) are easy to confuse, get_any duplicates the three specific getters, cli_list overlaps with the get_* list endpoints, and web_fetch vs web_extract both fetch a page. Descriptions help clarify intent, but boundaries are not crisp.
Most tools follow a clean archivebox_verb_noun snake_case pattern (archivebox_get_snapshot, archivebox_cli_add). Minor deviations exist: the archivebox_cli_* middle segment and the two web_-prefixed tools (web_fetch, web_extract) break the otherwise uniform namespace, but the convention is still clearly readable.
18 tools is slightly on the heavy side but each maps to a genuine ArchiveBox operation (per-resource get/list, CLI commands, ingest, token auth). The set is defensible for an API wrapper, though cli_list and get_any are somewhat redundant additions.
Coverage is solid: read/list for snapshots, archiveresults and tags, creation via cli_add, removal via cli_remove, updates via cli_update, plus scheduling, token management and graph ingestion. Direct create/update/delete for tags is absent, but tags are typically managed indirectly through snapshots, so this is a minor gap.