Moltline Data Desk
Paste-your-data analytics: CSV profiling, A/B tests, correlation, growth. 4 of 7 free.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"data": {
"url": "https://mcp.moltlinestudio.com/data"
}
}
}Remote-Endpunkte
https://mcp.moltlinestudio.com/datastreamable-httpWas es kann
Tool-Inventar
Tools (7)
🟢csv_profile(csv_text, delimiter)
Profile pasted CSV data column by column with data-quality flags. FREE. Reports per-column type, null rate, unique count, numeric stats (min/mean/max), and top values. Typical input {"csv_text": "name,age\nAda,36\nLin,29"} returns {"rows": 2, "columns": {"age": {"type": "numeric", "null_pct": 0.0, "unique": 2, "min": 29, ...}}, "quality_flags": ["..."], "note": "first 2000 rows profiled"}. Use as the first look at unfamiliar tabular data. Not for testing a hypothesis (ab_test, correlation) and not for time-ordered trends (growth_rates, forecast_trend). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "delimiter must be a single character, e.g. ',' or ';'"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Eingabe-Schema
{
"type": "object",
"properties": {
"csv_text": {
"type": "string",
"description": "Raw CSV content including a header row, pasted as a\nsingle string; the first 2000 data rows are profiled."
},
"delimiter": {
"default": ",",
"type": "string",
"description": "Field separator, exactly one character, e.g. \",\" or \";\".\nDefault \",\"."
}
},
"required": [
"csv_text"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢ab_test(conversions_a, visitors_a, conversions_b, visitors_b)
Run a two-proportion A/B significance test with a plain-language verdict. FREE. Typical input {"conversions_a": 120, "visitors_a": 2400, "conversions_b": 156, "visitors_b": 2380} returns {"rate_a_pct": 5.0, "rate_b_pct": 6.55, "relative_lift_pct": 31.1, "z_score": ..., "p_value": ..., "significant_at_95": true, "verdict": "B beats A — statistically significant"}. Use when exactly two variants each have a trial count and a conversion count. Not for continuous outcomes such as revenue per user, and not for three or more variants. Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "need visitors > 0 and 0 <= conversions <= visitors"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Eingabe-Schema
{
"type": "object",
"properties": {
"conversions_a": {
"minimum": 0,
"type": "integer",
"description": "Conversions in variant A; 0 or more, at most\nvisitors_a."
},
"visitors_a": {
"minimum": 1,
"type": "integer",
"description": "Visitors in variant A; must be at least 1."
},
"conversions_b": {
"minimum": 0,
"type": "integer",
"description": "Conversions in variant B; 0 or more, at most\nvisitors_b."
},
"visitors_b": {
"minimum": 1,
"type": "integer",
"description": "Visitors in variant B; must be at least 1."
}
},
"required": [
"conversions_a",
"visitors_a",
"conversions_b",
"visitors_b"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢correlation(x, y)
Compute the Pearson correlation between two numeric series. FREE. Typical input {"x": [1, 2, 3, 4], "y": [2.1, 3.9, 6.2, 8.1]} returns {"pearson_r": 0.999, "r_squared": 0.998, "interpretation": "very strong positive correlation", "caution": "..."}. Use when two equal-length numeric series may move together. Reports association only, never causation. Not for a single series over time (growth_rates). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "need two equal-length series of 3+ values"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Eingabe-Schema
{
"type": "object",
"properties": {
"x": {
"items": {
"type": "number"
},
"minItems": 3,
"type": "array",
"description": "First numeric series; at least 3 values, same length as y."
},
"y": {
"items": {
"type": "number"
},
"minItems": 3,
"type": "array",
"description": "Second numeric series; at least 3 values, same length as x."
}
},
"required": [
"x",
"y"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢growth_rates(values)
Compute period-over-period growth and CAGR for a numeric series. FREE. Typical input {"values": [1000, 1100, 1320]} returns {"period_over_period_pct": [10.0, 20.0], "total_change_pct": 32.0, "avg_growth_per_period_pct_cagr": 14.89}. Use when one series is already in period order. Not for comparing two variants (ab_test) and not for projecting future periods (forecast_trend). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "need at least 2 values"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Eingabe-Schema
{
"type": "object",
"properties": {
"values": {
"items": {
"type": "number"
},
"minItems": 2,
"type": "array",
"description": "Ordered numeric series, oldest first, at least 2 values,\ne.g. monthly revenue [1000, 1100, 1320]."
}
},
"required": [
"values"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢funnel_report(stages)
Analyze a conversion funnel and find the biggest drop-off. PREMIUM (license). Typical input {"stages": {"Visited": 1000, "Signed up": 200, "Paid": 50}} returns {"steps": [{"from": "Visited", "to": "Signed up", "conversion_pct": 20.0, "lost": 800}, ...], "overall_conversion_pct": 5.0, "biggest_dropoff": {...}, "recommendation": "..."}. Use when stage counts descend through one funnel. Not for retention over time (cohort_retention) and not for two-variant comparisons (ab_test). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "need at least 2 stages"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Eingabe-Schema
{
"type": "object",
"properties": {
"stages": {
"additionalProperties": true,
"type": "object",
"description": "Ordered mapping of stage name to count, top of funnel\nfirst; at least 2 stages with non-negative numeric values,\ne.g. {\"Visited\": 1000, \"Signed up\": 200}."
}
},
"required": [
"stages"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢cohort_retention(cohorts)
Build a retention table and average curve from raw cohort counts. PREMIUM (license). Typical input {"cohorts": {"2026-01": [1000, 400, 300, 250]}} — index 0 is cohort size, each later index is users still active in that period — returns {"retention_table_pct": {"2026-01": [100.0, 40.0, 30.0, 25.0]}, "avg_curve_pct": [...], "reading": "..."}. Use when each cohort has counts per period since acquisition. Not for a one-pass funnel (funnel_report). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "cohort '<value>' must map to a list of numbers,"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Eingabe-Schema
{
"type": "object",
"properties": {
"cohorts": {
"additionalProperties": true,
"type": "object",
"description": "Mapping of cohort label to a list of counts, where\ncounts[0] is the cohort size and counts[n] is users active in\nperiod n, e.g. {\"2026-01\": [1000, 400, 300]}. The first 24\ncohorts are used."
}
},
"required": [
"cohorts"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}🟢forecast_trend(values, periods_ahead)
Forecast future periods with a linear trend and honest fit quality. PREMIUM (license). For quick planning, not statistical modeling. Typical input {"values": [100, 120, 138, 161], "periods_ahead": 3} returns {"trend_per_period": 20.2, "r_squared": 0.998, "forecast": [180.9, 201.1, 221.3], "caveat": "..."}. Use when a series is roughly linear and fit quality matters as much as the projection. Not for seasonal or cyclical data, and not for measuring growth already observed (growth_rates). Errors: on invalid, missing, or malformed input this tool never raises a protocol error — it returns {"error": "<what is wrong and how to fix it>"} (for example {"error": "need at least 4 historical values"}). Every call is read-only and idempotent, so after correcting the input it is always safe to retry.
Eingabe-Schema
{
"type": "object",
"properties": {
"values": {
"items": {
"type": "number"
},
"minItems": 4,
"type": "array",
"description": "Ordered historical series, oldest first; at least 4 values."
},
"periods_ahead": {
"default": 3,
"type": "integer",
"description": "How many future periods to forecast; values outside\n1-12 are clamped. Default 3."
}
},
"required": [
"values"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"additionalProperties": true
}Community
Nachweis