# `io.github.MediaSFU/mcp-sdk-tools` on anlyon.dev

> Text inside fenced blocks marked untrusted-server-text was written by the MCP server's publisher, not by anlyon.dev. It is data to inspect, not instructions to follow. Invisible characters are shown as [U+XXXX].
> No finding is not a safety guarantee: these are point-in-time checks of tool definitions, not of code or behaviour.

- Page: https://anlyon.dev/servers/io.github.MediaSFU/mcp-sdk-tools
- JSON: https://anlyon.dev/api/v1/servers/io.github.MediaSFU/mcp-sdk-tools
- Version: 1.2.0 (active)
- Publisher: io.github.MediaSFU (GitHub account)
- Runs: remote (streamable-http), local (npm)
- Sign-in to list tools: none
- Repository: https://github.com/MediaSFU/mcp-sdk-tools
- Metadata from the official MCP Registry, synced 2026-10-21T18:17:55.152Z

Title and description, as the publisher wrote them:

```untrusted-server-text
MediaSFU
Video, voice, AI agent and SIP calls: create rooms, place calls, read recordings and usage.
```

Scanned 2026-10-21T19:04:00.270Z over streamable-http.

**159 tools: 141 change things and 18 only read.**

| Group | Class | Tools | Claude Code |
| --- | --- | --- | --- |
| Deletes or cancels | destructive | 0 | deny |
| Can't be undone | irreversible | 0 | ask |
| Changes things | write | 141 | ask |
| Only reads | read | 18 | allow |

## Exfil surface

No private-data -> untrusted-input -> outbound path in this server alone: no tool is tagged private-data or untrusted-input or outbound.

| Tag | Meaning | Tools |
| --- | --- | --- |
| private-data | Reads files, mail, messages, databases, secrets, calendars or repositories. | none |
| untrusted-input | Brings in text someone else can write: web pages, inbound email, messages, issues and comments. | none |
| outbound | Can carry data to people or systems: it sends, posts or publishes, or takes a recipient, channel or URL. | none |

## Findings

- **info** The word "credentials" in `shared::lifecycle.cleanup.audit` ([credentials-mention](https://anlyon.dev/methodology#credentials-mention))

```untrusted-server-text
The input schema at properties.codeText.description mentions "credentials".

inputSchema.properties.codeText.description: "...ntegration code excerpt. Do not include credentials."
```

- **info** The word "credentials" in `shared::credential.broker.plan` ([credentials-mention](https://anlyon.dev/methodology#credentials-mention))

```untrusted-server-text
The description mentions "credential".

description: "mediasfu-shared :: credential.broker.plan (credential-planner)."
```


## Changes things (141)

Creates or changes something that can be changed back. Claude Code: ask.

### `android::app.scaffold`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Android :: app.scaffold (scaffold).
```

### `android::env.preflight`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Android :: env.preflight (command).
```

### `android::feature.map`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Android :: feature.map (mapper).
```

### `android::fix.suggest`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Android :: fix.suggest (remediation).
```

### `android::integration.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Android :: integration.plan (planner).
```

### `android::room.bootstrap`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Android :: room.bootstrap (guide).
```

### `android::runtime.diagnose`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Android :: runtime.diagnose (diagnostic).
```

### `android::sdk.recommend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Android :: sdk.recommend (advisor).
```

### `android::security.proxy.rooms`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Android :: security.proxy.rooms (security-guide).
```

### `android::ui.mode.recommend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Android :: ui.mode.recommend (ui-advisor).
```

### `android::ui.overrides.guide`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Android :: ui.overrides.guide (ui-overrides).
```

### `angular::app.scaffold`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Angular :: app.scaffold (scaffold).
```

### `angular::env.preflight`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Angular :: env.preflight (command).
```

### `angular::feature.map`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Angular :: feature.map (mapper).
```

### `angular::fix.suggest`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Angular :: fix.suggest (remediation).
```

### `angular::integration.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Angular :: integration.plan (planner).
```

### `angular::room.bootstrap`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Angular :: room.bootstrap (guide).
```

### `angular::runtime.diagnose`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Angular :: runtime.diagnose (diagnostic).
```

### `angular::sdk.recommend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Angular :: sdk.recommend (advisor).
```

### `angular::security.proxy.rooms`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Angular :: security.proxy.rooms (security-guide).
```

### `angular::ui.mode.recommend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Angular :: ui.mode.recommend (ui-advisor).
```

### `angular::ui.overrides.guide`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Angular :: ui.overrides.guide (ui-overrides).
```

### `flutter::app.scaffold`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Flutter :: app.scaffold (scaffold).
```

### `flutter::env.preflight`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Flutter :: env.preflight (command).
```

### `flutter::feature.map`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Flutter :: feature.map (mapper).
```

### `flutter::fix.suggest`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Flutter :: fix.suggest (remediation).
```

### `flutter::integration.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Flutter :: integration.plan (planner).
```

### `flutter::room.bootstrap`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Flutter :: room.bootstrap (guide).
```

### `flutter::runtime.diagnose`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Flutter :: runtime.diagnose (diagnostic).
```

### `flutter::sdk.recommend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Flutter :: sdk.recommend (advisor).
```

### `flutter::security.proxy.rooms`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Flutter :: security.proxy.rooms (security-guide).
```

### `flutter::ui.mode.recommend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Flutter :: ui.mode.recommend (ui-advisor).
```

### `flutter::ui.overrides.guide`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Flutter :: ui.overrides.guide (ui-overrides).
```

### `kotlin::app.scaffold`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Kotlin :: app.scaffold (scaffold).
```

### `kotlin::env.preflight`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Kotlin :: env.preflight (command).
```

### `kotlin::feature.map`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Kotlin :: feature.map (mapper).
```

### `kotlin::fix.suggest`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Kotlin :: fix.suggest (remediation).
```

### `kotlin::integration.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Kotlin :: integration.plan (planner).
```

### `kotlin::room.bootstrap`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Kotlin :: room.bootstrap (guide).
```

### `kotlin::runtime.diagnose`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Kotlin :: runtime.diagnose (diagnostic).
```

### `kotlin::sdk.recommend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Kotlin :: sdk.recommend (advisor).
```

### `kotlin::security.proxy.rooms`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Kotlin :: security.proxy.rooms (security-guide).
```

### `kotlin::ui.mode.recommend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Kotlin :: ui.mode.recommend (ui-advisor).
```

### `kotlin::ui.overrides.guide`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Kotlin :: ui.overrides.guide (ui-overrides).
```

### `react-native-expo::api.reference.search`

- The name "react-native-expo::api.reference.search" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native Expo :: api.reference.search (reference-search).
```

### `react-native-expo::app.scaffold`

- The name "react-native-expo::app.scaffold" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native Expo :: app.scaffold (scaffold).
```

### `react-native-expo::env.preflight`

- The name "react-native-expo::env.preflight" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native Expo :: env.preflight (command).
```

### `react-native-expo::feature.map`

- The name "react-native-expo::feature.map" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native Expo :: feature.map (mapper).
```

### `react-native-expo::fix.suggest`

- The name "react-native-expo::fix.suggest" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native Expo :: fix.suggest (remediation).
```

### `react-native-expo::integration.plan`

- The name "react-native-expo::integration.plan" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native Expo :: integration.plan (planner).
```

### `react-native-expo::room.bootstrap`

- The name "react-native-expo::room.bootstrap" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native Expo :: room.bootstrap (command).
```

### `react-native-expo::room.flow.explain`

- The name "react-native-expo::room.flow.explain" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native Expo :: room.flow.explain (flow-explainer).
```

### `react-native-expo::runtime.diagnose`

- The name "react-native-expo::runtime.diagnose" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native Expo :: runtime.diagnose (diagnostic).
```

### `react-native-expo::sdk.recommend`

- The name "react-native-expo::sdk.recommend" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native Expo :: sdk.recommend (advisor).
```

### `react-native-expo::security.proxy.rooms`

- The name "react-native-expo::security.proxy.rooms" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native Expo :: security.proxy.rooms (security-guide).
```

### `react-native-expo::ui.mode.recommend`

- The name "react-native-expo::ui.mode.recommend" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native Expo :: ui.mode.recommend (ui-advisor).
```

### `react-native-expo::ui.overrides.guide`

- The name "react-native-expo::ui.overrides.guide" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native Expo :: ui.overrides.guide (ui-overrides).
```

### `react-native::api.reference.search`

- The name "react-native::api.reference.search" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native :: api.reference.search (reference-search).
```

### `react-native::app.scaffold`

- The name "react-native::app.scaffold" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native :: app.scaffold (scaffold).
```

### `react-native::env.preflight`

- The name "react-native::env.preflight" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native :: env.preflight (command).
```

### `react-native::feature.map`

- The name "react-native::feature.map" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native :: feature.map (mapper).
```

### `react-native::fix.suggest`

- The name "react-native::fix.suggest" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native :: fix.suggest (remediation).
```

### `react-native::integration.plan`

- The name "react-native::integration.plan" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native :: integration.plan (planner).
```

### `react-native::room.bootstrap`

- The name "react-native::room.bootstrap" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native :: room.bootstrap (command).
```

### `react-native::room.flow.explain`

- The name "react-native::room.flow.explain" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native :: room.flow.explain (flow-explainer).
```

### `react-native::runtime.diagnose`

- The name "react-native::runtime.diagnose" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native :: runtime.diagnose (diagnostic).
```

### `react-native::sdk.recommend`

- The name "react-native::sdk.recommend" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native :: sdk.recommend (advisor).
```

### `react-native::security.proxy.rooms`

- The name "react-native::security.proxy.rooms" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native :: security.proxy.rooms (security-guide).
```

### `react-native::ui.mode.recommend`

- The name "react-native::ui.mode.recommend" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native :: ui.mode.recommend (ui-advisor).
```

### `react-native::ui.overrides.guide`

- The name "react-native::ui.overrides.guide" says "react": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU React Native :: ui.overrides.guide (ui-overrides).
```

### `reactjs::app.scaffold`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU ReactJS :: app.scaffold (scaffold).
```

### `reactjs::env.preflight`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU ReactJS :: env.preflight (command).
```

### `reactjs::feature.map`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU ReactJS :: feature.map (mapper).
```

### `reactjs::fix.suggest`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU ReactJS :: fix.suggest (remediation).
```

### `reactjs::integration.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU ReactJS :: integration.plan (planner).
```

### `reactjs::room.bootstrap`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU ReactJS :: room.bootstrap (command).
```

### `reactjs::runtime.diagnose`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU ReactJS :: runtime.diagnose (diagnostic).
```

### `reactjs::sdk.recommend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU ReactJS :: sdk.recommend (advisor).
```

### `reactjs::security.proxy.rooms`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU ReactJS :: security.proxy.rooms (security-guide).
```

### `reactjs::ui.mode.recommend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU ReactJS :: ui.mode.recommend (ui-advisor).
```

### `reactjs::ui.overrides.guide`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU ReactJS :: ui.overrides.guide (ui-overrides).
```

### `shared::app.scaffold`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: app.scaffold (scaffold).
```

### `shared::backend.integration.guide`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: backend.integration.guide (knowledge).
```

### `shared::credential.broker.plan`

- Nothing in its name or description says what it does, so it is counted as a write.
- Findings: info credentials-mention

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: credential.broker.plan (credential-planner).
```

### `shared::custom-recording.scene.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: custom-recording.scene.plan (custom-recording-planner).
```

### `shared::embedded.layout.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: embedded.layout.plan (embedded-layout-planner).
```

### `shared::env.preflight`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: env.preflight (command).
```

### `shared::external-media.integration.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: external-media.integration.plan (knowledge).
```

### `shared::feature.map`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: feature.map (mapper).
```

### `shared::fix.suggest`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: fix.suggest (remediation).
```

### `shared::frontend.architecture.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: frontend.architecture.plan (architecture-planner).
```

### `shared::headless.integration.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: headless.integration.plan (headless-planner).
```

### `shared::integration.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: integration.plan (planner).
```

### `shared::lifecycle.cleanup.audit`

- Nothing in its name or description says what it does, so it is counted as a write.
- Findings: info credentials-mention

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: lifecycle.cleanup.audit (lifecycle-audit).
```

### `shared::participant-control.integration.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: participant-control.integration.plan (knowledge).
```

### `shared::product.pattern.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: product.pattern.plan (product-pattern-planner).
```

### `shared::room.authority.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: room.authority.plan (room-authority-planner).
```

### `shared::room.bootstrap`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: room.bootstrap (guide).
```

### `shared::room.lifecycle.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: room.lifecycle.plan (room-lifecycle-planner).
```

### `shared::runtime.diagnose`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: runtime.diagnose (diagnostic).
```

### `shared::runtime.readiness.diagnose`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: runtime.readiness.diagnose (readiness-diagnostic).
```

### `shared::sdk.recommend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: sdk.recommend (advisor).
```

### `shared::security.proxy.rooms`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: security.proxy.rooms (security-guide).
```

### `shared::solution.capsule.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: solution.capsule.plan (knowledge).
```

### `shared::telephony.call-control.plan`

- The name "shared::telephony.call-control.plan" says "call": a word for a change.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: telephony.call-control.plan (telephony-planner).
```

### `shared::ui.mode.recommend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: ui.mode.recommend (ui-advisor).
```

### `shared::ui.overrides.guide`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: ui.overrides.guide (ui-overrides).
```

### `shared::widget.integration.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: widget.integration.plan (widget-planner).
```

### `swift::app.scaffold`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Apple / Swift :: app.scaffold (scaffold). aliases: apple, ios, ipados, macos, swift, swiftui, uikit
```

### `swift::env.preflight`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Apple / Swift :: env.preflight (command). aliases: apple, ios, ipados, macos, swift, swiftui, uikit
```

### `swift::feature.map`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Apple / Swift :: feature.map (mapper). aliases: apple, ios, ipados, macos, swift, swiftui, uikit
```

### `swift::fix.suggest`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Apple / Swift :: fix.suggest (remediation). aliases: apple, ios, ipados, macos, swift, swiftui, uikit
```

### `swift::integration.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Apple / Swift :: integration.plan (planner). aliases: apple, ios, ipados, macos, swift, swiftui, uikit
```

### `swift::room.bootstrap`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Apple / Swift :: room.bootstrap (guide). aliases: apple, ios, ipados, macos, swift, swiftui, uikit
```

### `swift::runtime.diagnose`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Apple / Swift :: runtime.diagnose (diagnostic). aliases: apple, ios, ipados, macos, swift, swiftui, uikit
```

### `swift::sdk.recommend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Apple / Swift :: sdk.recommend (advisor). aliases: apple, ios, ipados, macos, swift, swiftui, uikit
```

### `swift::security.proxy.rooms`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Apple / Swift :: security.proxy.rooms (security-guide). aliases: apple, ios, ipados, macos, swift, swiftui, uikit
```

### `swift::ui.mode.recommend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Apple / Swift :: ui.mode.recommend (ui-advisor). aliases: apple, ios, ipados, macos, swift, swiftui, uikit
```

### `swift::ui.overrides.guide`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Apple / Swift :: ui.overrides.guide (ui-overrides). aliases: apple, ios, ipados, macos, swift, swiftui, uikit
```

### `unity::app.scaffold`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Unity :: app.scaffold (scaffold). aliases: unity, unity-sdk, csharp-unity
```

### `unity::env.preflight`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Unity :: env.preflight (command). aliases: unity, unity-sdk, csharp-unity
```

### `unity::feature.map`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Unity :: feature.map (mapper). aliases: unity, unity-sdk, csharp-unity
```

### `unity::fix.suggest`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Unity :: fix.suggest (remediation). aliases: unity, unity-sdk, csharp-unity
```

### `unity::integration.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Unity :: integration.plan (planner). aliases: unity, unity-sdk, csharp-unity
```

### `unity::room.bootstrap`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Unity :: room.bootstrap (guide). aliases: unity, unity-sdk, csharp-unity
```

### `unity::runtime.diagnose`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Unity :: runtime.diagnose (diagnostic). aliases: unity, unity-sdk, csharp-unity
```

### `unity::sdk.recommend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Unity :: sdk.recommend (advisor). aliases: unity, unity-sdk, csharp-unity
```

### `unity::security.proxy.rooms`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Unity :: security.proxy.rooms (security-guide). aliases: unity, unity-sdk, csharp-unity
```

### `unity::ui.mode.recommend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Unity :: ui.mode.recommend (ui-advisor). aliases: unity, unity-sdk, csharp-unity
```

### `unity::ui.overrides.guide`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Unity :: ui.overrides.guide (ui-overrides). aliases: unity, unity-sdk, csharp-unity
```

### `vue::app.scaffold`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Vue :: app.scaffold (scaffold).
```

### `vue::env.preflight`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Vue :: env.preflight (command).
```

### `vue::feature.map`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Vue :: feature.map (mapper).
```

### `vue::fix.suggest`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Vue :: fix.suggest (remediation).
```

### `vue::integration.plan`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Vue :: integration.plan (planner).
```

### `vue::room.bootstrap`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Vue :: room.bootstrap (command).
```

### `vue::runtime.diagnose`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Vue :: runtime.diagnose (diagnostic).
```

### `vue::sdk.recommend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Vue :: sdk.recommend (advisor).
```

### `vue::security.proxy.rooms`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Vue :: security.proxy.rooms (security-guide).
```

### `vue::ui.mode.recommend`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Vue :: ui.mode.recommend (ui-advisor).
```

### `vue::ui.overrides.guide`

- Nothing in its name or description says what it does, so it is counted as a write.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Vue :: ui.overrides.guide (ui-overrides).
```

## Only reads (18)

Looks things up and changes nothing. Claude Code: allow.

### `android::api.reference.search`

- The name "android::api.reference.search" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Android :: api.reference.search (reference-search).
```

### `android::room.flow.explain`

- The name "android::room.flow.explain" says "explain": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Android :: room.flow.explain (flow-explainer).
```

### `angular::api.reference.search`

- The name "angular::api.reference.search" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Angular :: api.reference.search (reference-search).
```

### `angular::room.flow.explain`

- The name "angular::room.flow.explain" says "explain": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Angular :: room.flow.explain (flow-explainer).
```

### `flutter::api.reference.search`

- The name "flutter::api.reference.search" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Flutter :: api.reference.search (reference-search).
```

### `flutter::room.flow.explain`

- The name "flutter::room.flow.explain" says "explain": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Flutter :: room.flow.explain (flow-explainer).
```

### `kotlin::api.reference.search`

- The name "kotlin::api.reference.search" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Kotlin :: api.reference.search (reference-search).
```

### `kotlin::room.flow.explain`

- The name "kotlin::room.flow.explain" says "explain": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Kotlin :: room.flow.explain (flow-explainer).
```

### `reactjs::api.reference.search`

- The name "reactjs::api.reference.search" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU ReactJS :: api.reference.search (reference-search).
```

### `reactjs::room.flow.explain`

- The name "reactjs::room.flow.explain" says "explain": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU ReactJS :: room.flow.explain (flow-explainer).
```

### `shared::api.reference.search`

- The name "shared::api.reference.search" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: api.reference.search (reference-search).
```

### `shared::room.flow.explain`

- The name "shared::room.flow.explain" says "explain": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
mediasfu-shared :: room.flow.explain (flow-explainer).
```

### `swift::api.reference.search`

- The name "swift::api.reference.search" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Apple / Swift :: api.reference.search (reference-search). aliases: apple, ios, ipados, macos, swift, swiftui, uikit
```

### `swift::room.flow.explain`

- The name "swift::room.flow.explain" says "explain": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Apple / Swift :: room.flow.explain (flow-explainer). aliases: apple, ios, ipados, macos, swift, swiftui, uikit
```

### `unity::api.reference.search`

- The name "unity::api.reference.search" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Unity :: api.reference.search (reference-search). aliases: unity, unity-sdk, csharp-unity
```

### `unity::room.flow.explain`

- The name "unity::room.flow.explain" says "explain": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Unity :: room.flow.explain (flow-explainer). aliases: unity, unity-sdk, csharp-unity
```

### `vue::api.reference.search`

- The name "vue::api.reference.search" says "search": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Vue :: api.reference.search (reference-search).
```

### `vue::room.flow.explain`

- The name "vue::room.flow.explain" says "explain": a word for reading.

Description, as the server wrote it:

```untrusted-server-text
MediaSFU Vue :: room.flow.explain (flow-explainer).
```

## Claude Code permissions

For `.claude/settings.json`, assuming the server is installed as `sdk-tools`:

```json
{
  "permissions": {
    "allow": [
      "mcp__sdk-tools__android__api_reference_search",
      "mcp__sdk-tools__android__room_flow_explain",
      "mcp__sdk-tools__angular__api_reference_search",
      "mcp__sdk-tools__angular__room_flow_explain",
      "mcp__sdk-tools__flutter__api_reference_search",
      "mcp__sdk-tools__flutter__room_flow_explain",
      "mcp__sdk-tools__kotlin__api_reference_search",
      "mcp__sdk-tools__kotlin__room_flow_explain",
      "mcp__sdk-tools__reactjs__api_reference_search",
      "mcp__sdk-tools__reactjs__room_flow_explain",
      "mcp__sdk-tools__shared__api_reference_search",
      "mcp__sdk-tools__shared__room_flow_explain",
      "mcp__sdk-tools__swift__api_reference_search",
      "mcp__sdk-tools__swift__room_flow_explain",
      "mcp__sdk-tools__unity__api_reference_search",
      "mcp__sdk-tools__unity__room_flow_explain",
      "mcp__sdk-tools__vue__api_reference_search",
      "mcp__sdk-tools__vue__room_flow_explain"
    ],
    "ask": [
      "mcp__sdk-tools__android__sdk_recommend",
      "mcp__sdk-tools__android__app_scaffold",
      "mcp__sdk-tools__android__integration_plan",
      "mcp__sdk-tools__android__env_preflight",
      "mcp__sdk-tools__android__room_bootstrap",
      "mcp__sdk-tools__android__feature_map",
      "mcp__sdk-tools__android__runtime_diagnose",
      "mcp__sdk-tools__android__fix_suggest",
      "mcp__sdk-tools__android__ui_mode_recommend",
      "mcp__sdk-tools__android__ui_overrides_guide",
      "mcp__sdk-tools__android__security_proxy_rooms",
      "mcp__sdk-tools__angular__sdk_recommend",
      "mcp__sdk-tools__angular__app_scaffold",
      "mcp__sdk-tools__angular__integration_plan",
      "mcp__sdk-tools__angular__env_preflight",
      "mcp__sdk-tools__angular__room_bootstrap",
      "mcp__sdk-tools__angular__feature_map",
      "mcp__sdk-tools__angular__runtime_diagnose",
      "mcp__sdk-tools__angular__fix_suggest",
      "mcp__sdk-tools__angular__ui_mode_recommend",
      "mcp__sdk-tools__angular__ui_overrides_guide",
      "mcp__sdk-tools__angular__security_proxy_rooms",
      "mcp__sdk-tools__flutter__sdk_recommend",
      "mcp__sdk-tools__flutter__app_scaffold",
      "mcp__sdk-tools__flutter__integration_plan",
      "mcp__sdk-tools__flutter__env_preflight",
      "mcp__sdk-tools__flutter__room_bootstrap",
      "mcp__sdk-tools__flutter__feature_map",
      "mcp__sdk-tools__flutter__runtime_diagnose",
      "mcp__sdk-tools__flutter__fix_suggest",
      "mcp__sdk-tools__flutter__ui_mode_recommend",
      "mcp__sdk-tools__flutter__ui_overrides_guide",
      "mcp__sdk-tools__flutter__security_proxy_rooms",
      "mcp__sdk-tools__kotlin__sdk_recommend",
      "mcp__sdk-tools__kotlin__app_scaffold",
      "mcp__sdk-tools__kotlin__integration_plan",
      "mcp__sdk-tools__kotlin__env_preflight",
      "mcp__sdk-tools__kotlin__room_bootstrap",
      "mcp__sdk-tools__kotlin__feature_map",
      "mcp__sdk-tools__kotlin__runtime_diagnose",
      "mcp__sdk-tools__kotlin__fix_suggest",
      "mcp__sdk-tools__kotlin__ui_mode_recommend",
      "mcp__sdk-tools__kotlin__ui_overrides_guide",
      "mcp__sdk-tools__kotlin__security_proxy_rooms",
      "mcp__sdk-tools__react-native__sdk_recommend",
      "mcp__sdk-tools__react-native__app_scaffold",
      "mcp__sdk-tools__react-native__integration_plan",
      "mcp__sdk-tools__react-native__env_preflight",
      "mcp__sdk-tools__react-native__room_bootstrap",
      "mcp__sdk-tools__react-native__feature_map",
      "mcp__sdk-tools__react-native__runtime_diagnose",
      "mcp__sdk-tools__react-native__fix_suggest",
      "mcp__sdk-tools__react-native__api_reference_search",
      "mcp__sdk-tools__react-native__room_flow_explain",
      "mcp__sdk-tools__react-native__ui_mode_recommend",
      "mcp__sdk-tools__react-native__ui_overrides_guide",
      "mcp__sdk-tools__react-native__security_proxy_rooms",
      "mcp__sdk-tools__react-native-expo__sdk_recommend",
      "mcp__sdk-tools__react-native-expo__app_scaffold",
      "mcp__sdk-tools__react-native-expo__integration_plan",
      "mcp__sdk-tools__react-native-expo__env_preflight",
      "mcp__sdk-tools__react-native-expo__room_bootstrap",
      "mcp__sdk-tools__react-native-expo__feature_map",
      "mcp__sdk-tools__react-native-expo__runtime_diagnose",
      "mcp__sdk-tools__react-native-expo__fix_suggest",
      "mcp__sdk-tools__react-native-expo__api_reference_search",
      "mcp__sdk-tools__react-native-expo__room_flow_explain",
      "mcp__sdk-tools__react-native-expo__ui_mode_recommend",
      "mcp__sdk-tools__react-native-expo__ui_overrides_guide",
      "mcp__sdk-tools__react-native-expo__security_proxy_rooms",
      "mcp__sdk-tools__reactjs__sdk_recommend",
      "mcp__sdk-tools__reactjs__app_scaffold",
      "mcp__sdk-tools__reactjs__integration_plan",
      "mcp__sdk-tools__reactjs__env_preflight",
      "mcp__sdk-tools__reactjs__room_bootstrap",
      "mcp__sdk-tools__reactjs__feature_map",
      "mcp__sdk-tools__reactjs__runtime_diagnose",
      "mcp__sdk-tools__reactjs__fix_suggest",
      "mcp__sdk-tools__reactjs__ui_mode_recommend",
      "mcp__sdk-tools__reactjs__ui_overrides_guide",
      "mcp__sdk-tools__reactjs__security_proxy_rooms",
      "mcp__sdk-tools__shared__sdk_recommend",
      "mcp__sdk-tools__shared__app_scaffold",
      "mcp__sdk-tools__shared__integration_plan",
      "mcp__sdk-tools__shared__env_preflight",
      "mcp__sdk-tools__shared__room_bootstrap",
      "mcp__sdk-tools__shared__feature_map",
      "mcp__sdk-tools__shared__runtime_diagnose",
      "mcp__sdk-tools__shared__fix_suggest",
      "mcp__sdk-tools__shared__ui_mode_recommend",
      "mcp__sdk-tools__shared__ui_overrides_guide",
      "mcp__sdk-tools__shared__security_proxy_rooms",
      "mcp__sdk-tools__shared__backend_integration_guide",
      "mcp__sdk-tools__shared__frontend_architecture_plan",
      "mcp__sdk-tools__shared__headless_integration_plan",
      "mcp__sdk-tools__shared__widget_integration_plan",
      "mcp__sdk-tools__shared__telephony_call-control_plan",
      "mcp__sdk-tools__shared__solution_capsule_plan",
      "mcp__sdk-tools__shared__external-media_integration_plan",
      "mcp__sdk-tools__shared__participant-control_integration_plan",
      "mcp__sdk-tools__shared__room_lifecycle_plan",
      "mcp__sdk-tools__shared__embedded_layout_plan",
      "mcp__sdk-tools__shared__room_authority_plan",
      "mcp__sdk-tools__shared__product_pattern_plan",
      "mcp__sdk-tools__shared__custom-recording_scene_plan",
      "mcp__sdk-tools__shared__runtime_readiness_diagnose",
      "mcp__sdk-tools__shared__lifecycle_cleanup_audit",
      "mcp__sdk-tools__shared__credential_broker_plan",
      "mcp__sdk-tools__swift__sdk_recommend",
      "mcp__sdk-tools__swift__app_scaffold",
      "mcp__sdk-tools__swift__integration_plan",
      "mcp__sdk-tools__swift__env_preflight",
      "mcp__sdk-tools__swift__room_bootstrap",
      "mcp__sdk-tools__swift__feature_map",
      "mcp__sdk-tools__swift__runtime_diagnose",
      "mcp__sdk-tools__swift__fix_suggest",
      "mcp__sdk-tools__swift__ui_mode_recommend",
      "mcp__sdk-tools__swift__ui_overrides_guide",
      "mcp__sdk-tools__swift__security_proxy_rooms",
      "mcp__sdk-tools__unity__sdk_recommend",
      "mcp__sdk-tools__unity__app_scaffold",
      "mcp__sdk-tools__unity__integration_plan",
      "mcp__sdk-tools__unity__env_preflight",
      "mcp__sdk-tools__unity__room_bootstrap",
      "mcp__sdk-tools__unity__feature_map",
      "mcp__sdk-tools__unity__runtime_diagnose",
      "mcp__sdk-tools__unity__fix_suggest",
      "mcp__sdk-tools__unity__ui_mode_recommend",
      "mcp__sdk-tools__unity__ui_overrides_guide",
      "mcp__sdk-tools__unity__security_proxy_rooms",
      "mcp__sdk-tools__vue__sdk_recommend",
      "mcp__sdk-tools__vue__app_scaffold",
      "mcp__sdk-tools__vue__integration_plan",
      "mcp__sdk-tools__vue__env_preflight",
      "mcp__sdk-tools__vue__room_bootstrap",
      "mcp__sdk-tools__vue__feature_map",
      "mcp__sdk-tools__vue__runtime_diagnose",
      "mcp__sdk-tools__vue__fix_suggest",
      "mcp__sdk-tools__vue__ui_mode_recommend",
      "mcp__sdk-tools__vue__ui_overrides_guide",
      "mcp__sdk-tools__vue__security_proxy_rooms"
    ],
    "deny": []
  }
}
```

## Remote posture

What an anonymous client saw at the remote endpoint, last 2026-10-22T14:53:26.410Z, unchanged since 2026-10-22T14:53:26.410Z. No credentials were sent and no tool was called. Values are shown as the endpoint returned them. Method: https://anlyon.dev/methodology#remote-posture

| Fact | Observed |
| --- | --- |
| Reachable | `yes` |
| HTTP status of an anonymous initialize | `200` |
| tools/list served without credentials | `yes` |
| Tools that change things, listed without credentials | `141` |
| Protocol version | `2025-06-18` |
| WWW-Authenticate on 401 | `not observed` |
| resource_metadata in WWW-Authenticate | `none` |
| RFC 9728 protected resource metadata | `none` |
| Authorization servers | `none` |
| Legacy HTTP+SSE transport | `no` |
| Dynamic client registration | `not observed` |
| Client ID metadata documents | `not observed` |

- **warn** Tools that change things, listed to anyone ([unauth-remote-writes](https://anlyon.dev/methodology#unauth-remote-writes))

```untrusted-server-text
The endpoint served tools/list without credentials, and the list has 141 tools that change things (141 write). Whether a call also works without credentials was not tested: tools are never called.

https://mcp.mediasfu.com/mcp: tools/list returned 159 tools to an anonymous client, including android::sdk.recommend (write), android::app.scaffold (write), android::integration.plan (write), android::env.preflight (write), android::room.bootstrap (write) and 136 more
```
