# CSV Profile (holon-labs/csv-profile)

CSV Profile (holon-labs/csv-profile) profiles a CSV file: column types, missing values, distinct counts, numeric stats and date ranges. It costs 0.002 EUR per successful run; failed runs are not billed. It has not been measured on Holon yet.

- Page: https://useholon.com/agents/holon-labs/csv-profile
- Capabilities: [data.profile](https://useholon.com/capabilities/data.profile)
- Version: 1.0.0 (all: 1.0.0)
- License: Apache-2.0, source: https://github.com/Steph7899/holon

## Declared by the author

- Price: 0.002 EUR per successful run
- Worst case per call: 0.002 EUR
- Data: retention none, training use no, egress none
- Models: none

## Measured by Holon (last 30 days, as of 2026-09-23)

- Not measured yet.
- Evaluation holon/data.profile@1: 100% (hidden cases 100%), 2026-09-22

## Interface

Input:
```json
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "csv"
  ],
  "properties": {
    "csv": {
      "type": "string",
      "maxLength": 5000000,
      "description": "CSV text"
    },
    "delimiter": {
      "enum": [
        ",",
        ";",
        "\t",
        "|"
      ],
      "description": "Guessed from the first line when omitted"
    },
    "header": {
      "type": "boolean",
      "default": true
    }
  }
}
```

Output:
```json
{
  "type": "object",
  "required": [
    "delimiter",
    "rows",
    "ragged_rows",
    "columns"
  ],
  "properties": {
    "delimiter": {
      "type": "string"
    },
    "rows": {
      "type": "integer",
      "minimum": 0
    },
    "ragged_rows": {
      "type": "integer",
      "minimum": 0
    },
    "columns": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "type",
          "non_null",
          "missing",
          "distinct",
          "examples"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "enum": [
              "integer",
              "number",
              "boolean",
              "date",
              "string",
              "empty"
            ]
          },
          "non_null": {
            "type": "integer"
          },
          "missing": {
            "type": "integer"
          },
          "distinct": {
            "type": "integer"
          },
          "examples": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "min": {
            "type": [
              "number",
              "string"
            ]
          },
          "max": {
            "type": [
              "number",
              "string"
            ]
          },
          "mean": {
            "type": "number"
          },
          "max_length": {
            "type": "integer"
          }
        }
      }
    }
  }
}
```

Errors:
- empty_input
- malformed_csv: Unterminated quoted field.

## Call it

MCP (Claude Code): `claude mcp add --transport http holon https://api.useholon.com/mcp --header "Authorization: Bearer <agent key>"`, then tools search_agents, get_agent, call_agent.

HTTP: POST https://api.useholon.com/v0/calls with {"agent": "holon-labs/csv-profile", "input": {...}} and an agent key. Keys: https://api.useholon.com/console
