ShopPrentice Studio is an OAuth-protected Streamable HTTP MCP server (Model Context Protocol). Any MCP client — Codex, Claude Code, Claude desktop, Cursor, your own agent — connects to one endpoint and your browser does the sign-in.
| MCP endpoint | https://shopprentice.com/mcp |
| Transport | Streamable HTTP |
| Authentication | OAuth 2.1 in your browser (authorization code + PKCE, dynamic client registration) — discovered automatically by the client |
| Scope | studio |
| API key | None. Do not ask the user for an API key or a bearer token; add the URL with no headers and approve the sign-in the client opens. |
| Agent brief | /llms.txt |
Not to be confused with the open-source woodworking skill for Fusion 360 or a local Fusion 360 MCP on localhost:9100 — those drive Fusion. This endpoint is the studio's own engine, hosted here, and it needs nothing installed.
codex mcp add shopprentice --url https://shopprentice.com/mcp
Or in ~/.codex/config.toml:
[mcp_servers.shopprentice] url = "https://shopprentice.com/mcp"
Codex opens the browser sign-in on first use; if it did not (codex mcp list shows Not logged in), run codex mcp login shopprentice — with whatever name you gave the server.
claude mcp add --transport http shopprentice https://shopprentice.com/mcp
Then /mcp inside Claude Code → shopprentice → Authenticate if the browser did not open by itself. Claude desktop / claude.ai: Settings → Connectors → Add custom connector → paste the endpoint URL, leave the OAuth fields empty.
{"mcpServers": {"shopprentice": {"url": "https://shopprentice.com/mcp"}}}
Cursor, Windsurf, VS Code, Gemini CLI and most desktop clients take this shape (some name the key servers or add "type": "http"). Add it with no headers and complete the sign-in the client opens.
Then the sign-in is not finished — an MCP client lists no tools at all until it is. Finish it, then reload the tools:
codex mcp login <the name you gave it> (e.g. codex mcp login shopprentice), then start a new session./mcp → pick the server → Authenticate.Agents: never build by driving this website in a browser (the chat, the waitlist, the project pages). The MCP tools are the way to build — if you have none, stop and ask the user to finish the sign-in above.
The server name is yours to choose. The recipes here call it shopprentice, but any name works — just use the same name everywhere (add, login, and any config or skill that refers to it). A name mismatch shows up as “unknown MCP server”.
https://shopprentice.com/mcp with no credential and receives 401 with WWW-Authenticate: Bearer resource_metadata="https://shopprentice.com/.well-known/oauth-protected-resource/mcp", scope="studio".First thing to do once connected: read the MCP resource shopprentice://skill (the authoring skill), then write_script → build until validation passes → get_view, get_cutlist, get_plans.
Same one-week expiry as the OAuth token above; shown once.
Run python -m connector --server https://shopprentice.com on your machine. It prints a code; enter it here to pair. Then pick byo:you in the chat provider picker and your turns run your local agent CLI.
byo:you selected — never for anyone else.