Your Data · Attack Surface

list_my_dns_records

List DNS records discovered for your domains. Filter by record type (A, AAAA, MX, TXT, CNAME, NS, ...). Costs 1 credit.

POST
tools/call

Cost: 1 credit per successful call  ·  Scope: mcp:org  ·  Response shape: jsonb

Returns data scoped to your own organisation only — the organisation is resolved from your API key and injected server-side, never read from the request.

Parameters

record_typestringoptional

Optional. Filter to a single DNS record type, e.g. A, AAAA, MX, TXT, CNAME, or NS. Maximum length 10. When omitted, all record types are returned.

limitintegeroptionaldefault: 200

Maximum number of records to return. Accepted range: 1–1000.

Example invocation

Ask your agent: "Show our MX records."

curl -s https://api.precursorintelligence.com/functions/v1/mcp \
  -H "Authorization: Bearer $PRECURSOR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_my_dns_records","arguments":{"record_type":"MX","limit":200}}}'

Response

result.content[0].text (parsed)
{
  "count": 4,
  "items": [
    {
      "record_type": "A",
      "record_name": "precursorsecurity.com",
      "record_value": "203.0.113.10",
      "ttl": 300
    },
    {
      "record_type": "MX",
      "record_name": "precursorsecurity.com",
      "record_value": "10 mail.precursorsecurity.com",
      "ttl": 3600
    },
    {
      "record_type": "TXT",
      "record_name": "precursorsecurity.com",
      "record_value": "v=spf1 include:_spf.google.com ~all",
      "ttl": 3600
    },
    {
      "record_type": "NS",
      "record_name": "precursorsecurity.com",
      "record_value": "ns1.cloudflare.com",
      "ttl": 86400
    }
  ],
  "generated_at": "2026-06-18T08:15:00.000Z"
}

The full MCP envelope, including _meta.precursor with request_id, credits, and response_truncated, is documented in Response Format.

Response fields

countintegeroptional

Number of records returned (equals items.length).

itemsarrayoptional

DNS records discovered for your domains. Each object contains the fields below.

items[].record_typestringoptional

The DNS record type, e.g. A, AAAA, MX, TXT, CNAME, or NS.

items[].record_namestringoptional

The owner name (left-hand side) of the record.

items[].record_valuestringoptional

The record data (right-hand side), e.g. an IP address, hostname, or text value.

items[].ttlintegeroptional

Time-to-live for the record, in seconds.

generated_atstringoptional

ISO 8601 timestamp indicating when this response was generated.

Errors

CodeMessageWhen
-32602invalid_params: record_type: max:10record_type exceeds 10 characters
-32602invalid_params: limit: min:1limit is less than 1
-32602invalid_params: limit: max:1000limit exceeds 1000
-32001unauthorizedThe API key is invalid/revoked, the IP is not allowed, or the key lacks the mcp:org scope.
-32002insufficient_creditsYour credit balance is zero; top up from the dashboard
-32603internalUnexpected server error; the credit is automatically refunded