Skip to main content
Glama
config_data.py4.1 kB
""" 配置数据资源模块 提供应用配置和元数据的 MCP 资源。 """ import json from datetime import datetime from mcp.server.fastmcp import FastMCP from ..config import settings def register_config_resources(mcp: FastMCP) -> None: """注册配置数据相关的资源""" @mcp.resource("config://app", title="Application Configuration") def app_config() -> str: """Get current application configuration.""" config_data = { "app_name": settings.app_name, "version": settings.version, "environment": settings.environment, "debug": settings.debug, "host": settings.host, "port": settings.port, "transport": settings.transport, "mcp_mount_path": settings.mcp_mount_path, "stateless_http": settings.stateless_http, "log_level": settings.log_level, "timestamp": datetime.now().isoformat() } return json.dumps(config_data, indent=2) @mcp.resource("config://version", title="Version Information") def version_info() -> str: """Get version and build information.""" version_data = { "version": settings.version, "app_name": settings.app_name, "mcp_sdk_version": "1.10.1", "python_version": "3.10+", "transport_protocol": settings.transport, "build_timestamp": datetime.now().isoformat() } return json.dumps(version_data, indent=2) @mcp.resource("config://capabilities", title="Server Capabilities") def server_capabilities() -> str: """Get server capabilities and features.""" capabilities = { "mcp_version": "1.10.1", "transport": settings.transport, "features": { "tools": True, "resources": True, "prompts": True, "logging": True, "streaming": settings.transport in ["streamable-http", "sse"], "stateless": settings.stateless_http }, "tools_count": 0, # This would be dynamically calculated "resources_count": 0, # This would be dynamically calculated "prompts_count": 0, # This would be dynamically calculated "timestamp": datetime.now().isoformat() } return json.dumps(capabilities, indent=2) @mcp.resource("config://user/{user_id}", title="User Configuration") def user_config(user_id: str) -> str: """ Get user-specific configuration. Args: user_id: The user identifier """ # This is a template resource that demonstrates dynamic parameters user_data = { "user_id": user_id, "preferences": { "theme": "default", "language": "en", "timezone": "UTC" }, "permissions": { "read": True, "write": False, "admin": False }, "last_accessed": datetime.now().isoformat(), "timestamp": datetime.now().isoformat() } return json.dumps(user_data, indent=2) @mcp.resource("config://environment", title="Environment Variables") def environment_config() -> str: """Get environment-specific configuration (sanitized).""" env_data = { "environment": settings.environment, "debug_mode": settings.debug, "log_level": settings.log_level, "has_secret_key": settings.secret_key is not None, "has_api_key": settings.api_key is not None, "has_database_url": settings.database_url is not None, "has_redis_url": settings.redis_url is not None, "has_openai_api_key": settings.openai_api_key is not None, "has_anthropic_api_key": settings.anthropic_api_key is not None, "timestamp": datetime.now().isoformat() } return json.dumps(env_data, indent=2)

Latest Blog Posts

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/WW-AI-Lab/Awesome-MCP-Scaffold'

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