Initial implementation

This commit is contained in:
2026-04-13 14:22:37 +02:00
commit a0c1b6ed93
26 changed files with 4125 additions and 0 deletions
+40
View File
@@ -0,0 +1,40 @@
"""MCP server factory: creates and configures the FastMCP instance."""
from __future__ import annotations
import logging
from typing import TYPE_CHECKING
from mcp.server.fastmcp import FastMCP
if TYPE_CHECKING:
from mcp_synology_container.config import AppConfig
from mcp_synology_container.dsm_client import DsmClient
logger = logging.getLogger(__name__)
def create_server(config: AppConfig, client: DsmClient) -> FastMCP:
"""Create and configure the MCP server with all tools registered.
Args:
config: Application configuration.
client: Authenticated DsmClient instance.
Returns:
Configured FastMCP server ready to run.
"""
mcp = FastMCP("mcp-synology-container")
from mcp_synology_container.modules.projects import register_projects
from mcp_synology_container.modules.containers import register_containers
from mcp_synology_container.modules.compose import register_compose
from mcp_synology_container.modules.images import register_images
register_projects(mcp, config, client)
register_containers(mcp, config, client)
register_compose(mcp, config, client)
register_images(mcp, config, client)
logger.info("MCP server configured with all tool modules")
return mcp