Skip to main content
Glama

Smithsonian Open Access MCP Server

by molanojustin
MIT License
233
2
  • Apple
  • Linux
context.py1.09 kB
""" Smithsonian Open Access MCP Context """ import logging from typing import Optional from dataclasses import dataclass from mcp.server.fastmcp import Context from mcp.server.session import ServerSession from .api_client import SmithsonianAPIClient, create_client logger = logging.getLogger(__name__) _global_api_client: Optional[SmithsonianAPIClient] = None @dataclass class ServerContext: """Application context with initialized dependencies.""" api_client: SmithsonianAPIClient async def get_api_client( ctx: Optional[ # pylint: disable=unused-argument Context[ServerSession, ServerContext] ] = None, ) -> SmithsonianAPIClient: """Get API client from global instance for mcpo compatibility.""" global _global_api_client # pylint: disable=global-statement # Always use global client to avoid context access issues # This works for both normal MCP and mcpo scenarios if _global_api_client is None: _global_api_client = await create_client() logger.info("Global API client initialized") return _global_api_client

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/molanojustin/smithsonian-mcp'

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