# Reference tools

The MCP server provides foundational tools for understanding and querying your data effectively.

### Explore DataPrime commands and functions

Use the `list_dataprime_commands` tool to browse the available DataPrime commands and functions, and the `show_dataprime_command_details` tool to see the syntax, description, and category for a specific one. These tools help AI agents construct correct queries with DataPrime, Coralogix's structured query language for logs, traces, and metrics. They are based on the [DataPrime Reference](https://coralogix.com/docs/dataprime/index.md).

Explore the relevant commands **before** running queries with `query_dataprime` and `query_promql_range` to ensure correct syntax and interpretation.

**`list_dataprime_commands` parameters:**

| Name   | Required | Type   | Description                                                                   |
| ------ | -------- | ------ | ----------------------------------------------------------------------------- |
| `kind` | No       | enum   | One of `all` (default), `commands`, or `functions`.                           |
| `name` | No       | string | Case-insensitive substring to filter the catalog by command or function name. |

**`show_dataprime_command_details` parameters:**

| Name   | Required | Type   | Description                                             |
| ------ | -------- | ------ | ------------------------------------------------------- |
| `kind` | Yes      | enum   | One of `all`, `commands`, or `functions`.               |
| `name` | Yes      | string | The exact command or function name to show details for. |

### Discover fields with `search_for_fields`

Use the `search_for_fields` tool to discover the log and span field paths ([keypaths](https://coralogix.com/docs/dataprime/beginners-guide/how-data-is-represented-in-dataprime/): `$d`, `$l`, `$m`) in your data before writing complex queries. Search by field description, by an example value, or by a batch of both—up to five searches per call.

**Example:**

```js
{
  "search_items": [
    { "description": "http status code" },
    { "value": "payment-service" }
  ],
  "source": "logs"
}
```

**Parameters:**

| Name           | Required | Type  | Description                                                                                                                                                                              |
| -------------- | -------- | ----- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `search_items` | Yes      | array | Up to five search items. Each item has either a `description` (semantic search over field descriptions) or a `value` (case-insensitive substring match on example values), but not both. |
| `source`       | No       | enum  | One of `logs` (default) or `spans`.                                                                                                                                                      |

**Helpful hints:**

- Use `description` searches to find fields by meaning, and `value` searches to find which field contains a known value.
- To discover metrics instead of log or span fields, use [`search_relevant_metrics`](https://coralogix.com/docs/user-guides/mcp-server/tools/metrics/index.md).

### Get the current time with `get_datetime`

Use the `get_datetime` tool to retrieve the current date and time. This is useful for constructing time-bounded queries when you need a reference to the present moment.
