MCP
Submission tools MCP
Use Streamable HTTP so AI clients can discover and call the same shared tool contract.
Endpoint: /mcp
Every request requires a Better Auth session cookie or an API-key Bearer token. The server returns a requestId and rejects invalid or expired credentials.
MCP uploads use name, mimeType, and contentBase64 with upload_file; pass the returned file id to conversion tools.
INIT=$(curl -si -N "$BASE_URL/mcp" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"example","version":"1.0.0"}}}')
SESSION_ID=$(printf '%s' "$INIT" | awk 'tolower($0) ~ /mcp-session-id:/ {print $2}' | tr -d '\r')
curl -N "$BASE_URL/mcp" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "Mcp-Session-Id: $SESSION_ID" \
--data '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'inspect_file
public · sync · 70s
Inspect uploaded bytes by fileId, or normalize explicitly supplied file facts.
upload_file
user · sync · 70s
Store an authenticated input file for later tool jobs.
validate_file
public · sync · 70s
Compare file facts with explicit submission rules.
compress_image
user · async · 70s
Compress an image to a verified byte target with optional downsampling.
inspect_image
user · async · 70s
Decode an uploaded image and inspect pixels, DPI and privacy metadata.
convert_image
user · async · 70s
Convert an image to JPEG, PNG, WebP or AVIF and remove private metadata.
resize_image
user · async · 70s
Resize an image proportionally with contain or cover fit.
crop_image
user · async · 70s
Crop an orientation-corrected image using validated pixel coordinates.
compress_pdf
user · async · 70s
Optimize a PDF and verify its actual output size and rules.
convert_image_to_pdf
user · async · 70s
Place one or more images into a checked PDF.
merge_pdfs
user · async · 70s
Merge PDFs in an explicit order and validate the result.
split_pdf
user · async · 70s
Split a PDF by a validated page range.
rotate_pdf
user · async · 70s
Rotate selected PDF pages and re-check the output.
create_submission_package
user · async · 70s
Build a named material package with a manifest and report.
get_job
user · sync · 70s
Read an authenticated asynchronous job status.
list_jobs
user · sync · 70s
List authenticated asynchronous jobs with cursor pagination.
cancel_job
user · sync · 70s
Cancel an authenticated non-terminal asynchronous job.
download_artifact
user · sync · 70s
Create an authenticated short-lived artifact download.
save_rule
user · sync · 70s
Save an authenticated reusable submission rule template.
list_rules
user · sync · 70s
List authenticated owner-scoped submission rule templates.
get_rule
user · sync · 70s
Read one authenticated owner-scoped submission rule template.
delete_rule
user · sync · 70s
Delete one authenticated owner-scoped submission rule template.
get_entitlements
user · sync · 70s
Read authenticated daily usage, quota and tool limits.