Skip to main content
Glama
provider_dialog.py2.54 kB
"""Provider Dialog - Dialog for adding new AI providers""" from PySide2 import QtWidgets class ProviderDialog(QtWidgets.QDialog): """Dialog for adding new AI providers.""" def __init__(self, parent=None): super(ProviderDialog, self).__init__(parent) self.setWindowTitle("Add AI Provider") self.setModal(True) self.resize(400, 300) self._setup_ui() def _setup_ui(self): """Setup the dialog UI.""" layout = QtWidgets.QVBoxLayout(self) # Form layout form_layout = QtWidgets.QFormLayout() self.name_input = QtWidgets.QLineEdit() self.name_input.setPlaceholderText("e.g., 'My Claude Provider'") form_layout.addRow("Provider Name:", self.name_input) self.type_combo = QtWidgets.QComboBox() self.type_combo.addItems(["anthropic", "openai", "google", "openrouter"]) form_layout.addRow("Provider Type:", self.type_combo) self.api_key_input = QtWidgets.QLineEdit() self.api_key_input.setEchoMode(QtWidgets.QLineEdit.Password) self.api_key_input.setPlaceholderText( "API key (optional - can be set in API Keys section)" ) form_layout.addRow("API Key:", self.api_key_input) self.model_input = QtWidgets.QLineEdit() self.model_input.setPlaceholderText( "e.g., 'claude-3-sonnet-20240229' (optional)" ) form_layout.addRow("Model:", self.model_input) layout.addLayout(form_layout) # Buttons button_layout = QtWidgets.QHBoxLayout() self.ok_btn = QtWidgets.QPushButton("Add Provider") self.ok_btn.setStyleSheet( "QPushButton { background-color: #4CAF50; color: white; font-weight: bold; padding: 8px; }" ) self.cancel_btn = QtWidgets.QPushButton("Cancel") button_layout.addStretch() button_layout.addWidget(self.cancel_btn) button_layout.addWidget(self.ok_btn) layout.addLayout(button_layout) # Connect signals self.ok_btn.clicked.connect(self.accept) self.cancel_btn.clicked.connect(self.reject) def get_provider_data(self): """Get provider data from dialog.""" config = {} if self.model_input.text(): config["model"] = self.model_input.text() return { "name": self.name_input.text(), "type": self.type_combo.currentText(), "api_key": self.api_key_input.text(), "config": config, }

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/jango-blockchained/mcp-freecad'

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