Agent skill

Inspector MCP

by ipedro in ipedro/Inspector

A skill your agent uses when an agent needs to inspect a live iOS app through the Inspector MCP bridge, register or troubleshoot InspectorMCPServer for a consumer Xcode project, or query, resolve…

MITAuto-check passedMobile

Install Inspector MCP

skills CLI
$ npx skills add ipedro/Inspector --skill inspector-mcp -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install ipedro/Inspector inspector-mcp --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/ipedro/Inspector.git skills-src && mkdir -p .claude/skills && cp -r skills-src/Plugins/inspector-mcp/skills/inspector-mcp .claude/skills/inspector-mcp && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
inspector-mcp
GitHub stars
170
Token cost
~3.4k tokens
SKILL.md length
1,246 words
Files
5 (incl. scripts, references)
Skills in repo
4
Repo updated
First seen
Licence
MIT

At a glance

A skill your agent uses when an agent needs to inspect a live iOS app through the Inspector MCP bridge, register or troubleshoot InspectorMCPServer for a consumer Xcode project, or query, resolve…

  • Works in 8 steps: Find the Inspector package path first → Derive the app launch inputs → Confirm the app enables the bridge → …
  • An agent needs to inspect a live iOS app through the Inspector MCP bridge
  • SKILL.md covers Overview, Workflow, Verification and References, plus 1 more section
  • Runs Python scripts from its folder; calls swift, python3 and xcodebuild

What it does

Inspector MCP is an agent skill from ipedro/Inspector. Use when an agent needs to inspect a live iOS app through the Inspector MCP bridge, register or troubleshoot InspectorMCPServer for a consumer Xcode project, or query, resolve, and snapshot the live UIKit hierarchy on Simulator. Especially useful when Inspector is a SwiftPM dependency of another app and the Inspector package path must be derived from Xcode DerivedData instead of assumed from the current repo.

Its SKILL.md is about 3.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files, including scripts and reference files (for example `references/consumer-app-setup.md`, `references/inspection-patterns.md` and `references/troubleshooting.md`).

It sits in Mobile, covering iOS development. It works with Model Context Protocol, Xcode, iOS and Swift. The repository describes itself as: Inspector is a debugging library written in Swift. The licence is MIT.

When your agent uses it

  • An agent needs to inspect a live iOS app through the Inspector MCP bridge
  • Troubleshoot InspectorMCPServer for a consumer Xcode project
  • Snapshot the live UIKit hierarchy on Simulator

Example prompts

  • “/inspector-mcp”

Requirements

  • Python 3

Workflow steps

8 steps, taken from the step headings in SKILL.md.

  1. Find the Inspector package path first
  2. Derive the app launch inputs
  3. Confirm the app enables the bridge
  4. Register the MCP server in the client
  5. Use the tools effectively
  6. Reading snapshot results (v2)
  7. Handle stale handles correctly
  8. Respect runtime constraints

What it can do on your machine

Read from SKILL.md and the folder at commit bb220e4. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • swift
    • python3
    • xcodebuild
    • codex
    • claude
    • xcrun

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Inspector MCP loads about 3.4k tokens when it runs, and up to ~7.3k if it reads all its reference files. Until then it costs about 107 tokens; SKILL.md has 1,246 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~107
When it runs · the whole SKILL.md, loaded when a task matches
~3.4k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~7.3k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from ipedro/Inspector at commit bb220e4, republished under its MIT licence (© ipedro). 1,246 words, ~3,359 tokens.

Download SKILL.mdSave it as .claude/skills/inspector-mcp/SKILL.md (or your agent's skills folder). This skill also uses 4 other files; get the full folder from GitHub.
name
inspector-mcp
description
Use when an agent needs to inspect a live iOS app through the Inspector MCP bridge, register or troubleshoot InspectorMCPServer for a consumer Xcode project, or query, resolve, and snapshot the live UIKit hierarchy on Simulator. Especially useful when Inspector is a SwiftPM dependency of another app and the Inspector package path must be derived from Xcode DerivedData instead of assumed from the current repo.

Inspector MCP

Overview

Use this skill to set up and use the Inspector MCP bridge against a running iOS Simulator app. Prefer this when the task is live UI inspection, not static source reading.

Workflow

1. Find the Inspector package path first

Do not assume Inspector lives in the current repo. In consumer apps it is often checked out under Xcode DerivedData.

Use the bundled helper first:

bash
python3 "${CLAUDE_PLUGIN_ROOT}/skills/inspector-mcp/scripts/find_inspector_package.py" \
  --xcodeproj /absolute/path/to/App.xcodeproj \
  --scheme AppScheme

Or for workspaces:

bash
python3 "${CLAUDE_PLUGIN_ROOT}/skills/inspector-mcp/scripts/find_inspector_package.py" \
  --workspace /absolute/path/to/App.xcworkspace \
  --scheme AppScheme

If that fails:

  • Check whether the app uses a local package reference instead of a DerivedData checkout.
  • If you already know the Inspector repo path, use that as --package-path.
  • Read consumer-app-setup.md for the fallback flow.
2. Derive the app launch inputs

You need:

  • Xcode project or workspace path
  • scheme
  • bundle identifier

Bundle identifier pattern:

bash
xcodebuild -project /absolute/path/to/App.xcodeproj -scheme AppScheme -showBuildSettings \
  | awk -F ' = ' '$1 ~ /^[[:space:]]*PRODUCT_BUNDLE_IDENTIFIER$/ { print $2; exit }'

Use -workspace instead of -project when appropriate.

3. Confirm the app enables the bridge

The app must opt in before Inspector.start().

Minimum pattern:

swift
var configuration = InspectorConfiguration.config(
    enableMCPBridge: true,
    snapshotExpiration: 300
)
configuration.snapshotMaxCount = 8
Inspector.setConfiguration(configuration)
Inspector.start()

If the app does not enable the bridge, MCP setup is blocked. For full consumer-side wiring, use the sibling inspector-mcp-consumer skill.

4. Register the MCP server in the client

Codex:

bash
codex mcp add inspector -- \
  swift --package-path /absolute/path/to/Inspector run InspectorMCPServer launch \
  --xcodeproj /absolute/path/to/App.xcodeproj \
  --scheme AppScheme \
  --bundle-id com.example.app

Claude Code:

bash
claude mcp add inspector -- \
  swift --package-path /absolute/path/to/Inspector run InspectorMCPServer launch \
  --xcodeproj /absolute/path/to/App.xcodeproj \
  --scheme AppScheme \
  --bundle-id com.example.app

If you are inside the Inspector repo itself, you can also point the client at:

  • <Inspector repo>/Examples/MCP/run-inspector-mcp.sh
  • or use the example config at <Inspector repo>/Examples/MCP/codex-inspector-mcp.json (replace the cwd placeholder).
5. Use the tools effectively

Tool order matters:

  1. query
  2. resolve / refresh_handle
  3. subtree / list_actions / list_properties
  4. snapshot
  5. capture_state / diff_states / save_scenario / diff_scenario when debugging semantic state drift

Start narrow. Prefer:

  • accessibilityIdentifierEquals
  • classNameContains
  • displayNameContains
  • elementNameContains
  • nodeKind

Good first query:

json
{"accessibilityIdentifierEquals":"Content Stack View"}

Avoid broad snapshots first. First get a stable handle with query, confirm the node with resolve, then call snapshot.

For longer exploration sessions, save the node's semanticReference from query/resolve results. If a handle goes stale, prefer:

json
{"semanticReference":"<semanticReference returned by query or resolve>"}

with refresh_handle.

Important semantics:

  • refresh is best-effort rebinding for exploration
  • mutation still requires a currently valid live handle
  • if rebinding is ambiguous or the logical node is gone, the call fails instead of guessing

For depth-limited app-owned tree inspection, use:

json
{"handle":"<handle returned by query>","maxDepth":2}

with subtree.

For interactive sessions, chain query → inspect to open the Inspector UI focused on a view:

json
{"handle":"<handle returned by query>"}

Response: {"handle":"...", "presented": true}. presented: true means the Inspector UI dispatch was accepted — the modal animates in asynchronously. Consecutive inspect calls stack modals; Inspector's native back affordance dismisses them.

For the first write-side app interaction primitive, use query → tap on exact-handle button-like controls:

json
{"handle":"<handle returned by query>"}

Response: {"handle":"...", "dispatched": true}. dispatched: true means Inspector synchronously fired one supported control action for that exact-handle UIControl. This is semantic activation, not synthetic touch injection:

  • no hit-test simulation
  • no gesture-recognizer dispatch for plain UIViews
  • no ancestor promotion from child handle to parent button

MVP limitations:

  • succeeds only for exact-handle, visible, enabled UIControls wired for .primaryActionTriggered or .touchUpInside
  • fails for gesture-backed non-controls, sliders/switches/date pickers, hidden/disabled/detached controls, and stale handles
  • after any successful mutation, prefer a fresh query before the next action because the UI may have changed and invalidated handles

For semantic UI operations beyond tap, use query → list_actions → perform_action:

json
{"handle":"<handle returned by query>"}

list_actions returns opaque actionRef values for currently available actions such as:

  • Inspector panel opens (inspect)
  • per-element highlight toggles (showHighlight / hideHighlight)

Then call:

json
{"actionRef":"<actionRef returned by list_actions>"}

Response:

json
{"actionRef":"...","performed":true,"refreshRecommended":true}

Because action refs are ephemeral, rediscover them after a successful action before chaining the next semantic operation.

For broader property-driven mutation, use query → list_properties → set_property:

json
{"handle":"<handle returned by query>","panel":"attributes","includeReadOnly":false}

list_properties returns editable descriptors plus opaque propertyRef values. set_property then applies exactly one typed value field:

  • boolValue
  • numberValue
  • stringValue
  • selectionIndex

Example:

json
{"propertyRef":"<propertyRef returned by list_properties>","boolValue":true}

MVP limitations:

  • this reuses Inspector's existing property handlers without presenting Inspector UI
  • supported kinds are scalar/editor-like properties only (switch, stepper, textField, textView, selection lists/groups)
  • property refs are ephemeral and should be rediscovered after any successful mutation
  • unsupported property kinds and malformed values fail fast server-side

For named semantic baselines, use:

json
{"name":"quicktype-baseline"}

with:

  • save_scenario → capture the current live hierarchy under a stable name
  • list_scenarios → enumerate saved baselines
  • diff_scenario → compare the current hierarchy against that named baseline
  • delete_scenario → remove obsolete baselines

capture_state / diff_states are still better for short-lived ad-hoc before/after comparisons inside one session. save_scenario is for longer-lived named references such as “clean screen”, “keyboard shown”, or “quicktype visible”.

5a. Controlling view-hierarchy layers (v2.2)

Call list_layers to see which built-in highlight layers are populated on the current screen, along with their active state:

json
{}

Response (success envelope):

json
{"layers":[
  {"name":"Wireframes","displayName":"Wireframes","active":false},
  {"name":"Controls","displayName":"Controls","active":true}
]}

Flip a layer on or off by name — toggle_layer returns the intended post-toggle state immediately (install/remove is async on the UI thread):

json
{"name":"Wireframes"}

Response: {"name":"Wireframes","active":true}. If the name does not match any populated layer, the response is an internalFailure envelope whose details.message names the offending input — call list_layers first to copy the exact name.

Show full SKILL.md (507 more words)Show less
6. Reading snapshot results (v2)

Snapshot request:

json
{"handle":"HANDLE","afterScreenUpdates":true}

Response:

json
{"handle":"HANDLE","mimeType":"image/png","pngPath":"/Users/you/Library/Developer/CoreSimulator/…/tmp/inspector-snapshots/<uuid>.png","size":{"width":402,"height":874},"deviceScale":3,"createdAt":"2026-04-17T13:03:29Z"}

After receiving the response, read the PNG with your file-reading tool (Claude Code: Read pngPath). Do not base64-decode — the bytes live on disk, not inline.

7. Handle stale handles correctly

There is no host-side auto-recovery.

If you get staleHandle:

  • issue a fresh query
  • take the new handle
  • re-run resolve or snapshot

Do not retry the stale handle repeatedly.

8. Respect runtime constraints

Current constraints:

  • exactly one booted simulator
  • fixed localhost endpoint 127.0.0.1:49321
  • single app on that port at a time
  • launcher rejects attach if the process on the port does not match the requested bundle id
  • v1: read-only (query, resolve, snapshot only)
  • v2.1: inspect adds write-side dispatch (presents Inspector UI); all other tools remain non-mutating
  • v2.2+: list_layers (read-only) and toggle_layer (write-side) add layer-highlight control
  • v2.3+: tap adds exact-handle semantic activation for button-like UIControls
  • v2.4+: list_properties + set_property add typed property mutation by reusing Inspector property handlers
  • v2.5+: list_actions + perform_action add generic semantic action discovery/invocation over Inspector's existing action model
  • v2.6+: save_scenario / list_scenarios / delete_scenario / diff_scenario add named semantic baselines on top of state capture
  • v2.7+: refresh_handle / subtree add stable-enough exploration across time and bulk subtree inspection for app-owned UI

If startup says the endpoint is occupied by the wrong app:

  • shut down the simulator or other app
  • relaunch with the intended target

Verification

If you are working in the Inspector repo, prefer:

bash
xcodebuild test \
  -project <Inspector repo>/Example/Example.xcodeproj \
  -scheme Example \
  -destination 'platform=iOS Simulator,name=iPhone 17 Pro,OS=26.4' \
  -only-testing:InspectorTests/InspectorMCPTransportTests

For direct package verification of the iOS target:

bash
SDK=$(xcrun --sdk iphonesimulator --show-sdk-path)
swift build --target Inspector --sdk "$SDK" --triple arm64-apple-ios26.4-simulator

For the host executable:

bash
swift build --product InspectorMCPServer

References

Read these only when needed:

  • consumer-app-setup.md for deriving the package path from DerivedData and wiring Codex/Claude
  • inspection-patterns.md for effective query/resolve/snapshot usage and stale-handle recovery
  • troubleshooting.md when /mcp reports "Failed to reconnect" with the bridge actually up, when Read pngPath returns stale/empty files, or when snapshot fails with captureFailed

Breaking changes

  • v2 (2026-04-17) — The snapshot tool response no longer carries pngBase64. It now returns pngPath (absolute host path) and createdAt; scale was renamed to deviceScale. Restart your MCP clients (Codex, Claude Code) after upgrading Inspector — in-flight sessions keep the old schema until reconnected.
  • v2.1 (2026-04-17) — New inspect tool. No breaking changes; additive over v2. Reconnect clients to pick up the refreshed tools/list.
  • v2.2 (2026-04-17) — New list_layers and toggle_layer tools. Additive over v2.1. Reconnect clients to refresh tools/list. /health.operations now includes layers and toggleLayer.
  • v2.3 (2026-04-18) — New tap tool. Additive over v2.2. Reconnect clients to refresh tools/list. tap is semantic UIControl activation, not synthetic touch injection.
  • v2.4 (2026-04-18) — New list_properties and set_property tools. Additive over v2.3. Reconnect clients to refresh tools/list. Property refs are ephemeral and should be rediscovered after successful mutations.
  • v2.5 (2026-04-18) — New list_actions and perform_action tools. Additive over v2.4. Reconnect clients to refresh tools/list. Action refs are ephemeral and should be rediscovered after successful actions.
  • v2.6 (2026-04-18) — New save_scenario, list_scenarios, delete_scenario, and diff_scenario tools. Additive over v2.5. Reconnect clients to refresh tools/list. Named scenarios are in-memory semantic baselines and do not survive bridge restarts.
  • v2.7 (2026-04-18) — New refresh_handle and subtree tools. Additive over v2.6. Reconnect clients to refresh tools/list. Refresh uses best-effort semantic rebinding for exploration only; exact mutation still requires a valid live handle.

© ipedro, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 4 other files (scripts, references) in Plugins/inspector-mcp/skills/inspector-mcp of ipedro/Inspector.

  • SKILL.md
  • references/consumer-app-setup.md
  • references/inspection-patterns.md
  • references/troubleshooting.md
  • scripts/find_inspector_package.py

Open the folder on GitHubat commit bb220e4

Compare with similar skills

Inspector MCP next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Inspector MCP compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Inspector MCP this skillipedro/Inspector170—~3.4kAutomated safety check: PassMIT
Dt Setup iOSDynatrace/dynatrace-for-ai161—~3.3kAutomated safety check: PassApache-2.0
Update Swiftui APIsAvdLee/SwiftUI-Agent-Skill3.7k—~1.2kAutomated safety check: PassMIT
iOS Simulator Skillconorluddy/ios-simulator-skill1.3k—~5.7kAutomated safety check: PassMIT
Mlkit Released-date/google-mlkit-swiftpm148—~1.7kAutomated safety check: PassApache-2.0
Xcode Buildpzep1/xcode-build-skill138—~1.5kAutomated safety check: NotesMIT

Similar skills

  • Dt Setup iOS

    Dynatrace/dynatrace-for-ai

    Set up the Dynatrace iOS SDK (OneAgent) in an iOS project using Swift Package Manager.

    161 GitHub stars~3.3k tokensUpdated 6 days ago
    MobileAuto-check passed
  • Update Swiftui APIs

    AvdLee/SwiftUI-Agent-Skill

    Scan Apple's SwiftUI documentation for deprecated APIs and update the SwiftUI Expert Skill with modern replacements.

    3.7k GitHub stars~1.2k tokensUpdated yesterday
    MobileAuto-check passed
  • iOS Simulator Skill

    conorluddy/ios-simulator-skill

    29 production-ready scripts for iOS app testing, building, and automation.

    1.3k GitHub stars~5.7k tokensUpdated yesterday
    MobileAuto-check passed
  • Mlkit Release

    d-date/google-mlkit-swiftpm

    A skill your agent uses when triaging incoming issues or PRs for google-mlkit-swiftpm, or when cutting a release.

    148 GitHub stars~1.7k tokensUpdated 13 days ago
    MobileAuto-check passed
  • Xcode Build

    pzep1/xcode-build-skill

    Build and run iOS/macOS apps using xcodebuild and xcrun simctl directly.

    138 GitHub stars~1.5k tokensUpdated 8 mo ago
    MobileAuto-check: notes
  • iOS Simulator Workflows

    conorluddy/xclaude-plugin

    Manages iOS Simulator devices and apps through the execute_simulator_command MCP tool instead of raw simctl: boot, create and delete devices, install and launch apps, screenshots and diagnostics.

    183 GitHub stars~3.3k tokensUpdated 25 days ago
    MobileAuto-check passed

More from ipedro/Inspector

  • Inspector Implementation

    ipedro/Inspector

    A skill your agent uses when an agent needs to implement or modify the Inspector library itself — panel UI, hierarchy/runtime behavior, custom property models, macros, or Example-app dogfooding.

    170 GitHub stars~729 tokensUpdated 5 mo ago
    Auto-check passed
  • Inspector Integration

    ipedro/Inspector

    A skill your agent uses when an agent needs to integrate the Inspector library into an app without focusing on the MCP bridge: startup wiring, configuration/customization, debug-only gating, and…

    170 GitHub stars~724 tokensUpdated 5 mo ago
    Auto-check passed
  • Inspector MCP Consumer

    ipedro/Inspector

    A skill your agent uses when an agent needs to patch a consumer iOS app so it exposes the Inspector MCP bridge, add or verify the app-side Inspector startup configuration, or choose the correct…

    170 GitHub stars~926 tokensUpdated 5 mo ago
    Auto-check passed

Categories

Questions about Inspector MCP

What does Inspector MCP do?

A skill your agent uses when an agent needs to inspect a live iOS app through the Inspector MCP bridge, register or troubleshoot InspectorMCPServer for a consumer Xcode project, or query, resolve…. Inspector MCP is an agent skill from ipedro/Inspector. Use when an agent needs to inspect a live iOS app through the Inspector MCP bridge, register or troubleshoot InspectorMCPServer for a consumer Xcode project, or query, resolve, and snapshot the live UIKit hierarchy on Simulator.

When should I use Inspector MCP?

Inspector MCP fits situations like: an agent needs to inspect a live iOS app through the Inspector MCP bridge; troubleshoot InspectorMCPServer for a consumer Xcode project; snapshot the live UIKit hierarchy on Simulator.

How do I install Inspector MCP in Claude Code?

Run `npx skills add ipedro/Inspector --skill inspector-mcp -a claude-code`. Or copy the skill folder (Plugins/inspector-mcp/skills/inspector-mcp in ipedro/Inspector) into .claude/skills/inspector-mcp in your project. Claude Code loads it when a task matches its description.

How do I install Inspector MCP in Codex?

Run `npx skills add ipedro/Inspector --skill inspector-mcp -a codex`. Or copy the skill folder (Plugins/inspector-mcp/skills/inspector-mcp in ipedro/Inspector) into .agents/skills/inspector-mcp in your project. Codex loads it when a task matches its description.

Can I use Inspector MCP in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ipedro/Inspector --skill inspector-mcp -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/inspector-mcp, .gemini/skills/inspector-mcp, .github/skills/inspector-mcp and .opencode/skills/inspector-mcp in your project.

What does Inspector MCP need to run?

Going by SKILL.md and its folder, Inspector MCP needs Python for the scripts in its folder and the command-line tools its instructions call (swift, python3, xcodebuild, codex, claude and xcrun). Our summary lists: Python 3.

Does Inspector MCP access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Inspector MCP safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Inspector MCP use?

Inspector MCP is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Inspector MCP use?

About 3.4k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 4k tokens, read only when the agent opens those files.

What are the alternatives to Inspector MCP?

Skills that share tags, products or a category with Inspector MCP: Dt Setup iOS (Dynatrace/dynatrace-for-ai, 161 stars), Update Swiftui APIs (AvdLee/SwiftUI-Agent-Skill, 3.7k stars), iOS Simulator Skill (conorluddy/ios-simulator-skill, 1.3k stars) and Mlkit Release (d-date/google-mlkit-swiftpm, 148 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Inspector MCP?

ipedro (a GitHub user) maintains it in ipedro/Inspector, which has 170 GitHub stars. The repository holds 4 skills in this directory. The repository was last updated on April 19, 2026.

Source: ipedro/Inspector on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.