AI applications need rich data access, but must be securely scoped to each user.
Exograph provides built-in access control, optimized queries, and an incredible developer experience.
Get StartedWatch how easy it is to create an Exograph MCP server and connect it to your AI applications
Start with a Postgres database you already have. Exograph generates a complete domain model from your database automatically with relationships and all. You can then tune the model to your needs.
Evolve the model to your needs. Secure your domain model through access control rules.
Express rules such as "only admins can create customers" or "only customers can see their own data".
@access(AuthContext.role == "admin")
type Customer {
@pk id: Uuid = uuidGenerateV4()
name: String
advisor: Advisor?
accounts: Set<Account>
}
@access(AuthContext.role == "admin")
type Advisor {
@pk id: Uuid = uuidGenerateV4()
name: String
customers: Set<Customer>
}
...
@access(query=AuthContext.id == self.id || AuthContext.id == self.advisor.id || AuthContext.role == "admin")
type Customer {
@pk id: Uuid = uuidGenerateV4()
name: String
advisor: Advisor?
accounts: Set<Account>
}
@access(query=AuthContext.id == self.id || AuthContext.role == "admin")
type Advisor {
@pk id: Uuid = uuidGenerateV4()
name: String
customers: Set<Customer>
}
...
Run exo dev
to get an instant MCP server, GraphQL APIs, and a playground. Changes to your model are reflected immediately—no rebuilds needed.
As your model evolves, exo schema migrate
will provide a migration plan to keep your database in sync.
When you're ready, deploy to any Cloud provider or self-host a production-ready MCP server.
Exograph deploys to any Cloud provider that supports Docker or WebAssembly, and on serverless platforms like AWS Lambda.
No lock-in.
Configure Claude Desktop or any MCP client to use your server. Use it for direct AI chat, or integrate into agentic workflows with focused tool profiles.
Your AI applications now have secure, intelligent database access.