Moltline Data Desk
Paste-your-data analytics: CSV profiling, A/B tests, correlation, growth. 4 of 7 free.
使うべきか
品質と安全性
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"data": {
"url": "https://mcp.moltlinestudio.com/data"
}
}
}リモートエンドポイント
https://mcp.moltlinestudio.com/datastreamable-httpできること
ツール一覧
ツール(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.
入力スキーマ
{
"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
}出力スキーマ
{
"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.
入力スキーマ
{
"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
}出力スキーマ
{
"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.
入力スキーマ
{
"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
}出力スキーマ
{
"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.
入力スキーマ
{
"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
}出力スキーマ
{
"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.
入力スキーマ
{
"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
}出力スキーマ
{
"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.
入力スキーマ
{
"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
}出力スキーマ
{
"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.
入力スキーマ
{
"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
}出力スキーマ
{
"type": "object",
"additionalProperties": true
}コミュニティ
エビデンス