Simfinity.js is an Apache-2.0 Node.js library that builds GraphQL APIs from GraphQLObjectType definitions. It generates queries, CRUD mutations, relationship resolvers and storage mapping, with separate PostgreSQL and MongoDB/Mongoose adapters. Hooks, validation and authorization rules let applications add domain behavior. An optional package exposes selected GraphQL operations as MCP tools.
Simfinity.js starts with the application domain expressed as GraphQL object types. Registering those types produces a GraphQL schema with list and single-record queries, create/update/delete mutations and relationship handling. Developers can add controllers, lifecycle hooks, validators, authorization rules and query scopes around the generated operations.
Choose the storage adapter at startup. The MongoDB facade uses Mongoose; the PostgreSQL facade uses native SQL tables, UUID identities and foreign-key constraints. Both use the shared driver-free core. Selecting another adapter does not migrate an existing database or translate arbitrary Mongoose calls into SQL.
The optional @simtlix/simfinity-mcp package generates MCP tools from selected GraphQL operations and provides stdio and Streamable HTTP server helpers. Applications remain responsible for authenticating callers and supplying a trusted request context.
The library requires Node.js 18.18 or later and GraphQL 16. PostgreSQL requires version 15 or later, while generated MongoDB mutations require a replica set or sharded cluster. The released starter applications use Node.js 22 or later and include a series/season example for trying nested mutations and relationship queries.
Source code, release archives, documentation and runnable starters are publicly available. The project is free and licensed under Apache-2.0.