json-shaper-lite について
json-shaper-liteは、キーと値のメモ、CSV/TSV、Markdown表を、決定的な非AI解析で型付きJSONに変換します。構造化テキストをローカルで処理する人向けで、読み取り専用のMCPツールも備えます。
主な機能
- 01キーと値のメモを解析
- 02CSVとTSVを変換
- 03Markdown表を読み取り
- 04数値・真偽値・nullを推定
- 05CLI、Python API、MCPサーバー
活用シーン
- 01メモを型付きJSONに変換
- 02スクリプト用にCSVやTSVを整形
- 03AIアプリでテキストやローカルファイルを解析
MCP 対応
内蔵MCPサーバーは `shape_text_to_json` と `shape_file_to_json` を提供します。どちらも読み取り専用で、テキストまたは対応するローカルテキストファイルを処理します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
2掲載時のツール一覧 · 4 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| text | string | はい | JSON に変換するテキスト:key: value の行、CSV/TSV、または Markdown テーブル。 |
| format | enum | いいえ | 入力形式。"auto" は自動選択します。"kv" = key: value の行、"csv" = CSV/TSV、"markdown" = パイプ区切りのテーブル。auto | kv | csv | markdown |
詳細
json-shaper-lite
key: value形式のメモ、CSV/TSV、Markdownの表を整ったJSONに変換する無料ツールです。
アプリのログや米国の住所も解析する必要がありますか?有料版で対応しています:json-shaper on Gumroad
AIではなく通常のコードを使うため、同じテキストからは常に同じJSONが生成されます。お使いのコンピューター上で実行できます。MITライセンスです。Python 3.10以降に対応し、Windows、Mac、Linuxで動作します。
インストール
pip install json-shaper-lite
または、専用の環境にインストールできるpipxを使います:
pipx install json-shaper-lite
代わりにGitHubの最新コードを使いますか?
pip install git+https://github.com/tidybytetools/json-shaper-lite
または、json_shaper_lite.pyをダウンロードして、python3で実行するだけです。このファイルはPython標準ライブラリのみを使用します。(pipでインストールすると、MCP サーバーに必要なmcpパッケージも追加されます。)
使い方
printf 'Name: Ada\nAge: 36\nActive: yes' | json-shaper-lite
json-shaper-lite export.csv
json-shaper-lite notes.md --format markdown
json-shaper-lite export.csv --json # {"ok": true, "format": "csv", "data": [...]}
出力:
{"name": "Ada", "age": 36, "active": true}
数値は数値として、yes/noとtrue/falseはブール値として、空の値や「null」はnullとして出力されます。形式は自動で検出されますが、--format kv|csv|markdownで指定することもできます。
Pythonから使う場合:
from json_shaper_lite import shape
shape("x,y\n1,2") # {'format': 'csv', 'data': [{'x': 1, 'y': 2}]}
ターミナルで実行すると、結果の後に有料版についての短い行がstderrに出力されます。この行がJSON出力に含まれることはありません。ターミナルを見ているときだけ表示され、--quietで無効にできます。
既知の制限事項
- フラットなJSONを生成します。 ネストされたJSONのフラット化や復元はできません。その場合はflatten-jsonなどのツールを使ってください。
- 型は推測です。
007や郵便番号のような値が数値に変換される場合があります。必要に応じて、後から手動で修正してください。 - 1回につき1つの表に対応します。 1つのファイル内にMarkdownの表が2つあると、混在してしまいます。先に分割してください。
- アプリのログや住所には対応していません。 これらは有料版で利用できます。
他の無料ツールとの比較
| json-shaper-lite | flatten-json | csvkit csvjson | pandas | |
|---|---|---|---|---|
| 主な用途 | 雑多なテキスト → JSON | ネストされたJSON → フラット化(および復元) | CSV → JSON | 総合データツールキット |
| インストールサイズ | 1ファイル(pipではMCP サーバー用にmcpを追加) | 小 | 中 | 大 |
key: value形式のメモ | はい | いいえ | いいえ | いいえ |
| Markdownの表 | はい | いいえ | いいえ | いいえ、標準機能ではありません |
| CSV/TSV | はい | いいえ | はい | はい |
| 数値やtrue/falseを推測 | はい | いいえ | はい | はい |
| ネストされたJSONのフラット化/復元 | いいえ | はい | いいえ | はい(json_normalize) |
| AIアプリ向けMCP サーバー | はい | いいえ | いいえ | いいえ |
データがすでにJSONで、ネストが深すぎるだけなら、flatten-jsonのほうがおすすめです。
Claude DesktopまたはCursorから使う(MCP)
小規模な無料のMCP サーバーが組み込まれています。AIアプリに2つのツールを提供します。どちらも読み取り専用です。ファイルへの書き込みや変更は行わず、インターネットも使用しません。uvが必要です。
起動することを確認するには、手動で実行します(アプリからの接続を静かに待ち受けます):
uvx json-shaper-lite mcp
Claude Desktop(claude_desktop_config.json)またはCursor(~/.cursor/mcp.json):
{
"mcpServers": {
"json-shaper-lite": {
"command": "uvx",
"args": ["json-shaper-lite", "mcp"]
}
}
}
uvx --from json-shaper-lite json-shaper-lite-mcpを実行すると、同じサーバーが起動します。
ツール:
shape_text_to_json(text, format="auto"):チャット内のテキスト用です。shape_file_to_json(path, format="auto"):コンピューター上のテキストファイル用です(.txt、.csv、.tsv、.md、最大5 MB)。
どちらも{"format": "csv", "data": [...]}を返します。formatにはauto、kv、csv、markdownを指定できます。
AI エージェント向け
- 使用する場合:
key: value形式の行、CSV/TSV、または Markdown テーブルのプレーンテキストを、型付き JSON に変換する必要がある場合。 - 使用しない場合: 入力がすでに JSON の場合、アプリのログの場合、またはネストされたデータの場合。ログには有料版を使用してください。
- 入力: stdin のテキスト、またはファイルパスです。
--format kv|csv|markdownは任意です。 - MCP:
uvx json-shaper-lite mcpを実行すると、読み取り専用ツールshape_text_to_jsonとshape_file_to_jsonが利用できます。 - 出力:
--jsonを指定すると、{"ok": true, "format": "csv", "data": [...]}の形式で1つのオブジェクトを出力します。エラーの場合、okは false です。終了コードは、成功時が 0、エラー時が 1 です。 - ヒント行は stderr にのみ出力され、ターミナルで実行している場合に限られるため、stdout は常にクリーンな JSON になります。詳しくは
llms.txtもご覧ください。
Lite 版と有料版
| lite(無料) | json-shaper | |
|---|---|---|
| key: value 形式のメモ、CSV/TSV、Markdown テーブル | はい | はい |
| アプリのログ(タイムスタンプ、レベル、メッセージ、key=value 形式のフィールド) | いいえ | はい |
| 米国住所を1行で分割 | いいえ | はい |
スクリプトと AI エージェント向けの tool.json マニフェスト | いいえ | はい |
テスト
pip install "mcp>=1.10,<2"
python3 -m unittest discover tests
mcp がインストールされていない場合、MCP テストはスキップされます。
ライセンス
MIT。LICENSE をご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。