MCPSERV.CLUB
Graphweaver

Graphweaver

Self-Hosted

Build a single GraphQL API from any data source

Active(97)
542stars
0views
Updated 2 days ago
Graphweaver screenshot 1
1 / 2

Overview

Discover what makes Graphweaver powerful

Graphweaver is a **code‑first, fully customisable** GraphQL engine that abstracts multiple heterogeneous data sources—SQL databases, REST APIs, SaaS platforms like CRM and accounting systems—into a single queryable endpoint. Unlike schema‑driven alternatives, it generates the GraphQL schema automatically from your source definitions and then exposes a rich set of hooks that let developers inject business logic, authentication, or performance optimisations at any stage of the request pipeline. The core idea is to keep the GraphQL server as a thin orchestration layer, allowing you to maintain full control over data flow while still benefiting from the flexibility of GraphQL.

Auto‑generated CRUD

Custom resolvers

Permissions & Auth

Cross‑source queries

Overview

Graphweaver is a code‑first, fully customisable GraphQL engine that abstracts multiple heterogeneous data sources—SQL databases, REST APIs, SaaS platforms like CRM and accounting systems—into a single queryable endpoint. Unlike schema‑driven alternatives, it generates the GraphQL schema automatically from your source definitions and then exposes a rich set of hooks that let developers inject business logic, authentication, or performance optimisations at any stage of the request pipeline. The core idea is to keep the GraphQL server as a thin orchestration layer, allowing you to maintain full control over data flow while still benefiting from the flexibility of GraphQL.

Architecture & Technical Stack

Graphweaver is built on Node.js (TypeScript), leveraging the graphql library for schema construction and Apollo Server for execution. Data source adapters are implemented as pluggable modules, each exposing a standard interface that maps CRUD operations to underlying APIs or databases. The runtime uses TypeORM for relational database integration and axios for HTTP adapters, enabling seamless federation across RESTful services. Persisted schema fragments are stored in a lightweight JSON or SQLite store, allowing hot reloads without restarting the server. The admin UI is a React SPA served from the same Node process, communicating via GraphQL mutations and subscriptions for real‑time configuration updates.

Core Capabilities

  • Auto‑generated CRUD: One line of code can expose full create, read, update, delete operations for any supported source.
  • Custom resolvers: Override auto‑generated logic by providing a TypeScript function that receives the request context, arguments, and source metadata.
  • Permissions & Auth: Integrate with JWT, OAuth2, or custom middleware; declaratively attach policies to types and fields.
  • Cross‑source queries: Compose queries that span multiple adapters (e.g., fetch customers from CRM and their invoices from an accounting API in a single request).
  • Admin Panel: Drag‑and‑drop schema builder, live preview of queries, and audit logs—all configurable via the same GraphQL API.
  • Webhooks & Subscriptions: Expose real‑time events from any source; developers can subscribe to changes or trigger downstream workflows.

Deployment & Infrastructure

Graphweaver is intentionally lightweight and container‑friendly. A single Docker image (built from the Dockerfile in the repo) contains all dependencies, making it trivial to deploy on Kubernetes, Docker‑Compose, or even a bare‑metal VM. The application reads configuration from environment variables and optional YAML files, allowing you to spin up multiple instances behind a load balancer. For persistence, it can use any supported database (PostgreSQL, MySQL, SQLite) or even a cloud‑managed NoSQL store; the choice is entirely declarative in the source config. Horizontal scaling is straightforward—each node can serve requests independently, and shared state (like schema cache) is stored in the configured database.

Integration & Extensibility

Graphweaver’s plugin architecture lets developers add new adapters or extend existing ones without touching core code. The public API surface includes:

  • Adapter hooks (beforeQuery, afterMutation) for data transformation.
  • Middleware stack that plugs into Apollo’s request lifecycle.
  • Webhooks to expose internal events (onSchemaReload, onAuthSuccess).
  • Custom UI components via a simple React plugin system, enabling bespoke admin dashboards or analytics panels.

Developer Experience

The project ships with comprehensive TypeDoc and markdown documentation, covering every hook, configuration option, and best‑practice pattern. A vibrant GitHub community maintains a growing list of adapters (Postgres, MySQL, Stripe, HubSpot, etc.) and quick‑start examples. The codebase follows strict linting (ESLint + Prettier) and CI checks, ensuring that contributors can reliably add features. Documentation is annotated with code snippets (in TypeScript) but deliberately omits installation commands, focusing on conceptual clarity. The MIT license guarantees no vendor lock‑in, and the open‑source nature means you can audit every line of code.

Use Cases

  • Enterprise API Gateways: Expose a single GraphQL endpoint that pulls customer, order, and inventory data from disparate SaaS platforms.
  • Rapid Prototyping: Spin up a CRUD API in minutes for internal tools or MVPs, then iterate on resolver logic as requirements evolve.
  • Data‑driven SaaS: Build a multi‑tenant platform where each tenant’s data lives in separate databases or services, yet the public API remains uniform.
  • Legacy Integration: Wrap old REST endpoints or CSV exports with GraphQL, adding authentication and schema evolution without rewriting the backend.

Advantages Over Alternatives

Graphweaver offers maximum flexibility: because it is code‑first, you can override any generated resolver or authentication flow. Its performance benefits from in‑memory caching and efficient query planning across adapters, while the scalability is built into the containerised architecture. Licensing is a major win—MIT means you can ship proprietary services without compliance headaches. Finally, the extensibility model (adapter plugins, middleware hooks) allows teams to grow their data ecosystem without refactoring the core engine.

Open SourceReady to get started?

Join the community and start self-hosting Graphweaver today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
development-tools
License
NOASSERTION
Stars
542
Technical Specs
Pricing
Open Source
Database
Multiple
Supported OS
LinuxDocker
Author
exogee-technology
exogee-technology
Last Updated
2 days ago