Instant REST and MCP APIs for existing or new PostgreSQL and MySQL databases, with CRUD, custom SQL routes, auth and ACL, no backend code needed.
Erudika/para
Multitenant Java backend server for building web and mobile apps, with REST JSON API, search, caching and pluggable databases.
Open-source alternative to:Firebase
- Stars
- 574
- Forks
- 156
- Open issues
- 3
- Last commit
- 5 days ago
What is it?
Para is a multitenant backend server and framework for object persistence and retrieval. It takes care of common backend operations so developers can build and prototype web and mobile applications faster. It can run as a standalone API server that multiple applications and clients connect to, or be embedded as a part of a JVM-based application.
Each app on a Para server gets its own table, search index and cache. The server exposes a RESTful JSON API secured with Amazon's Signature V4 signing and JWT-based client authentication. Data stores are pluggable, with DAO implementations for DynamoDB, Cassandra, MongoDB and SQL databases, and H2 as the default. Search can use Lucene or Elasticsearch/OpenSearch, and caching can be local (Caffeine) or distributed (Hazelcast).
The project also includes webhooks with signed payloads, role-based resource permissions, Spring Security integrations such as LDAP, SAML and social login, and an MCP server for AI agents. Official client libraries exist for JavaScript, Java, PHP, Python, C#, Android and iOS, and a web console is available for managing data.
Key features
- 01RESTful JSON API secured with Signature V4 and JWT tokens
- 02Pluggable data stores including DynamoDB, Cassandra, MongoDB and SQL
- 03Full-text search via Lucene or Elasticsearch/OpenSearch
- 04Local or distributed caching with Caffeine or Hazelcast
- 05Per-app multitenancy with separate tables, indexes and caches
- 06Signed webhooks and Spring Security-based authentication options
Use cases
- Serving as a backend for a web or mobile app without writing custom server code
- Prototyping an application quickly with ready-made users, objects and permissions
- Hosting one Para server that backs several apps or clients in a multitenant setup
- Embedding object persistence and REST APIs into an existing Java application
Quick start
- 1
Download the latest executable JAR from the releases page
- 2
Create an application.conf file in the same directory as the JAR, then start Para
java -jar -Dconfig.file=./application.conf para-*.jar - 3
Install the Para CLI to create an app and get access keys
npm install -g para-cli
Things to know
- Requires a Java runtime and a hand-written application.conf before the first start.
- Database and search backends beyond the defaults need separate plugins or configuration.
In collections
Topics
FAQ
- What is para?
- Multitenant Java backend server for building web and mobile apps, with REST JSON API, search, caching and pluggable databases. Para is a multitenant backend server and framework for object persistence and retrieval. It takes care of common backend operations so developers can build and prototype web and mobile applications faster. It can run as a standalone API server that multiple applications and clients connect to, or be embedded as a part of a JVM-based application.
- Is para free to use? What license does it have?
- para is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is para still maintained?
- Actively maintained. The last commit to para was on Nov 3, 2026.
- What can I use para for?
- Serving as a backend for a web or mobile app without writing custom server code Prototyping an application quickly with ready-made users, objects and permissions Hosting one Para server that backs several apps or clients in a multitenant setup Embedding object persistence and REST APIs into an existing Java application
- How do I install para?
- Download the latest executable JAR from the releases page Create an application.conf file in the same directory as the JAR, then start Para: java -jar -Dconfig.file=./application.conf para-*.jar Install the Para CLI to create an app and get access keys: npm install -g para-cli
- Where can I get para?
- The source code and installation instructions are on GitHub: https://github.com/Erudika/para
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A self-hosted Go application server that turns a schema into permission-aware JSON:API, GraphQL, realtime, file, automation and integration endpoints.
A JSON-based protocol and ORM library that lets clients define the data and response shape they need, so backends can serve many APIs without hand-written endpoints.
Generates API client SDKs, server stubs, and docs in dozens of languages and frameworks from OpenAPI specs (v2 and v3).
Open source Node.js backend that provides REST and GraphQL APIs, user auth, file storage and push notifications on MongoDB or PostgreSQL.
The Postgres development platform, offering a hosted Postgres database with auth, auto-generated APIs, storage and realtime features as a Firebase alternative.