- Home
- MCP servers
- S3-Compatible 3D Storage
S3-Compatible 3D Storage
- typescript
0
GitHub Stars
typescript
Language
4 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
You run an S3-compatible storage MCP server that powers 3D model uploads, previews, and secure access. It connects to any S3-like storage (Cloudflare R2, AWS S3, MinIO, and more), automatically generates interactive previews, and supports pre-signed URLs for temporary access. This guide shows you how to install, configure, and use the server with an MCP client.
How to use
You interact with the MCP server through an MCP client to upload 3D assets, list stored files, generate temporary access links, and render preview pages for models. Use the file upload endpoint to store GLB/GLTF assets, then request a pre-signed URL when you need to share access securely. To create a user-facing preview, invoke the preview generator after you have a model URL, and then provide the resulting page to your users.
How to install
Prerequisites you need before installation: Node.js (LTS version) and npm. You will run the server locally for testing and then deploy to your hosting provider.
# 1) Install dependencies
npm install
# 2) Run the development server locally
npm run dev
# 3) Open the server information page in your browser
# http://localhost:3000
Configuration and usage notes
You configure storage credentials to connect to your chosen S3-compatible service. Create a local environment file with credentials for the storage, including the endpoint, access key, secret key, and bucket name. The server supports various providers by using the standard S3 API.
# Example: Cloudflare R2 configuration
R2_ENDPOINT=https://<YOUR_ACCOUNT_ID>.r2.cloudflarestorage.com
R2_ACCESS_KEY_ID=<YOUR_ACCESS_KEY_ID>
R2_SECRET_ACCESS_KEY=<YOUR_SECRET_ACCESS_KEY>
R2_BUCKET_NAME=3d-models
# Optional: Public URL for custom domain access
S3_PUBLIC_URL=https://your-custom-domain.com
# Example: AWS S3 configuration
S3_ENDPOINT=https://s3.amazonaws.com
S3_ACCESS_KEY_ID=<YOUR_AWS_ACCESS_KEY>
S3_SECRET_ACCESS_KEY=<YOUR_AWS_SECRET_KEY>
S3_BUCKET_NAME=3d-models
Deploying to production
After configuring storage, you can deploy to your hosting provider. A typical flow is to build the project and deploy, then ensure environment variables are set in the host environment.
# Example deployment to a hosting provider
vercel --prod
# Or push to your Git repository if you use automatic deployments
git push origin main
Observed endpoints and tools you can use
The server exposes MCP endpoints for storage operations. You can upload files, list stored files, generate pre-signed URLs, and generate 3D viewer pages. The primary tools you will use are for uploading files, listing files, obtaining presigned URLs, and creating the 3D viewer.
Security and reliability notes
Use pre-signed URLs for temporary access to files when sharing with external users. If you expose public storage, consider restricting read access or using signed requests. Bind a custom domain if your storage provider supports it and configure S3_PUBLIC_URL to enable clean public access through your domain.
Available tools
s3_upload_file
Uploads a 3D model file to the configured S3-compatible storage and returns metadata including the file key and URL.
s3_list_files
Lists files stored in the configured bucket with options for prefix and maximum results.
s3_get_presigned_url
Generates a temporary presigned URL that grants time-limited access to a stored file.
generate_3d_viewer
Creates an interactive 3D model viewer page linked to the stored model URL.