Skip to content

Commit bcf4b96

Browse files
release: 12.6.0 (#603)
* feat(mcp): add code execution tool * chore(internal): make mcp-server publishing public by defaut * feat(mcp): add option to infer mcp client * fix(mcp): clean up oauth info for mcp * chore(mcp): update package.json * chore(mcp): update types * fix(mcp): oauth metadata * vercel function (#605) * release: 12.6.0 * update changelog --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com> Co-authored-by: Justin Sanford <[email protected]>
1 parent ff9e950 commit bcf4b96

27 files changed

+1669
-356
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,4 @@ packages/mcp-server/dxt/dist
1313
packages/mcp-server/dxt/package.json
1414
packages/mcp-server/dxt/mux.dxt
1515
packages/mcp-server/dxt/LICENSE
16+
.vercel

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "12.5.0"
2+
".": "12.6.0"
33
}

.stats.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 108
22
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/mux%2Fmux-275325c9f8b8ea1c1ff947cb2f56de79a729602214959bc4477eb409971ad2e5.yml
33
openapi_spec_hash: 3475bc39cfe61d3f4887edbdf17815d6
4-
config_hash: 307a0651b25a5abf5878f952626a4b0d
4+
config_hash: 9d64df8ecbee364853546b6388b697ad

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,28 @@
11
# Changelog
22

3+
## 12.6.0 (2025-08-21)
4+
5+
Full Changelog: [v12.5.0...v12.6.0](https://github.com/muxinc/mux-node-sdk/compare/v12.5.0...v12.6.0)
6+
7+
### Features
8+
9+
* **mcp:** add Vercel function hosting option
10+
* **mcp:** add code execution tool ([d5c777b](https://github.com/muxinc/mux-node-sdk/commit/d5c777b3363fddd098e0be97a12e63778afb322a))
11+
* **mcp:** add option to infer mcp client ([a7b0225](https://github.com/muxinc/mux-node-sdk/commit/a7b0225e17614f841148ece5125fd8bdcf664ed0))
12+
13+
14+
### Bug Fixes
15+
16+
* **mcp:** clean up oauth info for mcp ([0cafe63](https://github.com/muxinc/mux-node-sdk/commit/0cafe632849f9c96bf3c866ec308eb06a8db2c07))
17+
* **mcp:** oauth metadata ([630a21b](https://github.com/muxinc/mux-node-sdk/commit/630a21b8b6476942943a9b00166d46ad166b0f57))
18+
19+
20+
### Chores
21+
22+
* **internal:** make mcp-server publishing public by defaut ([4a3dfa2](https://github.com/muxinc/mux-node-sdk/commit/4a3dfa251810675929e543b5e855cc2f2e100169))
23+
* **mcp:** update package.json ([da084a7](https://github.com/muxinc/mux-node-sdk/commit/da084a730ca4118467815c475bc13289b197371e))
24+
* **mcp:** update types ([f90aed3](https://github.com/muxinc/mux-node-sdk/commit/f90aed36f91dc610465312017f4ff5b200144537))
25+
326
## 12.5.0 (2025-08-19)
427

528
Full Changelog: [v12.4.1...v12.5.0](https://github.com/muxinc/mux-node-sdk/compare/v12.4.1...v12.5.0)

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@mux/mux-node",
3-
"version": "12.5.0",
3+
"version": "12.6.0",
44
"description": "The official TypeScript library for the Mux API",
55
"author": "Mux <[email protected]>",
66
"types": "dist/index.d.ts",

packages/mcp-server/dxt/manifest.json

Lines changed: 31 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "Mux",
3-
"version": "12.0.1",
4-
"dxt_version": "0.0.1",
3+
"version": "12.5.0",
4+
"dxt_version": "0.1",
55
"description": "Manage video infrastructure, analyze performance, and get deep insights into your Mux Video and Mux Data accounts.",
66
"author": {
77
"name": "Mux",
@@ -22,7 +22,11 @@
2222
"entry_point": "${__dirname}/dist/index.js",
2323
"mcp_config": {
2424
"command": "npx",
25-
"args": ["-y", "@mux/mcp@latest", "--tools=dynamic"],
25+
"args": [
26+
"-y",
27+
"@mux/mcp@latest",
28+
"--tools=dynamic"
29+
],
2630
"env": {
2731
"MUX_TOKEN_ID": "${user_config.MUX_TOKEN_ID}",
2832
"MUX_TOKEN_SECRET": "${user_config.MUX_TOKEN_SECRET}",
@@ -67,15 +71,34 @@
6771
"tools_generated": true,
6872
"compatibility": {
6973
"claude_desktop": ">=0.11.6",
70-
"platforms": ["darwin", "win32", "linux"],
74+
"platforms": [
75+
"darwin",
76+
"win32",
77+
"linux"
78+
],
7179
"runtimes": {
7280
"node": ">=18.0.0"
7381
}
7482
},
75-
"categories": ["media", "api", "video"],
76-
"keywords": ["mux", "video", "data", "streaming", "api", "transcoding", "analytics", "media"],
83+
"categories": [
84+
"media",
85+
"api",
86+
"video"
87+
],
88+
"keywords": [
89+
"mux",
90+
"video",
91+
"data",
92+
"streaming",
93+
"api",
94+
"transcoding",
95+
"analytics",
96+
"media"
97+
],
7798
"security": {
78-
"permissions": ["network"],
99+
"permissions": [
100+
"network"
101+
],
79102
"sandboxed": false
80103
}
81-
}
104+
}

packages/mcp-server/package.json

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@mux/mcp",
3-
"version": "12.5.0",
3+
"version": "12.6.0",
44
"description": "The official MCP Server for the Mux API",
55
"author": "Mux <[email protected]>",
66
"types": "dist/index.d.ts",
@@ -15,6 +15,9 @@
1515
"license": "Apache-2.0",
1616
"packageManager": "[email protected]",
1717
"private": false,
18+
"publishConfig": {
19+
"access": "public"
20+
},
1821
"scripts": {
1922
"test": "jest",
2023
"build": "bash ./build",
@@ -30,6 +33,7 @@
3033
"@mux/mux-node": "file:../../dist/",
3134
"@cloudflare/cabidela": "^0.2.4",
3235
"@modelcontextprotocol/sdk": "^1.11.5",
36+
"@valtown/deno-http-worker": "^0.0.21",
3337
"cors": "^2.8.5",
3438
"express": "^5.1.0",
3539
"jq-web": "https://github.com/stainless-api/jq-web/releases/download/v0.8.6/jq-web.tar.gz",
@@ -43,10 +47,11 @@
4347
"mcp-server": "dist/index.js"
4448
},
4549
"devDependencies": {
46-
"@anthropic-ai/dxt": "^0.2.0",
50+
"@anthropic-ai/dxt": "0.2.0",
4751
"@types/cors": "^2.8.19",
4852
"@types/express": "^5.0.3",
4953
"@types/jest": "^29.4.0",
54+
"@types/qs": "^6.14.0",
5055
"@types/yargs": "^17.0.8",
5156
"@typescript-eslint/eslint-plugin": "8.31.1",
5257
"@typescript-eslint/parser": "8.31.1",
@@ -58,7 +63,7 @@
5863
"ts-jest": "^29.1.0",
5964
"ts-morph": "^19.0.0",
6065
"ts-node": "^10.5.0",
61-
"tsc-multi": "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.8/tsc-multi.tgz",
66+
"tsc-multi": "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz",
6267
"tsconfig-paths": "^4.0.0",
6368
"typescript": "5.8.3"
6469
},
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
export const workerPath = require.resolve('./code-tool-worker.mjs')
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
import { ClientOptions } from '@mux/mux-node';
4+
5+
export type WorkerInput = {
6+
opts: ClientOptions;
7+
code: string;
8+
};
9+
export type WorkerSuccess = {
10+
result: unknown | null;
11+
logLines: string[];
12+
errLines: string[];
13+
};
14+
export type WorkerError = { message: string | undefined };
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
import util from 'node:util';
4+
import { WorkerInput, WorkerSuccess, WorkerError } from './code-tool-types';
5+
import { Mux } from '@mux/mux-node';
6+
7+
const fetch = async (req: Request): Promise<Response> => {
8+
const { opts, code } = (await req.json()) as WorkerInput;
9+
const client = new Mux({
10+
...opts,
11+
});
12+
13+
const logLines: string[] = [];
14+
const errLines: string[] = [];
15+
const console = {
16+
log: (...args: unknown[]) => {
17+
logLines.push(util.format(...args));
18+
},
19+
error: (...args: unknown[]) => {
20+
errLines.push(util.format(...args));
21+
},
22+
};
23+
try {
24+
let run_ = async (client: any) => {};
25+
eval(`
26+
${code}
27+
run_ = run;
28+
`);
29+
const result = await run_(client);
30+
return Response.json({
31+
result,
32+
logLines,
33+
errLines,
34+
} satisfies WorkerSuccess);
35+
} catch (e) {
36+
const message = e instanceof Error ? e.message : undefined;
37+
return Response.json(
38+
{
39+
message,
40+
} satisfies WorkerError,
41+
{ status: 400, statusText: 'Code execution error' },
42+
);
43+
}
44+
};
45+
46+
export default { fetch };

0 commit comments

Comments
 (0)