diff --git a/build.mjs b/build.mjs
index b63ddd9..bf03e1d 100755
--- a/build.mjs
+++ b/build.mjs
@@ -2,7 +2,6 @@
 import { rm } from 'node:fs/promises'
 import { argv } from 'process'
 
-// eslint-disable-next-line import/no-extraneous-dependencies
 import { build } from 'tsup'
 
 const dist = './dist'
@@ -11,7 +10,7 @@ await rm(dist, { recursive: true, force: true })
 
 /** @type {import('tsup').Options} */
 const options = {
-  entry: ['src/main.ts'],
+  entry: ['src/server.ts', 'src/main.ts'],
   tsconfig: 'tsconfig.json',
   bundle: true,
   dts: true,
diff --git a/package.json b/package.json
index 115638e..8b1bb05 100644
--- a/package.json
+++ b/package.json
@@ -24,10 +24,25 @@
         "default": "./dist/main.js"
       }
     },
-    "./package.json": "./package.json"
+    "./package.json": "./package.json",
+    "./server": {
+      "require": {
+        "types": "./dist/server.d.cts",
+        "default": "./dist/server.cjs"
+      },
+      "import": {
+        "types": "./dist/server.d.ts",
+        "default": "./dist/server.js"
+      },
+      "default": {
+        "types": "./dist/server.d.ts",
+        "default": "./dist/server.js"
+      }
+    }
   },
   "files": [
-    "dist/**/*"
+    "dist/**/*",
+    "server.d.ts"
   ],
   "scripts": {
     "build": "run-s build:*",
diff --git a/server.d.ts b/server.d.ts
new file mode 100644
index 0000000..71dbdae
--- /dev/null
+++ b/server.d.ts
@@ -0,0 +1 @@
+export * from './dist/server.d.ts'
diff --git a/src/main.ts b/src/main.ts
index 2efa7fe..fde692f 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -1,6 +1,5 @@
 export { getDeployStore, getStore } from './store_factory.ts'
 export { listStores } from './store_list.ts'
-export { BlobsServer } from './server.ts'
 export type {
   Store,
   StoreOptions,