Files
mini-db-mcp/src/mini_db_mcp/main.py
T

49 lines
1.1 KiB
Python
Raw Normal View History

2026-08-21 17:26:44 +08:00
import logging
import sys
import asyncio
from contextlib import asynccontextmanager
from typing import Any
from mcp.server import Server
from mcp.types import (
INTERNAL_ERROR,
INVALID_PARAMS,
CallToolResult,
GetPromptResult,
ListPromptsResult,
ListResourcesResult,
ListToolsResult,
ReadResourceResult,
TextContent,
TextResourceContents,
)
from .config import Config
from .prompts import MissingPromptArgumentError, PromptsManager, UnknownPromptError
from .server import MiniServer
from . import __version__
logger = logging.getLogger(__name__)
def _setup_logging(level: str) -> None:
logging.basicConfig(
level=getattr(logging, level, logging.INFO),
format="%(asctime)s %(name)s %(levelname)s %(message)s",
stream=sys.stderr,
)
def main() -> None:
config = Config()
server = MiniServer(config)
_setup_logging(config.server.log_level)
transport = config.server.transport
if transport == "stdio":
asyncio.run(server.start_stdio())
else:
logger.error("Unsupported transport: %s", transport)
if __name__ == "__main__":
main()