MediaSFU MCP SDK Tools
Enables planning, scaffolding, diagnosing, and hardening MediaSFU frontend and backend integrations across multiple SDKs with 138 integration tools.
README
MediaSFU MCP Integration Toolkit
The official MediaSFU MCP toolkit helps developers and MCP-capable agents plan, scaffold, diagnose, and harden MediaSFU frontend and backend integrations.
Run the stdio server directly with npm:
npx -y @mediasfu/mcp-sdk-tools
For repeatable MCP client configuration, pin the supported major version:
{
"mcpServers": {
"mediasfu": {
"command": "npx",
"args": ["-y", "@mediasfu/mcp-sdk-tools@1"]
}
}
}
On Windows, use npx.cmd if the MCP client does not resolve the npm shim. You
can also install globally and run the explicit executable:
npm install --global @mediasfu/mcp-sdk-tools@1
mediasfu-mcp
The mediasfu-mcp-http executable starts the optional local Streamable HTTP
transport. See LOCAL_MCP_SETUP.md for client examples.
Supported SDK surfaces
- shared runtime and backend integration
- ReactJS
- Angular
- React Native
- React Native Expo
- Vue
- Flutter
- Kotlin / Android / KMP
- Swift / Apple platforms
- Unity
The default public surface exposes 138 integration tools. Thirty documentation-build and parity tools are internal; set MCP_INCLUDE_INTERNAL_TOOLS=1 only in the MediaSFU maintainer workspace to expose the full 168-tool surface.
Core tools
Every SDK provides:
sdk.recommendapp.scaffoldintegration.planenv.preflightroom.bootstrapfeature.mapruntime.diagnosefix.suggestapi.reference.searchroom.flow.explainui.mode.recommendui.overrides.guidesecurity.proxy.rooms
The shared surface adds production patterns derived from MediaSFU's headless, widget, telephony, and AI call-control integrations:
shared::frontend.architecture.planshared::headless.integration.planshared::widget.integration.planshared::telephony.call-control.planshared::runtime.readiness.diagnoseshared::lifecycle.cleanup.auditshared::credential.broker.planshared::backend.integration.guide
Tool names use sdkId::toolId, for example reactjs::integration.plan.
Capability evidence and SDK freshness
sdk-registry.json records the detected package name/version, manifest and reference hashes, and per-SDK evidence topics. feature.map returns this as sdkRelease and capabilityEvidence.
Evidence status is intentionally conservative:
documentedmeans the capability is evidenced in the bundled SDK reference.not-evidencedmeans the bundled reference does not prove it; it does not claim the SDK cannot support it.
npm run registry:check fails when a manifest, bundled reference, live package version, canonical package path, or evidence profile drifts. It also fails when a discoverable MediaSFU SDK workspace is not registered. Maintainers refresh reviewed changes with npm run registry:write.
Safe scaffolding
Scaffolding is a dry run unless apply: true is explicit. Apply mode:
- resolves from
projectRoot, defaulting to the MCP process working directory; - writes only below a relative
outputDir, defaulting tomediasfu-generated/sdkId; - rejects path traversal;
- refuses existing files unless
overwrite: true; - emits
MEDIASFU_INTEGRATION.mdwith the detected SDK release and runtime checklist; - never emits long-lived credential placeholders.
ReactJS emits production-pattern TypeScript/React starters based on the live MediaSFU frontend's headless runtime model. Other SDKs emit version-aware implementation recipes where the package API has not been compile-verified by this Node release process. This avoids presenting speculative source as compile-ready code.
Example:
node ./scripts/mcp-engine.mjs run reactjs app.scaffold --input '{"apply":true,"projectRoot":"/path/to/app","outputDir":"src/mediasfu"}'
Obtain scoped room/session material from an authenticated backend. Never put a long-lived MediaSFU API key in browser storage, mobile preferences, source code, logs, or a shipped desktop/mobile/game binary.
Run locally
npm install
npm run validate
npm run registry:check
npm run mcp:server:selftest
npm run mcp:http:selftest
npm run release:check
Useful examples:
node ./scripts/mcp-engine.mjs list reactjs
node ./scripts/mcp-engine.mjs run reactjs integration.plan --input '{"appType":"meeting"}'
node ./scripts/mcp-engine.mjs run reactjs api.reference.search --input '{"query":"create room"}'
node ./scripts/mcp-engine.mjs run reactjs feature.map --input '{"requestedFeatures":["conference","screen-share"]}'
node ./scripts/mcp-engine.mjs run shared frontend.architecture.plan --input '{"mode":"auto","needsWidget":true}'
MCP transports
Stdio entry point: scripts/mcp-stdio-server.mjs.
Streamable HTTP entry point: scripts/mcp-http-server-v2.mjs. It exposes public read-only tools at /mcp and scoped MediaSFU account actions at /mcp/actions.
The stdio and public HTTP tool surfaces are read-only by default. Local filesystem/command side effects require MCP_ALLOW_LOCAL_SIDE_EFFECTS=1 and must never be enabled on a shared endpoint.
The hosted /mcp endpoint is intentionally free of authentication and permanently read-only. The separate /mcp/actions endpoint requires Authorization: Bearer <username>:<disposableKey>, validates the key with MediaSFU, filters tools by key scope, and confirms side effects. See server/README.md.
Backend boundary
Use shared::backend.integration.guide for /v1/rooms, event settings, and disposable-key contracts. Never send credentials to the public/stdio tools. The action endpoint accepts only a disposable credential in the exact documented Authorization header and never exposes it to tools or logs.
Release gate
npm run release:check validates:
- all 10 manifests and critical tools;
- SDK registry drift and unregistered SDK discovery;
- matching stdio and HTTP public tool surfaces;
- all public and internal adapter coverage;
- input, side-effect, path, redaction, timeout, and HTTP security controls;
- production architecture, readiness, lifecycle, credential, and evidence behavior;
- real isolated scaffold writes for all 10 SDKs, including collision refusal and cleanup.
Run npm run pack:dry-run and npm audit before publication. Publishing is intentionally a separate maintainer action.
Additional public setup and deployment notes are in LOCAL_MCP_SETUP.md and server/README.md.
Project links
- Website and developer documentation: mediasfu.com
- Source: github.com/MediaSFU/mcp-sdk-tools
- Issues: github.com/MediaSFU/mcp-sdk-tools/issues
- Security reports: SECURITY.md
MediaSFU MCP SDK Tools is released under the MIT License.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。