Investigate whether /preview should move to root #5
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally filed by @coilysiren on 2026-05-02T23:10:32Z - https://github.com/coilysiren/eco-mcp-app/issues/20
Context
Today the HTTP app routes are:
/- 302 redirect to/preview/preview,/preview.json,/preview-map,/preview-map.json,/preview/<tool>,/preview/<tool>.json- dev iframe shell + Jinja2 card, JSON twin/mcp/- Streamable-HTTP MCP transport/healthzSee
src/eco_mcp_app/http_app.py:124for the root redirect.Question
Why is the dev preview namespaced under
/previewwith/as a redirect, instead of just serving the preview at/?Current rationalization (from a chat thread):
/preview*is a tree (.jsontwins, per-tool subroutes), not a single page. Hoisting to root would shadow other top-level routes or force awkward names./is reserved as a future service-info / landing page./previewis explicitly dev-only per the module docstring. Real MCP clients hit/mcp/, never/preview. Keeping it under its own prefix signals "browser-poking surface, not the product."These are not very compelling on their own. Worth checking what other public MCP servers do at the root URL.
Investigation
/? Empty 404? Service-info JSON? A landing page? A redirect?/with service-info JSON (already drafted atservice_infoinhttp_app.py:127, just unrouted), or collapse/previewinto/..jsontwin and per-tool subroutes coherent (/.jsonis awkward; maybe/tools/<name>instead of/preview/<name>).Out of scope
/mcp/mount path.