Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

Struct

БесплатноНе проверен

Transform data structure definitions into queryable MCP servers, enabling natural language queries about field meanings, data lineage, and structure.

GitHubEmbed

Описание

Transform data structure definitions into queryable MCP servers, enabling natural language queries about field meanings, data lineage, and structure.

README

Transform data structure definitions into queryable MCP servers. Define your data structures with business context and get an AI-queryable interface that can answer questions about field meanings, data lineage, and structure.

Quick Start

# Install
pip install struct-mcp

# Create a structure definition
echo "cheese_inventory:
  description: 'Artisanal cheese catalog'
  fields:
    cheese_id:
      type: string
      description: 'Unique identifier for each cheese'
      upstream_table: 'inventory.raw_cheese_data'
    name:
      type: string
      description: 'Display name of the cheese'
    stinkiness_level:
      type: integer
      nullable: true
      description: 'Stinkiness rating from 1-10'
" > cheese.yaml

# Start MCP server
struct-mcp serve cheese.yaml

Supported Formats

Load from multiple input formats:

  • YAML - Primary format with full business context
  • JSON Schema - Standard JSON Schema files
  • OpenSearch - Elasticsearch/OpenSearch mappings
  • Avro - Apache Avro schemas
  • Pydantic - Python BaseModel classes
  • Protocol Buffer - .proto message definitions
struct-mcp serve schema.yaml        # YAML
struct-mcp serve schema.json        # JSON Schema/OpenSearch/Avro
struct-mcp serve model.py          # Pydantic
struct-mcp serve messages.proto    # Protocol Buffer

What You Can Ask

Once loaded, query your structures with natural language:

  • "What does the cheese_id field represent?"
  • "Which fields come from the inventory table?"
  • "What fields are nullable and why?"
  • "How is stinkiness_level calculated?"
  • "Show me all array fields"

Python API

from struct_mcp import StructMCP, MCPServer

# Load any format
smc = StructMCP.from_file("cheese.yaml")

# Query programmatically
fields = smc.get_fields("cheese_inventory")
nullable_fields = smc.get_fields("cheese_inventory", nullable=True)

# Convert between formats
opensearch_mapping = smc.to_opensearch()
pydantic_model = smc.to_pydantic()

# Start MCP server
server = MCPServer(smc)
server.start()

Examples

See examples/ for sample files in all supported formats:

  • cheese_catalog.yaml - Artisanal cheese inventory
  • user_profiles.yaml - User data with preferences
  • financial_transactions.yaml - Payment processing metadata

Documentation

For detailed setup, development, and API documentation, see setup.md.

License

MIT

from github.com/LaurEars/struct-mcp

Установка Struct

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/LaurEars/struct-mcp

FAQ

Struct MCP бесплатный?

Да, Struct MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для Struct?

Нет, Struct работает без API-ключей и переменных окружения.

Struct — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить Struct в Claude Desktop, Claude Code или Cursor?

Открой Struct на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare Struct with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории development