MCP-Server

Moltline Data Desk

com.moltlinestudio/data
Daten & Analytik Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Profiles CSV data and performs A/B testing, correlation, retention, forecasting, funnel, and growth-rate analyses.

ab_test
Ab Test
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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['conversions_a', 'visitors_a', 'conversions_b', 'visitors_b'], 'properties': {'visitors_a': {'type': 'integer', 'minimum': 1, 'description': 'Visitors in variant A; must be at least 1.'}, 'visitors_b': {'type': 'integer', 'minimum': 1, 'description': 'Visitors in variant B; must be at least 1.'}, 'conversions_a': {'type': 'integer', 'minimum': 0, 'description': 'Conversions in variant A; 0 or more, at most\nvisitors_a.'}, 'conversions_b': {'type': 'integer', 'minimum': 0, 'description': 'Conversions in variant B; 0 or more, at most\nvisitors_b.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
cohort_retention
Cohort Retention
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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['cohorts'], 'properties': {'cohorts': {'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.', 'additionalProperties': True}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
correlation
Correlation
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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['x', 'y'], 'properties': {'x': {'type': 'array', 'items': {'type': 'number'}, 'minItems': 3, 'description': 'First numeric series; at least 3 values, same length as y.'}, 'y': {'type': 'array', 'items': {'type': 'number'}, 'minItems': 3, 'description': 'Second numeric series; at least 3 values, same length as x.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
csv_profile
Csv Profile
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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['csv_text'], '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': {'type': 'string', 'default': ',', 'description': 'Field separator, exactly one character, e.g. "," or ";".\nDefault ",".'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
forecast_trend
Forecast Trend
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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['values'], 'properties': {'values': {'type': 'array', 'items': {'type': 'number'}, 'minItems': 4, 'description': 'Ordered historical series, oldest first; at least 4 values.'}, 'periods_ahead': {'type': 'integer', 'default': 3, 'description': 'How many future periods to forecast; values outside\n1-12 are clamped. Default 3.'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
funnel_report
Funnel Report
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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['stages'], 'properties': {'stages': {'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}.', 'additionalProperties': True}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
growth_rates
Growth Rates
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.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['values'], 'properties': {'values': {'type': 'array', 'items': {'type': 'number'}, 'minItems': 2, 'description': 'Ordered numeric series, oldest first, at least 2 values,\ne.g. monthly revenue [1000, 1100, 1320].'}}, 'additionalProperties': False}
Ausgabeschema
{'type': 'object', 'additionalProperties': True}
Hinzugefügt
forecast_trend
17. September 2026 12:36
Hinzugefügt
cohort_retention
17. September 2026 12:36
Hinzugefügt
funnel_report
17. September 2026 12:36
Hinzugefügt
growth_rates
17. September 2026 12:36
Hinzugefügt
correlation
17. September 2026 12:36
Hinzugefügt
ab_test
17. September 2026 12:36
Hinzugefügt
csv_profile
17. September 2026 12:36