The Conversion Tools MCP connector routes your AI agent's tool calls to Conversion Tools's own MCP server through Scalekit. Each user signs in to Conversion Tools once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 21 tools.
- Tools
- 21
- What they doRead · write · destructive
- 0 · 21 · 00 read21 write0 destructive
- Users sign in with
- OAuth
- OAuth app
- Scalekit's or your own
Setup
Install the SDK
Terminal window npm install @scalekit-sdk/node dotenvTerminal window pip install scalekit-sdk-python python-dotenvSet your credentials
Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret>Create the Conversion Tools MCP connection
In AgentKit > Connections, create a Conversion Tools MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Conversion Tools MCP server, so you don't need to register an OAuth app.
Authorize a user and make your first call
quickstart.mts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'import { createInterface } from 'node:readline/promises'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENVIRONMENT_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'conversiontoolsmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Conversion Tools MCP:', link)const rl = createInterface({ input: process.stdin, output: process.stdout })await rl.question('Press Enter after authorizing...')rl.close()// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'conversiontoolsmcp_auth_status',toolInput: {},})console.log(result)Terminal window npx tsx quickstart.mtsquickstart.py import osfrom scalekit import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENVIRONMENT_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "conversiontoolsmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Conversion Tools MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="conversiontoolsmcp_auth_status",connection_name=connection_name,identifier=identifier,)print(result)Terminal window python quickstart.pyEach user signs in once. See Authorize a user for the full flow and statuses.
Tools
Pass the exact name toexecute_toolconversiontoolsmcp_auth_statusCheck authentication status and account info.WriteAuth Status
Check authentication status and account info.
Inputs
This tool takes no inputs.
conversiontoolsmcp_convert_fileConvert a file between 140+ supported formats including documents, images, audio, video, and data files.WriteConvert File
Convert a file between 140+ supported formats including documents, images, audio, video, and data files. Returns a download URL for the converted file.
Inputs
input_pathstringrequired- Name of the input file, e.g. "orders.xml". Names the upload and gives the input format.
output_pathstringrequired- Name for the result, e.g. "orders.xlsx". Its extension gives the output format.
converterstring- Converter type, e.g. "convert.xml_to_excel". Optional when the formats are clear from the file names.
file_contentstring- Base64 of the input file, at most 5 MB.
file_idstring- File id from request_upload_url, after the upload.
optionsobject- Converter options, e.g. {"delimiter": "semicolon"}. get_converter_info lists them.
urlstring- Public http(s) link to the input file or web page.
conversiontoolsmcp_find_converterFind the best converter for converting between two specific formats.WriteFind Converter
Find the best converter for converting between two specific formats.
Inputs
input_formatstringrequired- Input format, e.g. "xml", "pdf", "heic".
output_formatstringrequired- Output format, e.g. "xlsx", "csv", "jpg".
conversiontoolsmcp_get_converter_infoGet detailed information about a specific converter, including available options and their allowed values.WriteGet Converter Info
Get detailed information about a specific converter, including available options and their allowed values.
Inputs
converterstringrequired- Converter type, e.g. "convert.pdf_to_excel".
conversiontoolsmcp_get_download_urlRegenerate a fresh, short-lived download URL for a file already converted by convert_file, using its task_id.WriteGet Download URL
Regenerate a fresh, short-lived download URL for a file already converted by convert_file, using its task_id. Call this if the original download URL expired before you fetched it.
Inputs
task_idstringrequired- The task_id returned by convert_file.
conversiontoolsmcp_list_convertersList available file converters.WriteList Converters
List available file converters. Use this to discover what conversions are supported.
Inputs
categorystring- Only this category.one of
aiaudiodatadocumentsebookimagesocrpdfsubtitlesvideoweb input_formatstring- Only converters that take this format, e.g. "pdf".
output_formatstring- Only converters that produce this format, e.g. "csv".
conversiontoolsmcp_parse_create_schemaCreate a saved, reusable Parse extraction schema with a named field definition, for extractions that will be run more than once.WriteParse Create Schema
Create a saved, reusable Parse extraction schema with a named field definition, for extractions that will be run more than once.
Inputs
fieldsarrayrequired- The field definitions. Each: {name (snake_case), type, description?, required?, examples?, aliases?, items?, fields?, validation?}.
namestringrequired- Human-readable schema name, e.g. "Supplier invoice".
descriptionstring- What this schema is for (optional).
conversiontoolsmcp_parse_exportTurn a completed Parse extraction into a CSV or XLSX spreadsheet, flattening nested lists into rows.WriteParse Export
Turn a completed Parse extraction into a CSV or XLSX spreadsheet, flattening nested lists into rows.
Inputs
extraction_idstringrequired- The completed extraction to export.
formatstringrequired- Spreadsheet format.one of
csvxlsx output_pathstring- Local path to save the file (stdio mode).
conversiontoolsmcp_parse_extractExtract structured data from a document (PDF, scan, photo, invoice, receipt, form, statement) using Parse, the AI extraction engine.WriteParse Extract
Extract structured data from a document (PDF, scan, photo, invoice, receipt, form, statement) using Parse, the AI extraction engine. Submits the document and returns an extraction id immediately; poll parse_extraction_status for the extracted data.
Inputs
fieldsarray- Inline field list for a one-off extraction (ignored when schema_id is set). Each field: {name (snake_case), type: string|number|date|boolean|array|object, description?, required?, examples?, aliases?, items? (for array), fields? (for object / array-of-object), validation?}.
file_contentstring- Base64-encoded document bytes (remote/http mode).
file_idstring- File id from a previous Parse upload. Note: `wait` does not apply to this path - submit, then poll.
file_pathstring- Path to the document (local/stdio mode), or a filename label in remote mode.
no_cacheboolean- Force a fresh extraction instead of reusing a stored result for an identical document + fields.
output_formatstring- Start a spreadsheet export automatically once the extraction completes. Collect it with parse_export.one of
csvxlsx schema_idstring- Id of a saved schema to extract with (from parse_list_schemas / parse_create_schema).
waitnumber- Seconds to hold the request open waiting for the result (max 120). Upload path only. Omit to get the id back immediately and poll.
webhook_urlstring- Public http(s) URL notified when the extraction reaches a terminal state. Carries the id and status only, never the extracted data.
conversiontoolsmcp_parse_extraction_statusPoll a document extraction submitted with parse_extract.WriteParse Extraction Status
Poll a document extraction submitted with parse_extract. Returns processing while the extraction runs, or completed/failed with the extracted data or error once finished.
Inputs
extraction_idstringrequired- The extraction id returned by parse_extract.
conversiontoolsmcp_parse_list_schemasList the saved Parse extraction schemas on this account, including each schema's fields and usage count.WriteParse List Schemas
List the saved Parse extraction schemas on this account, including each schema's fields and usage count.
Inputs
This tool takes no inputs.
conversiontoolsmcp_parse_usageShow this account's Parse usage for the current billing month: plan, pages used, page limit, pages remaining, and reset date.WriteParse Usage
Show this account's Parse usage for the current billing month: plan, pages used, page limit, pages remaining, and reset date.
Inputs
This tool takes no inputs.
conversiontoolsmcp_request_upload_urlGet a signed URL for uploading large files (over 5 MB).WriteRequest Upload URL
Get a signed URL for uploading large files (over 5 MB). After uploading to the URL, pass the returned file_id to convert_file.
Inputs
filenamestringrequired- Name of the file to upload, e.g. "orders.xml".
conversiontoolsmcp_studio_attach_fileAttach a new input file to an existing built AI Studio converter so it can be re-run on fresh data without rebuilding.WriteStudio Attach File
Attach a new input file to an existing built AI Studio converter so it can be re-run on fresh data without rebuilding.
Inputs
converter_idstringrequired- The existing converter to reuse.
file_contentstring- Base64 of the file (small files only; it costs context).
file_idstring- File id from request_upload_url, for any size.
file_pathstring- Path to the input file (local server), or the file name when sending file_content / file_id.
conversiontoolsmcp_studio_chatSend a plain-language build instruction to the AI Studio planner for a converter created with studio_create_converter.WriteStudio Chat
Send a plain-language build instruction to the AI Studio planner for a converter created with studio_create_converter. The planner may ask a clarifying question or propose a ready-to-run converter.
Inputs
converter_idstringrequired- The converter_id from studio_create_converter.
messagestringrequired- Plain-language build instruction or answer to the planner.
conversiontoolsmcp_studio_create_converterStart building a new custom converter with AI Studio, for conversions that need engines not available locally, large or sensitive files, multi-step transformations, or a durable reusable converter.WriteStudio Create Converter
Start building a new custom converter with AI Studio, for conversions that need engines not available locally, large or sensitive files, multi-step transformations, or a durable reusable converter. Optionally attaches the input file in the same call.
Inputs
file_contentstring- Base64-encoded file content (remote/http mode).
file_idstring- File ID from a previous upload (use request_upload_url for large files).
file_pathstring- Path to the input file (local/stdio mode), or a filename label in remote mode.
namestring- Optional name for the converter.
conversiontoolsmcp_studio_download_resultDownload the result of a successful AI Studio converter run, using the result_file_id from studio_run_status.WriteStudio Download Result
Download the result of a successful AI Studio converter run, using the result_file_id from studio_run_status.
Inputs
result_file_idstringrequired- The result_file_id from studio_run_status SUCCESS.
output_pathstring- Local path to save the file (local server only).
conversiontoolsmcp_studio_get_converterGet a custom AI Studio converter's details and current status, including its input/output shape and the file currently attached.WriteStudio Get Converter
Get a custom AI Studio converter's details and current status, including its input/output shape and the file currently attached.
Inputs
converter_idstringrequired- The converter_id (from studio_list_converters or studio_create_converter).
conversiontoolsmcp_studio_list_convertersList the custom converters previously built in AI Studio for the signed-in account, so an existing converter can be reused instead of rebuilding one.WriteStudio List Converters
List the custom converters previously built in AI Studio for the signed-in account, so an existing converter can be reused instead of rebuilding one. Returns up to 10 results, most recent first.
Inputs
searchstring- Optional filter by name/description.
conversiontoolsmcp_studio_runRun a built AI Studio converter on its attached file.WriteStudio Run
Run a built AI Studio converter on its attached file. Runs asynchronously; poll studio_run_status for the result.
Inputs
converter_idstringrequired- The converter_id to run.
data_sourcestring- "uploaded" (the user's file, default) or "sample".one of
uploadedsample
conversiontoolsmcp_studio_run_statusPoll the status of an AI Studio converter run started with studio_run.WriteStudio Run Status
Poll the status of an AI Studio converter run started with studio_run. Returns RUNNING, SUCCESS (with a result file), or ERROR.
Inputs
converter_idstringrequired- The converter_id whose run to poll.
No tools match.