# Avrotize

Converts data contracts between JSON Schema, Protobuf, Avro, and database models while generating typed code. Useful for bridging mismatched APIs.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 132
- Author: clemensv
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/clemensv/avrotize
- Updated: 2026-10-19
- HTML: https://affpapa.org/en/nevibecode/mcp/avrotize

## What it does

The server functions as an intermediate translator for contract definitions. Avrotize maps incoming specifications to an internal Avrotize Schema derived from Apache Avro. From there, it generates target schema definitions or typed classes for TypeScript, Go, Python, and Rust.

The tool handles dozens of input sources, including Parquet, XML Schema, FlatBuffers, and Protobuf. It can also inspect schemas directly from databases such as PostgreSQL, MySQL, BigQuery, and MongoDB.

Database inspection commands fail unless you install specific driver extras such as `avrotize[postgres]` beforehand. Python 3.10 is strictly required.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add avrotize -- uvx avrotize
```
uvx runs the command named after the package; if the README names another one, use uvx --from avrotize <command>

### Codex

**Platform CLI**
```bash
codex mcp add avrotize -- uvx avrotize
```
uvx runs the command named after the package; if the README names another one, use uvx --from avrotize <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "avrotize": {
            "command": "uvx",
            "args": [
                "avrotize"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from avrotize <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "avrotize": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "avrotize"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from avrotize <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add avrotize uvx avrotize
```
uvx runs the command named after the package; if the README names another one, use uvx --from avrotize <command>

## When to use it
- convert JSON Schema or XML definitions into Protocol Buffers
- generate typed structures for TypeScript, Go, or Rust from schema files
- extract database table definitions from PostgreSQL into intermediate schemas
- transform Kafka Connect and Parquet schemas into Avro contracts

## Example prompts
- Convert the `schema.json` file from JSON Schema to Protobuf 3
- Generate TypeScript interfaces based on the `events.avsc` Avro schema
- Extract the PostgreSQL database schema and transform it into Avrotize Schema

## Similar
- [MCP Toolbox for Databases](https://affpapa.org/en/nevibecode/mcp/googleapis-mcp-toolbox-for-databases.md) — MCP server · ★ 16717
- [PostHog MCP Server](https://affpapa.org/en/nevibecode/mcp/posthog-mcp-server.md) — MCP server · ★ 40409
- [OpenWork MCP Gateway](https://affpapa.org/en/nevibecode/mcp/openwork-mcp-gateway.md) — MCP server · ★ 24242
- [Keploy](https://affpapa.org/en/nevibecode/mcp/keploy.md) — MCP server · ★ 18727
- [Nhost](https://affpapa.org/en/nevibecode/mcp/nhost.md) — MCP server · ★ 9366
- [basebalance.cloud — x402 RPC & MCP gateway](https://affpapa.org/en/nevibecode/mcp/basebalancecloud-x402-rpc-mcp-gateway.md) — MCP server · ★ 7506

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
