
Security News
Ruby's Bundler 4.0.18 Extends Cooldown to bundle lock and bundle cache
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.
@transloadit/mcp-server
Advanced tools
Transloadit MCP Server (Streamable HTTP + stdio), built on top of @transloadit/node.
npm install @transloadit/mcp-server
For most teams, self-hosted MCP is the simplest happy path: run the server where your agent runs,
set TRANSLOADIT_KEY and TRANSLOADIT_SECRET, and the server handles API auth automatically.
TRANSLOADIT_KEY=MY_AUTH_KEY TRANSLOADIT_SECRET=MY_SECRET_KEY npx -y @transloadit/mcp-server stdio
TRANSLOADIT_KEY=MY_AUTH_KEY TRANSLOADIT_SECRET=MY_SECRET_KEY \
npx -y @transloadit/mcp-server http --host 127.0.0.1 --port 5723
When binding HTTP mode to non-localhost hosts, TRANSLOADIT_MCP_TOKEN is required.
docker run -i --rm \
-e TRANSLOADIT_KEY=MY_AUTH_KEY \
-e TRANSLOADIT_SECRET=MY_SECRET_KEY \
ghcr.io/transloadit/mcp-server:latest
For HTTP mode via Docker, expose the port:
docker run --rm \
-e TRANSLOADIT_KEY=MY_AUTH_KEY \
-e TRANSLOADIT_SECRET=MY_SECRET_KEY \
-p 5723:5723 \
ghcr.io/transloadit/mcp-server:latest \
transloadit-mcp http --host 0.0.0.0 --port 5723
TRANSLOADIT_MCP_TOKEN explainedTRANSLOADIT_MCP_TOKEN is a self-hosted MCP transport token. It protects your own HTTP MCP endpoint
(npx -y @transloadit/mcp-server http), not API2.
Authorization: Bearer <TRANSLOADIT_MCP_TOKEN>./token.https://api2.transloadit.com/mcp.Generate one, then start HTTP mode:
export TRANSLOADIT_MCP_TOKEN="$(openssl rand -hex 32)"
npx -y @transloadit/mcp-server http --host 0.0.0.0 --port 5723
If you cannot run npx where the agent runs, use the hosted endpoint:
https://api2.transloadit.com/mcp
Use Authorization: Bearer <token>. Mint a token with:
npx -y @transloadit/node auth token --aud mcp
Generate this token in a trusted environment (backend, CI, or local shell), then hand it to the agent runtime. You can mint it via:
npx -y @transloadit/node auth token --aud mcpPOST https://api2.transloadit.com/token (HTTP Basic Auth with key/secret)Transloadit with authKey + authSecret, then call
client.mintBearerToken({ aud: 'mcp' })Bearer tokens satisfy signature auth on API2 requests; signature checks apply to key/secret requests.
Most users add the server to their MCP client and let the client start it automatically via stdio.
claude mcp add --transport stdio transloadit \
--env TRANSLOADIT_KEY=... \
--env TRANSLOADIT_SECRET=... \
-- npx -y @transloadit/mcp-server stdio
For non-interactive runs (for example claude -p), explicitly allow MCP tools:
claude -p "List templates" \
--allowedTools mcp__transloadit__* \
--output-format json
codex mcp add transloadit \
--env TRANSLOADIT_KEY=... \
--env TRANSLOADIT_SECRET=... \
-- npx -y @transloadit/mcp-server stdio
Allowlist tools in ~/.codex/config.toml:
[mcp_servers.transloadit]
command = "npx"
args = ["-y", "@transloadit/mcp-server", "stdio"]
enabled_tools = ["transloadit_list_templates"]
gemini mcp add --scope user transloadit npx -y @transloadit/mcp-server stdio \
--env TRANSLOADIT_KEY=... \
--env TRANSLOADIT_SECRET=...
Allowlist tools in ~/.gemini/settings.json:
{
"mcpServers": {
"transloadit": {
"command": "npx",
"args": ["-y", "@transloadit/mcp-server", "stdio"],
"env": {
"TRANSLOADIT_KEY": "...",
"TRANSLOADIT_SECRET": "..."
},
"includeTools": ["transloadit_list_templates"]
}
}
}
~/.cursor/mcp.json:
{
"mcpServers": {
"transloadit": {
"command": "npx",
"args": ["-y", "@transloadit/mcp-server", "stdio"],
"env": {
"TRANSLOADIT_KEY": "...",
"TRANSLOADIT_SECRET": "..."
}
}
}
}
~/.config/opencode/opencode.json:
{
"mcp": {
"transloadit": {
"command": "npx",
"args": ["-y", "@transloadit/mcp-server", "stdio"],
"env": {
"TRANSLOADIT_KEY": "...",
"TRANSLOADIT_SECRET": "..."
}
}
}
}
HTTP:
npx -y @transloadit/mcp-server http --host 127.0.0.1 --port 5723
Stdio:
npx -y @transloadit/mcp-server stdio
https://api2.transloadit.com/mcp)POST https://api2.transloadit.com/token.Authorization: Bearer <access_token>.TRANSLOADIT_MCP_TOKEN (a static secret you define).TRANSLOADIT_KEY + TRANSLOADIT_SECRET.TRANSLOADIT_KEYTRANSLOADIT_SECRETTRANSLOADIT_MCP_TOKENTRANSLOADIT_ENDPOINT (optional, default https://api2.transloadit.com)TRANSLOADIT_MCP_METRICS_PATH (optional, default /metrics)TRANSLOADIT_MCP_METRICS_USER (optional)TRANSLOADIT_MCP_METRICS_PASSWORD (optional)npx -y @transloadit/mcp-server http --host 127.0.0.1 --port 5723npx -y @transloadit/mcp-server http --endpoint https://api2.transloadit.comnpx -y @transloadit/mcp-server http --config path/to/config.jsontransloadit_lint_assembly_instructionstransloadit_create_assemblytransloadit_get_assembly_statustransloadit_wait_for_assemblytransloadit_list_robotstransloadit_get_robot_helptransloadit_list_templatestransloadit_list_templates supports:
include_builtin: all, latest, exclusively-all, exclusively-latestinclude_content: include parsed steps in each template itemexport type InputFile =
| { kind: 'path'; field: string; path: string }
| {
kind: 'base64'
field: string
base64: string
filename: string
contentType?: string
}
| {
kind: 'url'
field: string
url: string
filename?: string
contentType?: string
}
These limits apply to inline JSON/base64 payloads. For larger files, prefer path or url.
maxBase64Bytes: 512,000 decoded bytesFor URL inputs, behavior depends on the template/instructions:
/http/import Step exists, MCP sets/overrides that Step's url.:original or /upload/handle), MCP downloads then uploads via
tus.allow_steps_override=false and only /http/import would work, URL inputs are rejected.path inputs require filesystem access from the MCP process (local/self-hosted).url, small base64, or upload locally with
npx -y @transloadit/node upload.expected_uploads to keep an Assembly open for out-of-band tus uploads.If assembly_url is provided, MCP resumes uploads using Assembly status (tus_uploads +
uploads). This requires stable field names and file metadata (filename + size).
Path-based file inputs can be resumed.
GET /metrics by default.TRANSLOADIT_MCP_METRICS_PATH or metricsPath.metricsPath: false.TRANSLOADIT_MCP_METRICS_USER +
TRANSLOADIT_MCP_METRICS_PASSWORD or metricsAuth./.well-known/mcp/server-card.json.These are guidelines, not strict rules. Many teams use both.
Run a local smoke test with published MCP server and installed CLIs (Claude Code, Codex CLI,
Gemini CLI). Requires TRANSLOADIT_KEY + TRANSLOADIT_SECRET and active CLI auth.
node scripts/verify-mcp-clients.ts
Set MCP_VERIFY_TIMEOUT_MS to override command timeout.
From repo root:
corepack yarn install
corepack yarn --cwd packages/mcp-server check
test:e2e requires valid Transloadit credentials in your environment.
corepack yarn --cwd packages/mcp-server test:e2e
transloadit/node-sdk.FAQs
Transloadit MCP server
The npm package @transloadit/mcp-server receives a total of 639 weekly downloads. As such, @transloadit/mcp-server popularity was classified as not popular.
We found that @transloadit/mcp-server demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.

Company News
Socket is now in the AWS Security Hub Extended plan. Adopt it through AWS, apply committed spend, and block malicious open source packages.