Commit graph

12 commits

Author SHA1 Message Date
Snider
1bb0cc9e4f feat: add EaaS shield-check icon to server listings
Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 15:56:43 +00:00
Snider
92e2097022 fix: register MCP layout in layouts:: namespace
- Change <x-layouts.mcp> to <x-layouts::mcp> in all blade views
- Change Livewire #[Layout('components.layouts.mcp')] to layouts::mcp
- Register layouts path via Blade::anonymousComponentPath in Boot
- Layout file already exists at src/Front/View/Blade/layouts/mcp.blade.php

The dot notation couldn't resolve because mcp.blade.php lives in the
package, not the app's components directory. The layouts:: namespace
is the correct pattern matching core-php's component registration.

Co-Authored-By: Virgil <virgil@lethean.io>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 15:38:27 +00:00
Snider
1bf7f2a21c fix: update stale API endpoint URL in playground view
Use request()->getSchemeAndHttpHost()/tools/call instead of
config('app.url')/api/v1/mcp/tools/call — MCP domain is the endpoint.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-04 07:19:56 +00:00
Snider
02c4cc9666 feat: use McpRoutesRegistering for functional MCP routes
Move functional API routes (tools/call, servers.json, etc.) from
Website\Mcp\Routes\web.php to Mcp\Boot via the McpRoutesRegistering
lifecycle event. HTML portal routes stay in web.php with web middleware.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-03 21:52:58 +00:00
Snider
a83d895b25 fix: correct namespaces for MCP controller and middleware
- McpApiController: Mod\Api\Controllers → Core\Mcp\Controllers (matches PSR-4)
- McpApiKeyAuth: Core\Mod\Api\Models\ApiKey → Core\Api\Models\ApiKey
- Route import updated to match

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-03 21:42:42 +00:00
Snider
0653c82148 feat: MCP domain as native endpoint with OpenBrain support
The mcp.* domain now serves both the human-readable portal AND the
functional API. Agents POST to /tools/call with an API key, browsers
get the HTML docs as a fallback. No separate api.* bridge needed.

- Add POST /tools/call, GET /resources/{uri} routes to mcp domain
- Add JSON server list/detail routes (servers.json, servers/{id}.json)
- Add OpenBrain icon to landing, index, and show views
- Replace all api.* domain references with mcp.* (request()->getSchemeAndHttpHost())
- Rewrite connect.blade.php as HTTP-only documentation
- Update ApiExplorer base URL to use current mcp domain
- Remove stdio/Docker configuration from all views

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-03 21:39:36 +00:00
Snider
92faed247e fix: remove hardcoded Host UK branding from MCP portal
- Landing page: "Host UK MCP Ecosystem" → "MCP Ecosystem"
- Landing page: "Host UK infrastructure" → "platform infrastructure via MCP"
- Connect page: remove "Host UK" from setup guide text

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 20:50:46 +00:00
Snider
91542fb009 revert: simplify route file back to single config read
Multi-domain logic moved to app-level Boot (wildcard override).

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-03 17:08:51 +00:00
Snider
27e1336b24 feat: multi-domain support for MCP portal routes
Register routes for each domain in config('mcp.domains') array,
allowing the portal to serve from multiple subdomains (e.g.
mcp.host.test and mcp.lthn.test simultaneously).

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-03 16:59:26 +00:00
Snider
547860dd57 fix: correct namespace references in MCP portal routes and controller
Route file referenced Mod\Mcp\ and Website\Mcp\ namespaces which don't
exist — the correct vendor namespaces are Core\Mcp\ and Core\Website\Mcp\.
This was the blocker preventing the MCP portal from loading.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-03 16:51:14 +00:00
Snider
6f309979de refactor: move MCP module from Core\Mod\Mcp to Core\Mcp namespace
Relocates the MCP module to a top-level namespace as part of the
monorepo separation, removing the intermediate Mod directory layer.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-27 16:26:14 +00:00
Snider
afb3dacd98 monorepo sepration 2026-01-26 20:57:41 +00:00