Skip to main content
Glama

Sitemap MCP Server

config.py2.48 kB
""" Sitemap MCP Server Configuration =============================== This module contains the configuration settings for the Sitemap MCP server. """ import os from dotenv import load_dotenv from pydantic import BaseModel load_dotenv() class Settings(BaseModel): """Settings for the Sitemap MCP server.""" APP_NAME: str = "sitemap-mcp-server" APP_VERSION: str = "0.1.3" APP_DESCRIPTION: str = ( "MCP server for fetching, parsing and analyzing sitemaps of websites" ) DEPENDENCIES: list[str] = ["mcp[cli]", "pydantic", "ultimate-sitemap-parser"] HOST: str = os.getenv("HOST", "0.0.0.0") PORT: int = int(os.getenv("PORT", "8050")) CACHE_MAX_AGE: int = int(os.getenv("CACHE_MAX_AGE", "86400")) TRANSPORT: str = os.getenv("TRANSPORT", "sse") # LOG_FILE can be set to a writable path, or disabled by setting to "" or None LOG_FILE: str | None = os.getenv("LOG_FILE", "sitemap_server.log") or None LOG_LEVEL: str = os.getenv("LOG_LEVEL", "INFO").upper() APP_INSTRUCTIONS: str = """This MCP server provides tools for analyzing website sitemaps. # Getting Started 1. Use `get_sitemap_tree` to fetch the basic structure of a website's sitemap 2. Use `get_sitemap_pages` to retrieve all pages from a sitemap with filtering options 3. Use `get_sitemap_stats` for comprehensive statistics about a sitemap 4. Use `parse_sitemap_content` to parse raw sitemap XML content All tools return JSON strings that can be parsed for further processing. """ # Create a settings instance for importing elsewhere settings = Settings() import logging def configure_logger(): """Configure and return the application logger.""" logging.basicConfig( level=logging.INFO, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", ) logger = logging.getLogger("sitemap-mcp-server") # Try to add a file handler if LOG_FILE is set if settings.LOG_FILE: try: file_handler = logging.FileHandler(settings.LOG_FILE) file_handler.setFormatter( logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") ) logger.addHandler(file_handler) except Exception as e: logger.warning(f"Could not set up file logging to {settings.LOG_FILE}: {e}\nFalling back to console logging only.") logger.setLevel(getattr(logging, settings.LOG_LEVEL, logging.INFO)) return logger logger = configure_logger()

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/mugoosse/sitemap-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server