F6 XDR MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| XDR_API_KEY | Yes | Personal API token for the XDR user | |
| XDR_BASE_URL | Yes | Base URL of your XDR installation | |
| XDR_CA_BUNDLE | No | PEM bundle for installations behind an internal CA. | |
| XDR_ALLOW_WRITE | No | Set to '1' to enable the xdr_mark_event tool. Disabled by default. |
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
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| xdr_searchA | Search for events/objects in an XDR section. Returns matching records; an empty query returns the section unfiltered. Use xdr_get_mapping first to discover available fields. |
| xdr_countA | Get the total count of records in an XDR section. Optionally filter by query to count matching records only. For application_versions this counts per-asset records, not distinct version strings. |
| xdr_get_mappingA | Get all available search fields for an XDR section. Returns field names, labels, categories, and supported operators. Call this first to understand what you can search on. |
| xdr_get_suggestionsA | Look up real values of a field, optionally narrowed by a prefix. Use it when a query returns nothing and the value may simply be spelled differently — an unmatched value is answered with zero records rather than an error, so a guess is indistinguishable from a genuine absence. Each entry has a value to put in a query and a label for display; search on the value. Returns up to about ten entries, so narrow the prefix to see more. Field names come from xdr_get_mapping, where the ones worth asking about carry show_suggestions; an unknown field name comes back empty rather than as an error. |
| xdr_get_filtersB | Get available filter options for an XDR section. |
| xdr_list_artifactsA | List artifacts collected from hosts — what an analyst gathered through the asset's Response → Artifacts: bug reports, logs, configs, memory dumps. Filter by host with asset_id (the asset's numeric id) or machine_id; with neither, lists artifacts across all hosts. Newest first by default. Each row has 'id' (for xdr_get_artifact_structure), 'internal_id' (for xdr_download_artifact), 'parts' (what was collected), 'command_status' (New, Queued, Pending, Uploading, Uploaded, Done, Failed, Aborted) and 'size' in bytes. |
| xdr_get_artifact_structureA | List the files and folders inside a collected artifact, one level at a time, with their sizes. Takes the artifact's numeric 'id' from xdr_list_artifacts and an optional folder inside it (e.g. /var/log). Use it to find the part worth downloading rather than fetching a whole artifact. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
The search/count pair and the artifact tools are clearly distinct, but the metadata trio — xdr_get_mapping, xdr_get_filters, and xdr_get_suggestions — have overlapping purposes (all answer 'what can I search/filter on?'), and xdr_get_filters has a one-line description that gives no guidance on when to use it instead of get_mapping. xdr_get_suggestions and xdr_search could also be confused since both can return matching values.
All tools share the xdr_ prefix and snake_case, with a clear verb-first structure (search, count, get_*, list_*). The only deviation is that xdr_search and xdr_count drop the noun compared to the get_/list_ tools, which is minor and still readable.
Seven tools is a well-scoped set for a search-and-inspect server: one per query primitive plus two for the artifact workflow. Each tool has a distinct role, and nothing feels padded or missing from the count itself.
xdr_list_artifacts explicitly tells the agent to use its 'internal_id' with xdr_download_artifact, but no such tool exists in this set — the artifact workflow dead-ends after inspecting structure. There is also no way to perform response/containment actions or export search results, leaving the core lifecycle incomplete.