posit-dev / posit-dev/mcptools
Serving MCP Apps: gaps for embedding mcptools in other frameworks (tracking)
Nobody has claimed this yet.
- Dominant language
- R
- Stars
- 196
- Forks
- 21
- Avg merge
- 1h 14m
- Merged PRs (30d)
- 1
Description
Shiny is growing experimental support for serving apps as MCP Apps (SEP-1865): an MCP endpoint mounted on the app's own httpuv server whose ui:// resource renders the live app in the host's sandboxed iframe.
The original plan was to build that endpoint on {mcptools}. That wasn't possible with v1.0.0 / current dev, so shiny currently carries a minimal internal JSON-RPC endpoint. This issue collects the gaps as sub-issues so the implementations can converge — ideally shiny (and other embedders like plumber) could eventually delegate protocol handling to {mcptools}.
Each sub-issue is independently useful; none is MCP-Apps-specific except the tool _meta one.
Shiny's internal implementation (a reference for what embedders need): R/mcp-server.R, R/mcp-tunnel.R, R/mcp-stdio.R on the schloerke/shiny-mcp-app-protocol branch.
Parts
- #116 (resources/list + resources/read)
- #117 (tool
_metain tools/list) - #118 (async tool handlers via promises)
- #119 (embeddable JSON-RPC dispatch)
- #120 (non-blocking stdio serving)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the linked sub-issues #116–#120 and the reference implementation in R/mcp-server.R, R/mcp-tunnel.R, and R/mcp-stdio.R on the shiny-mcp-app-protocol branch. Pick one independently scoped protocol gap and trace the corresponding mcptools entry points. Done means the selected gap is implemented and its behavior is covered by the relevant tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- r
- Domain
- api, backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100