SoftInstigate/restheart
SoftInstigate/restheart has 891 GitHub stars and 179 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-09 06:49 UTC. Last push 2026-11-02.
A backend for web, mobile, AI and IoT apps. Built on MongoDB
What you can do
- AI agents: an MCP server, so agents use the application's APIs under the same permissions as its users
- RAG and vector search: embeddings computed on write (Voyage AI, any OpenAI-compatible endpoint, Ollama), uploaded documents chunked for retrieval, results re-ranked
- Accounts: sign-up, login, email verification, password reset, team invitations, Google sign-in, tokens and API keys
- Authentication and Authorization: JWT, OAuth2, LDAP, MongoDB-based users, ACL rules per role, down to the documents a user may read or change, defined as data, not code
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
Original
RESTHeart
A backend for web, mobile, AI and IoT apps.
What RESTHeart is
RESTHeart is a backend for web, mobile, AI and IoT apps. It gives an application the backend it would otherwise have to write — AI agents and RAG, accounts, permissions, data APIs, live data, email, payments — as configuration, not code. What an application needs beyond it goes into plugins, in Java, Kotlin, JavaScript or TypeScript.

Example
curl "https://demo.restheart.org/messages?filter={\"from\":\"Bob\"}&pagesize=1"
No route was written for /messages. It is a MongoDB collection, and the query parameters (filter, pagesize, sorting) map directly to MongoDB's query language.
Core capabilities
- AI agents: an MCP server, so agents use the application's APIs under the same permissions as its users
- RAG and vector search: embeddings computed on write (Voyage AI, any OpenAI-compatible endpoint, Ollama), uploaded documents chunked for retrieval, results re-ranked
- Accounts: sign-up, login, email verification, password reset, team invitations, Google sign-in, tokens and API keys
- Authentication and Authorization: JWT, OAuth2, LDAP, MongoDB-based users, ACL rules per role, down to the documents a user may read or change, defined as data, not code
- REST API: full CRUD, aggregations, filtering, sorting, pagination, JSON Schema validation, generated from the database schema
- GraphQL: schema-driven mapping to MongoDB queries
- WebSocket: change streams exposed as real-time data sync
- SSE: Server-Sent Events for dashboards, IoT feeds, and event streams
- Email: transactional messages from templates, over your own SMTP
- Payments: Stripe plans, seats and products
- Plugin framework: custom services, interceptors, and initializers in Java, Kotlin, JavaScript, or TypeScript, for the logic a declarative API cannot cover
- Metrics and monitoring: a Prometheus-compatible endpoint plus a browser dashboard at
/metrics-ui, tracking request rates, latency percentiles, and HTTP status distribution - IoT / MQTT: bridge an MQTT broker into RESTHeart — topic messages become Server-Sent Events, REST responses, or MongoDB documents. A separate module, installed into an instance rather than shipped with it.
Distributed as a Docker image and a GraalVM native binary. Built on Java 25, Undertow, and virtual threads.
Running it
Fully managed, no installation required, and including Sophia, an MCP server and browser assistant that exposes RESTHeart's docs and plugin API to AI coding assistants such as Claude Code, Cursor, or VS Code:
Or self-hosted, since the core is free and open source:
curl https://raw.githubusercontent.com/SoftInstigate/restheart/master/docker-compose.yml \
--output docker-compose.yml && docker compose up --attach restheart
curl http://localhost:8080/ping
Supported MongoDB versions
Every build is tested against MongoDB 7.0, 8.0, 8.3 and 9.0, and against mongodb/mongodb-atlas-local.
Older versions should work too, down to MongoDB 4.2, the oldest the MongoDB Java driver connects to, but they are not tested and some features may need a newer server. If something does not work on your version, please open an issue.
Some features need more than a standalone server:
- Transactions and change streams, which the WebSocket and SSE streams of collection changes rely on, need a replica set. A single-node one is enough, like the one in
docker-compose.yml. - Vector search indexes and
$vectorSearchneed mongot: MongoDB Atlas,mongodb-atlas-local, or Community/Enterprise 8.2+ with mongot.$vectorScanworks on any MongoDB, without an index.
Full documentation: https://restheart.org/docs/
License
RESTHeart core is licensed under the GNU AGPL v3.
restheart-commons, the Maven artifact plugins depend on to reach the Approved Interfaces, is licensed under the Apache License 2.0. Plugins that depend only on restheart-commons, without linking against RESTHeart's AGPL-licensed core, can be distributed under any license, including proprietary ones. See PLUGIN_EXCEPTION.md for the exact terms of this permission.
Explore related projects
Asabeneh/30-Days-Of-Python
The 30 Days of Python programming challenge is a step-by-step guide to learn the Python programming language in 30 days. This challenge may take more than 100 days. Follow your own pace. These videos may help too: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,423 starsgrafana/grafana
The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
77,790 starsredis/redis
For developers, who are building real-time data-driven applications, Redis is the preferred, fastest, and most feature-rich cache, data structure server, and document and vector query engine.
77,309 starsapache/superset
Apache Superset is a Data Visualization and Data Exploration Platform
75,455 stars