Vibeleaderboard
Index / tool
Visit block.github.io
Category
Developer Tools
Rank
Pricing
Open Source
Type
TOOL
Builder
block
GitHub
88 stars
Latest release
v1.2.0
Date

About

Schema-driven, scalable, cloud-native, batteries-included GraphQL framework backed by Elasticsearch and OpenSearch.

What it does

ElasticGraph turns a Ruby-defined data model into the artifacts and services needed to index records and answer GraphQL queries through a search datastore. Its modules cover schema generation, query translation, indexing, administration, Rack serving, and an interactive GraphQL browser. Optional packages add federation, health checks, query controls, warehousing, and AWS Lambda deployment support.

Why it's ranked here

ElasticGraph merits attention because it tackles the whole path from model definition to local development and production-facing query services. The repository shows unusually broad engineering discipline: modular packages, three layers of datastore testing, enforced coverage, type checking, generated artifacts, and validated documentation examples. That depth comes with substantial operational and conceptual weight.

What's good

The project generator creates a working application, installs dependencies, builds schema artifacts, runs tests, and prepares an initial Git repository. Elasticsearch and OpenSearch have separate adapters, while core concerns remain split into focused packages. The test strategy covers query construction, direct datastore execution, and full GraphQL requests. A companion MCP server exposes project checks, documentation, common commands, and the current GraphQL schema to agent clients.

Tradeoffs

This is a Ruby-centered platform with many cooperating packages, Rake tasks, generated artifacts, and datastore services to understand. Local development requires Docker, while integration and acceptance tests require a running Elasticsearch or OpenSearch instance. Type coverage is incomplete because several implementation files are explicitly excluded. The MCP server is narrow: it validates projects and serves resources, but does not expose query execution or administration tools.

How to use it well

Choose ElasticGraph when a Ruby team wants a schema-led search API and accepts Elasticsearch or OpenSearch as the serving datastore. Start with the generator, keep schema artifacts under build validation, and test against the chosen datastore early. Use its extensions only where needed. The MCP companion helps agents navigate projects and documentation, but it does not replace operational tooling, datastore management, or application-specific ingestion design.

Technical notes+

config/schema.rb establishes the Ruby schema entry point and loads domain definitions. elasticgraph/lib/elastic_graph/cli.rb implements the Thor generator, supports Elasticsearch or OpenSearch, runs Bundler and build tasks, then initializes and commits a Git repository. Gemfile discovers local gemspecs recursively and wires monorepo runtime dependencies by path. Rakefile configures local services, schema artifact generation, datastore test versions, fake data, and optional schema extensions. Steepfile checks gem libraries with RBS but explicitly ignores multiple files that do not yet type-check. ai_tools/elasticgraph-mcp-server/src/elasticgraph_mcp/server.py defines FastMCP resources for documentation, commands, and the generated GraphQL schema, plus a project-detection tool that inspects the Gemfile.

Observed

License
MIT License
Primary language
Ruby, with a Python MCP companion
Packaging
Ruby monorepo containing more than 20 cooperating gems, distributed through RubyGems
Interfaces
GraphQL service, Rack server, GraphiQL browser, Thor CLI, Rake tasks, Ruby libraries, and MCP server
Datastore support
Separate adapters for Elasticsearch and OpenSearch
Ruby support
Repository standards specify Ruby 3.4.x or 4.0.x
Testing structure
RSpec unit, integration, and end-to-end acceptance layers, with SimpleCov coverage enforcement

Read from README.md, Gemfile, config/schema.rb, elasticgraph/lib/elastic_graph/cli.rb, ai_tools/elasticgraph-mcp-server/src/elasticgraph_mcp/server.py, ai_tools/elasticgraph-mcp-server/src/elasticgraph_mcp/__init__.py, ai_tools/elasticgraph-mcp-server/src/elasticgraph_mcp/__main__.py, elasticgraph-datastore_core/lib/elastic_graph/datastore_core/index_definition/index.rb, .rspec, Rakefile, AGENTS.md, CLAUDE.md, Steepfile, LICENSE.txt, .standard.yml.

What it can do

  • Create GraphQL APIs from schema definitions

    GraphQL schema filesFully functional GraphQL API endpoints

  • Index and store data in Elasticsearch/OpenSearch

    Structured data and schema mappingsIndexed data in Elasticsearch/OpenSearch clusters

  • Execute GraphQL queries against indexed data

    GraphQL queriesQuery results from Elasticsearch/OpenSearch

  • Auto-scale API infrastructure based on demand

    API traffic and load metricsDynamically scaled cloud infrastructure

  • Generate search-optimized database mappings

    GraphQL schema definitionsElasticsearch/OpenSearch index mappings

  • Deploy GraphQL services to cloud platforms

    Application configuration and schemaRunning cloud-native GraphQL services

Tags

graphqlelasticsearchopensearchrubysearch

Tech Stack

Ruby

Comments (0)

No comments yet

Editorially curated, with community endorsements as a secondary signal. Corrections welcome.