mcpField
Q
Quicktype Mcp

Quicktype Mcp

ローカル
github.com/AscEmon開発ツール262 週間前に更新

Quicktype Mcp について

Quicktype Mcpは、JSONから型安全なモデルを生成するMCPサーバーです。複数言語に対応し、JSONの検証・修正や、null安全なコードとシリアライズメソッドの生成を行います。

主な機能

  1. 01複数言語のモデル生成
  2. 02JSONの検証と修正
  3. 03null安全なモデル生成
  4. 04ネストしたJSON構造への対応
  5. 05シリアライズメソッドの付属

活用シーン

  1. 01JSONからDartモデルを作成
  2. 02シリアライズ対応のKotlinモデルを生成
  3. 03モデル生成前に不正なJSONを修正

MCP 対応

MCPサーバーは、JSONからモデルを生成する`generate_model`のほか、`list_languages`と`fix_json`ツールを公開します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Quicktype MCP サーバー

JSON からモデルを生成するために特別に設計された MCP(Model Context Protocol)サーバーです。このツールを使うと、Dart や Kotlin など、さまざまなプログラミング言語向けの型安全なモデルを簡単に作成できます。

特長

  • 複数のプログラミング言語向けのモデルを生成
  • JSON の自動検証と修正
  • null 安全なモデルを生成
  • 複雑なネストされた JSON 構造に対応
  • シリアライズ/デシリアライズメソッドを搭載

前提条件

  • Python 3.10 以降
  • インターネット接続(quicktype.io API へのアクセスに使用)

MCP サーバーとしての使用方法

このツールは、ほかのアプリケーションから接続して使用する MCP サーバーとして設計されています。サーバーは、JSON 入力からモデルを生成するためのシンプルな API を公開します。

API

サーバーは次のエンドポイントを公開します。

  • generate_model:JSON 入力からモデルを生成します

パラメーター:

  • json_input:モデルの生成元となる JSON 文字列
  • class_name:生成するクラスの名前(デフォルト:Model)
  • language:コードを生成するプログラミング言語(dart、kotlin、typescript、swift、python、java、go)
{
  "quicktype-mcp": {
    "command": "uv",
    "args": [
      "--directory",
      "/path/to/quicktype-mcp",
      "run",
      "main.py",
    ]
  }
}
利用可能な MCP ツール
  1. generate_model:JSON からモデルを生成します

    • パラメーター:
      • json_input:モデルの生成元となる JSON 文字列
      • class_name:生成するクラスの名前(デフォルト:"Model")
      • language:コードを生成するプログラミング言語(dart、kotlin)
  2. list_languages:サポートされているすべての言語を一覧表示します

  3. fix_json:無効な JSON 入力を修正して整形します

サポート対象の言語

現在、サーバーは次の言語向けのモデル生成をサポートしています。

Dart(シリアライズ機能を内蔵)

Dart では、生成されるモデルにシリアライズメソッド(fromJson と toJson)が組み込まれています。

// To parse this JSON data, do
//
//     final model = modelFromJson(jsonString);

import 'dart:convert';

class Model {
  int? id;
  String? name;

  Model({
    this.id,
    this.name,
  });

  factory Model.fromJson(Map<String, dynamic> json) => Model(
    id: json["id"],
    name: json["name"],
  );

  Map<String, dynamic> toJson() => {
    "id": id,
    "name": name,
  };
}
Kotlin(kotlinx.serialization を使用)

Kotlin では、生成されるモデルで kotlinx.serialization アノテーションを使用します。

// To parse the JSON, install kotlin's serialization plugin and do:
//
// val json = Json { allowStructuredMapKeys = true }
// val model = json.decodeFromString(Model.serializer(), jsonString)

import kotlinx.serialization.*
import kotlinx.serialization.json.*
import kotlinx.serialization.descriptors.*
import kotlinx.serialization.encoding.*

@Serializable
data class Model(
    val id: Int? = null,
    val name: String? = null
)

Kotlin ジェネレーターは次のコードを生成します。

  • 自動シリアライズ/デシリアライズに kotlinx.serialization アノテーションを使用
  • Kotlin の null 安全機能を使って、null 許容型を適切に処理
  • snake_case の JSON キーを camelCase の Kotlin プロパティに変換
  • プロパティ名が JSON キーと異なる場合は @SerialName アノテーションを使用
  • ネストされたオブジェクト、リスト、複雑なデータ構造をサポート

トラブルシューティング

サーバーが起動しない場合は、次の点を確認してください。

  1. インターネットに接続されていること
  2. すべての依存関係がインストールされていること
  3. 正しいバージョンの Python(3.10 以降)が使用されていること

生成されたモデルに問題がある場合:

  1. JSON が有効であることを確認してください
  2. エラーが発生した場合は、複雑な JSON 構造を簡略化してみてください
  3. クラス名が対象言語の命名規則に従っていることを確認してください

生成されるモデルの特長

  • null 安全性:必要に応じて、すべてのフィールドに null 許容のマークが適切に付与されます
  • JSON シリアライズ:シリアライズ/デシリアライズメソッドを搭載
  • ネストされたオブジェクト:独自のクラスを持つネストされたオブジェクトを適切に処理
  • リストとマップ:コレクションとそのジェネリック型を正しく処理
  • 型安全性:JSON 値に適した型を使用

ライセンス

このプロジェクトは MIT ライセンスの下でライセンスされています。詳細については LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。