Files
Agent Zero cd465e0564 feat: add MCP server with resources, tools, auth, and Traefik routing
- Add backend/app/mcp_server.py with FastMCP server (hms-cms)
- Resources: design-rules, page-structure, sync-status
- Tools: trigger_sync, get_sync_log, set_rentman_token, read_file,
  write_file, create_page, deploy, git_commit, git_status
- Bearer token auth via MCP_AUTH_TOKEN env var
- Mount MCP at /mcp with streamable HTTP transport
- Integrate session manager in FastAPI lifespan
- Add Traefik labels for external /mcp route on hms.media-on.de
- Add git, docker.io, curl to backend Dockerfile
- Mount repo root + docker socket in backend container
- Add mcp>=1.0.0 to requirements.txt
2026-07-12 15:58:22 +02:00

88 lines
2.9 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// nuxt.config.ts HMS Licht & Ton Frontend Configuration
import type { NuxtConfig } from "nuxt/schema";
export default defineNuxtConfig({
devtools: { enabled: false },
ssr: false,
modules: ["@nuxtjs/tailwindcss", "@pinia/nuxt"],
css: ["~/assets/css/main.css"],
app: {
head: {
htmlAttrs: { lang: "de" },
meta: [
{ charset: "utf-8" },
{ name: "viewport", content: "width=device-width, initial-scale=1" },
{ name: "robots", content: "noindex, nofollow, noarchive, nosnippet" },
{ name: "theme-color", content: "#131313" },
{ name: "description", content: "HMS Licht & Ton Professionelle Veranstaltungstechnik aus Leipheim/Ellzee. Vermietung, Verkauf, Personal, Transport von Tontechnik und Lichttechnik." },
{ name: "author", content: "Hammerschmidt u. Mössle GbR" },
],
link: [
{ rel: "icon", type: "image/svg+xml", href: "/favicon.svg" },
{ rel: "preconnect", href: "https://fonts.googleapis.com" },
{ rel: "preconnect", href: "https://fonts.gstatic.com", crossorigin: "" },
{
rel: "stylesheet",
href: "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap",
},
],
script: [
{
type: "application/ld+json",
children: JSON.stringify({
"@context": "https://schema.org",
"@type": "LocalBusiness",
name: "HMS Licht & Ton Hammerschmidt u. Mössle GbR",
description: "Professionelle Veranstaltungstechnik aus Leipheim/Ellzee. Vermietung, Verkauf, Personal, Transport.",
address: {
"@type": "PostalAddress",
streetAddress: "Grockelhofen 10",
addressLocality: "Leipheim",
postalCode: "89340",
addressCountry: "DE",
},
telephone: "+498221204433",
email: "info@hms-licht-ton.de",
url: "https://hms.media-on.de",
areaServed: "Süddeutschland",
knowsAbout: ["Tontechnik", "Lichttechnik", "Rigging", "Veranstaltungstechnik"],
}),
},
],
},
},
runtimeConfig: {
// Server-only: used by SSR to call backend in Docker network
apiBase: process.env.API_BASE_URL || "http://backend:8000",
public: {
// Client-side: relative URL goes through Nuxt server proxy
apiBase: "/api",
},
},
routeRules: {
"/": { ssr: false },
"/mietkatalog": { ssr: true },
"/mietkatalog/**": { ssr: true },
"/warenkorb": { ssr: false },
"/mietanfrage": { ssr: false },
"/admin": { ssr: false },
},
typescript: {
strict: true,
typeCheck: false,
},
tailwindcss: {
cssPath: "~/assets/css/main.css",
configPath: "tailwind.config.ts",
},
nitro: {
compressPublicAssets: true,
routeRules: {
"/": { ssr: false },
"/api/**": {
proxy: "http://backend:8000/api/**",
},
},
},
});