S3-Compatible 3D Storage

Provides an HTTP MCP server to store, fetch, and preview 3D models using S3-compatible storage and presigned URLs.
  • 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.

Installation

Add the following to your MCP client configuration file.

Configuration

View docs

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.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational