react-devtools-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| connectC | Connect to React DevTools backend via WebSocket |
| disconnectB | Disconnect from React DevTools backend |
| get_connection_statusC | Get current connection status |
| get_component_treeC | Get the React component tree for all roots |
| get_element_by_idC | Get basic element info by ID |
| search_componentsC | Search for components by name |
| inspect_elementB | Get full inspection data for a component including props, state, hooks |
| get_owners_listC | Get the chain of components that rendered this element |
| get_element_sourceC | Get source location for an element |
| override_propsC | Override a prop value on a component |
| override_stateC | Override a state value on a class component |
| override_hooksC | Override a hook value on a function component |
| override_contextC | Override a context value |
| delete_pathC | Delete a path from props/state/hooks/context |
| rename_pathC | Rename a key in props/state/hooks/context |
| start_profilingC | Start profiling React renders |
| stop_profilingC | Stop profiling and get data |
| get_profiling_dataC | Get profiling data without stopping |
| get_profiling_statusB | Check if profiling is active |
| get_errors_and_warningsC | Get all errors and warnings from components |
| clear_errors_and_warningsC | Clear all or specific element's errors/warnings |
| toggle_errorC | Toggle error boundary state for testing |
| toggle_suspenseC | Toggle suspense state for testing |
| highlight_elementC | Highlight an element in the app UI |
| clear_highlightB | Clear any active element highlight |
| scroll_to_elementC | Scroll the app to show an element |
| log_to_consoleC | Log an element to the browser/app console as $r |
| store_as_globalC | Store a value as a global variable for console access |
| view_sourceC | Open element source in IDE (if supported) |
| get_component_filtersC | Get current component filters |
| set_component_filtersC | Set component filters (hide certain components) |
| set_trace_updates_enabledC | Enable/disable visual update highlighting |
| get_native_styleC | Get native style and layout info (React Native only) |
| set_native_styleC | Set a native style property (React Native only) |
| health_checkB | Get server and connection health status |
| get_capabilitiesB | Get negotiated protocol capabilities (features supported by backend) |
| get_renderersB | Get all connected React renderers (for multi-renderer apps) |
| get_rendererC | Get a specific renderer by ID |
| get_elements_by_rendererC | Get all elements for a specific renderer |
| start_inspecting_nativeB | Start native element inspection mode (tap-to-select) |
| stop_inspecting_nativeC | Stop native element inspection mode |
| get_inspecting_native_statusB | Check if native inspection mode is active |
| capture_screenshotC | Capture screenshot of an element (if supported) |
| save_to_clipboardC | Save content to system clipboard |
| view_attribute_sourceC | Get source location for a specific attribute path |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Component Tree | Live component tree updates |
| Current Selection | Currently selected element |
TDQS
Scored across 45 tools
The tools cover distinct operations like connection management, inspection, and overrides, but there is some overlap in purpose. For example, 'get_element_by_id' and 'inspect_element' both retrieve element info, and 'get_profiling_data' vs 'stop_profiling' could cause confusion. Descriptions help differentiate, but the high count increases ambiguity.
Most tools follow a clear verb_noun pattern (e.g., 'capture_screenshot', 'clear_errors_and_warnings'), with consistent snake_case throughout. Minor deviations exist, such as 'log_to_console' using 'to' instead of a direct verb, but overall naming is predictable and readable.
With 45 tools, the count is excessive for a React DevTools server, making it heavy and potentially overwhelming. While the domain is broad, many tools could be consolidated or omitted without losing functionality, indicating poor scoping.
The tool set provides comprehensive coverage for React DevTools operations, including connection management, component inspection, profiling, overrides, and debugging features. There are no obvious gaps; it supports full CRUD-like actions and lifecycle management for the domain.