Skip to contents

Create MCP Apps

Build and serve MCP Apps from UI components and tools.

mcp_app()
Create an MCP App
McpApp
MCP App
serve()
Serve an MCP App
preview_app()
Preview an MCP App in a web browser

Input Components

Interactive inputs that mirror Shiny’s API. Values are sent to tools when the user interacts with them.

mcp_select()
Create an MCP select input
mcp_text_input()
Create an MCP text input
mcp_numeric_input()
Create an MCP numeric input
mcp_checkbox()
Create an MCP checkbox input
mcp_slider()
Create an MCP slider input
mcp_radio()
Create MCP radio button inputs
mcp_action_button()
Create an MCP action button
mcp_input()
Mark an element as an MCP input

Output Components

Placeholders populated by tool results. The JS bridge routes values to outputs based on matching IDs.

mcp_text()
Create an MCP text output
mcp_plot()
Create an MCP plot output
mcp_table()
Create an MCP table output
mcp_html()
Create an MCP HTML output
mcp_output()
Mark an element as an MCP output

Conversion Pipeline

Parse, analyze, and generate MCP Apps from existing Shiny apps.

convert_app()
Convert a Shiny app to an MCP App
parse_shiny_app()
Parse a Shiny app into intermediate representation
analyze_reactive_graph()
Analyze reactive graph from parsed Shiny app
generate_mcp_app()
Generate MCP App from analysis
print(<ReactiveAnalysis>)
Print method for ReactiveAnalysis
print(<ShinyAppIR>)
Print method for ShinyAppIR

Bridge Helpers

Internal helpers for the JS bridge configuration.

bridge_config_tag()
Bridge config tag
bridge_script_tag()
Bridge script tag

Package

shinymcp shinymcp-package
shinymcp: Convert Shiny Apps to MCP Apps