Skip to main content
Glama

cwprep - Text-to-PrepFlow エンジン

cwprep は、Text-to-PrepFlow 生成を可能にする Python ベースのエンジンです。

.tfl JSON 構造をリバースエンジニアリングし、組み込みの MCP (Model Context Protocol) サーバーを提供することで、cwprep は LLM (Claude、Gemini など) と Tableau Prep の間の架け橋として機能します。GUI を開くことなく、自然言語での会話や Python スクリプトを通じて、データクリーニングフローの生成、変更、構築が可能になりました!

作成者: Cooper Wenhua imgwho@gmail.com

インストール

pip install cwprep

Related MCP server: cwtwb

クイックスタート

from cwprep import TFLBuilder, TFLPackager

# Create builder
builder = TFLBuilder(flow_name="My Flow")

# Add database connection
conn_id = builder.add_connection(
    host="localhost",
    username="root",
    dbname="mydb"
)

# Add input tables
orders = builder.add_input_table("orders", "orders", conn_id)
customers = builder.add_input_table("customers", "customers", conn_id)

# Join tables
joined = builder.add_join(
    name="Orders + Customers",
    left_id=orders,
    right_id=customers,
    left_col="customer_id",
    right_col="customer_id",
    join_type="left"
)

# Add output
builder.add_output_server("Output", joined, "My_Datasource")

# Build and save
flow, display, meta = builder.build()
TFLPackager.save_tfl("./my_flow.tfl", flow, display, meta)

デフォルトでは、SDK と MCP の両方が最終的な .tfl/.tflx アーカイブのみを出力します。検証のために展開されたフォルダーが必要な場合にのみ save_to_folder() を使用してください。

機能

機能

メソッド

説明

データベース接続

add_connection()

MySQL/PostgreSQL/SQL Server に接続

ファイル接続

add_file_connection()

Excel (.xlsx/.xls) または CSV ファイルに接続

SQL 入力

add_input_sql()

カスタム SQL クエリ入力

テーブル入力

add_input_table()

直接テーブル接続

Excel 入力

add_input_excel()

Excel ワークシートから読み込み

CSV 入力

add_input_csv()

CSV ファイルから読み込み

CSV ユニオン

add_input_csv_union()

複数の CSV ファイルを結合

結合 (Join)

add_join()

左/右/内部/完全結合 (単一または複数列)

ユニオン (Union)

add_union()

複数のテーブルを結合

フィルター

add_filter()

式ベースのフィルター

値フィルター

add_value_filter()

値による保持/除外

列の保持

add_keep_only()

列を選択

列の削除

add_remove_columns()

列を削除

名前変更

add_rename()

列名を変更

計算

add_calculation()

Tableau 計算フィールド

クイック計算

add_quick_calc()

クイッククリーン (小文字/大文字/トリム/削除)

型変更

add_change_type()

列のデータ型を変更

列の複製

add_duplicate_column()

列を複製 (コピー)

集計

add_aggregate()

SUM/AVG/COUNT を使用した GROUP BY

ピボット

add_pivot()

行を列に変換

アンピボット

add_unpivot()

列を行に変換

出力

add_output_server()

Tableau Server にパブリッシュ

TFLX パッケージ化

build(is_packaged=True)

データファイルを埋め込んだ .tflx を生成

SQL 変換

SQLTranslator

TFL フローを同等の ANSI SQL に変換

完全なデモについては examples/ ディレクトリを参照してください:

  • demo_basic.py - 入力、結合、出力

  • demo_cleaning.py - フィルター、計算、名前変更

  • demo_field_operations.py - クイック計算、型変更、列の複製

  • demo_aggregation.py - ユニオン、集計、ピボット

  • demo_comprehensive.py - すべての機能を組み合わせた例

  • prompts.md - AI 主導のフロー生成のためのすぐに使える 8 つの MCP プロンプトテンプレート

MCP サーバー

cwprep には組み込みの Model Context Protocol サーバーが含まれており、AI クライアント (Claude Desktop、Cursor、Gemini CLI など) が TFL ファイルを直接生成できるようになります。

前提条件

メソッド

要件

uvx (推奨)

uv をインストール — 分離された環境で cwprep を自動ダウンロードします

pip install

Python ≥ 3.8 + pip install cwprep

クイックスタート

# Local (stdio)
cwprep-mcp

# Remote (Streamable HTTP)
cwprep-mcp --transport streamable-http --port 8000

[!TIP] アップグレードする場合: 以前のバージョンの uvx を使用していた場合は、キャッシュをクリアして最新リリースを取得してください:

uv cache clean cwprep

クライアント設定

以下のすべてのクライアントは uvx メソッド (推奨) を使用します。ローカルの pip install を好む場合は uvxcwprep-mcp に置き換えてください。

設定ファイルを編集:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "cwprep": {
      "command": "uvx",
      "args": ["--from", "cwprep", "cwprep-mcp"]
    }
  }
}

設定 → MCP → 新しい MCP サーバーを追加、または ~/.cursor/mcp.json を編集:

{
  "mcpServers": {
    "cwprep": {
      "command": "uvx",
      "args": ["--from", "cwprep", "cwprep-mcp"]
    }
  }
}

プロジェクトルートに .vscode/mcp.json を作成:

{
  "servers": {
    "cwprep": {
      "command": "uvx",
      "args": ["--from", "cwprep", "cwprep-mcp"]
    }
  }
}

~/.codeium/windsurf/mcp_config.json を編集:

{
  "mcpServers": {
    "cwprep": {
      "command": "uvx",
      "args": ["--from", "cwprep", "cwprep-mcp"]
    }
  }
}
claude mcp add cwprep -- uvx --from "cwprep" cwprep-mcp

~/.gemini/settings.json を編集:

{
  "mcpServers": {
    "cwprep": {
      "command": "uvx",
      "args": ["--from", "cwprep", "cwprep-mcp"]
    }
  }
}

~/.continue/config.yaml を編集:

mcpServers:
  - name: cwprep
    command: uvx
    args:
      - --from
      - cwprep
      - cwprep-mcp

サーバーを起動:

cwprep-mcp --transport streamable-http --port 8000

次に、クライアントをエンドポイント http://your-server-ip:8000/mcp で設定します。

利用可能な MCP 機能

タイプ

名前

説明

🔧 ツール

generate_tfl

フロー定義から .tfl/.tflx ファイルを生成

🔧 ツール

translate_to_sql

フロー定義または .tfl ファイルを ANSI SQL に変換

🔧 ツール

list_supported_operations

サポートされているすべてのノードタイプを一覧表示

🔧 ツール

validate_flow_definition

生成前にフロー定義を検証

📖 リソース

cwprep://docs/api-reference

SDK API リファレンス

📖 リソース

cwprep://docs/calculation-syntax

Tableau Prep 計算構文

📖 リソース

cwprep://docs/best-practices

一般的な落とし穴とフロー設計ルール

💬 プロンプト

design_data_flow

インタラクティブなフロー設計アシスタント

💬 プロンプト

explain_tfl_structure

TFL ファイル構造の説明

AI スキルサポート

このプロジェクトには、Claude や Gemini などのアシスタントがフローを構築するのを支援するための専門的な AI スキルが含まれています。

  • 場所: .agents/skills/tfl-generator/

  • 機能: フォールバック SDK 使用ガイド付きの MCP サーバーインデックス。詳細な API および構文リファレンスは、src/cwprep/references/ から MCP リソース経由で提供されます。

ディレクトリ構造

cwprep/
├── .agents/skills/      # AI Agent skills (MCP index)
├── src/cwprep/          # SDK source code
│   ├── builder.py       # TFLBuilder class
│   ├── packager.py      # TFLPackager class
│   ├── translator.py    # SQLTranslator class
│   ├── expression_translator.py  # ExpressionTranslator class
│   ├── config.py        # Configuration utilities
│   ├── mcp_server.py    # MCP Server (Tools, Resources, Prompts)
│   └── references/      # MCP Resource documents (.md)
├── examples/            # Demo scripts
├── docs/                # Documentation
└── tests/               # Unit tests

設定

デフォルト設定用に config.yaml を作成します:

# MySQL (default)
database:
  host: localhost
  port: 3306
  dbname: mydb
  type: mysql

# SQL Server (Windows Authentication)
# database:
#   host: localhost
#   type: sqlserver
#   authentication: sspi
#   schema: dbo

# PostgreSQL
# database:
#   host: localhost
#   port: 5432
#   dbname: mydb
#   type: postgres

tableau_server:
  url: http://your-server
  default_project: Default

変更履歴

バージョン履歴については changelog.md を参照してください。

ライセンス

AGPL-3.0 ライセンス

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivitySlowing
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aidatacooper/cwprep'

If you have feedback or need assistance with the MCP directory API, please join our Discord server