The Mux MCP connector routes your AI agent's tool calls to Mux's own MCP server through Scalekit. Each user signs in to Mux once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 2 tools.
- Tools
- 2
- What they doRead · write · destructive
- 1 · 1 · 01 read1 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 Mux MCP connection
In AgentKit > Connections, create a Mux MCP connection. The name you give it is the
connection_nameyour code passes. See Configure connections.Scalekit credentials are available for Mux 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 = 'muxmcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Mux 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: 'muxmcp_search_docs',toolInput: { query: 'YOUR_QUERY', language: 'http' },})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 = "muxmcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Mux MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={"query":"YOUR_QUERY","language":"http"},tool_name="muxmcp_search_docs",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_toolmuxmcp_search_docsSearch SDK documentation to find methods, parameters, and usage examples for interacting with the API.Read-onlySearch Docs
Search SDK documentation to find methods, parameters, and usage examples for interacting with the API. Use this before writing code when you need to discover the right approach.
Inputs
languagestringrequired- The language for the SDK to search for.one of
httppythongotypescriptjavascriptterraformrubyjavakotlin querystringrequired- The query to search for.
detailstring- The amount of detail to return.one of
defaultverbose
muxmcp_executeRuns JavaScript code to interact with the Mux API.WriteExecute
Runs JavaScript code to interact with the Mux API. Define an async function named "run" that takes a single parameter of an initialized SDK client. Returns anything the function returns plus console.log output. Code runs in a sandboxed container with no external network access beyond the Mux SDK client.
Inputs
codestringrequired- Code to execute.
intentstring- Task you are trying to perform. Used for improving the service.
No tools match.