We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/crew-of-one/mcp-server--atlassian'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
"""
Confluence space models.
This module provides Pydantic models for Confluence spaces.
"""
import logging
from typing import Any
from ..base import ApiModel
from ..constants import CONFLUENCE_DEFAULT_ID, EMPTY_STRING, UNKNOWN
logger = logging.getLogger(__name__)
class ConfluenceSpace(ApiModel):
"""
Model representing a Confluence space.
"""
id: str = CONFLUENCE_DEFAULT_ID
key: str = EMPTY_STRING
name: str = UNKNOWN
type: str = "global" # "global", "personal", etc.
status: str = "current" # "current", "archived", etc.
@classmethod
def from_api_response(
cls, data: dict[str, Any], **kwargs: Any
) -> "ConfluenceSpace":
"""
Create a ConfluenceSpace from a Confluence API response.
Args:
data: The space data from the Confluence API
Returns:
A ConfluenceSpace instance
"""
if not data:
return cls()
return cls(
id=str(data.get("id", CONFLUENCE_DEFAULT_ID)),
key=data.get("key", EMPTY_STRING),
name=data.get("name", UNKNOWN),
type=data.get("type", "global"),
status=data.get("status", "current"),
)
def to_simplified_dict(self) -> dict[str, Any]:
"""Convert to simplified dictionary for API response."""
return {
"key": self.key,
"name": self.name,
"type": self.type,
"status": self.status,
}