l0-py-blocks-mcp

A Model Context Protocol (MCP) server for Selise Blocks Cloud integration

Community: Submitted by a user or imported; check the owner before granting accessOnlineAPI key requiredGlobalFreeRead-only

What it can do

    What data it sees

    Do you need an account

    An API key from the service settings is required

    A Model Context Protocol (MCP) server for Selise Blocks Cloud integration

    How to connect

    How to connect l0-py-blocks-mcp to Claude

    The server address to paste into Claude settings:

    https://ai.seliseblocks.com/mcp

    1. Open Claude (claude.ai or the desktop app).
    2. Go to Settings → Connectors.
    3. Click Add custom connector.
    4. Paste the server address copied below into Remote MCP server URL and click Add.
    5. In a chat, click + → Connectors and switch the new connector on.

    Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

    Authorization

    After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

    How to connect l0-py-blocks-mcp to ChatGPT

    The server address to paste into ChatGPT settings:

    https://ai.seliseblocks.com/mcp

    1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
    2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
    3. Open Settings → Connectors and click Create.
    4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
    5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
    6. In a new chat open + → Apps/Connectors and enable the connector.

    OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

    Authorization

    On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

    How to connect l0-py-blocks-mcp to Cursor

    The server address to paste into Cursor settings:

    https://ai.seliseblocks.com/mcp

    Fastest: click Open in Cursor below and confirm the prompt.

    Manually:

    1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
    2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
    3. Save the file. The server appears in the MCP list; authorize it there if asked.

    Authorization

    If the service needs sign-in, an authorize button appears next to the server in the MCP list.

    Server tool list (36)

    Raw names from tools/list. Only developers need these.

    activate_social_loginActivate social login for the project by updating authentication configuration. Args: item_id: Configuration item ID (default: "682c40c3872fab1bc2cc8988") project_key: Project key (tenant ID). Uses global tenant_id if not provided refresh_token_minutes: Refresh token validity in minutes (default: 300) access_token_minutes: Access token validity in minutes (default: 15) remember_me_minutes: Remember me token validity in minutes (default: 43200) allowed_grant_types: List of allowed grant types (default: ["password", "refresh_token", "social"]) wrong_attempts_lock: Number of wrong attempts to lock account (default: 5) lock_duration_minutes: Account lock duration in minutes (default: 5) Returns: JSON string with social login activation result
    get_authentication_configGet the current authentication configuration for the project. Args: project_key: Project key (tenant ID). Uses global tenant_id if not provided Returns: JSON string with current authentication configuration
    add_sso_credentialAdd social login credentials for OAuth providers (Google, Facebook, GitHub, etc.). Args: provider: OAuth provider name (e.g., "google", "facebook", "github") client_id: OAuth client ID from provider console client_secret: OAuth client secret from provider console project_key: Project key (tenant ID). Uses global tenant_id if not provided is_enable: Whether to enable this SSO provider (default: True) redirect_uri: OAuth redirect URI (optional) Returns: JSON string with SSO credential save result
    check_blocks_cliCheck if Blocks CLI is installed and available. Returns: JSON string with CLI availability status
    install_blocks_cliInstall Blocks CLI using npm. Returns: JSON string with installation result
    list_rolesList all roles for a project. Args: project_key: Project key (tenant ID). Uses global tenant_id if not provided page: Page number (default: 0) page_size: Number of items per page (default: 10) search: Search filter (default: "") sort_by: Field to sort by (default: "Name") sort_descending: Sort order (default: false) Returns: JSON string with role list result
    create_roleCreate a new role. Args: name: Role name description: Role description slug: Role slug (URL-friendly identifier) project_key: Project key (tenant ID). Uses global tenant_id if not provided Returns: JSON string with role creation result
    list_permissionsList all permissions for a project. Args: project_key: Project key (tenant ID). Uses global tenant_id if not provided page: Page number (default: 0) page_size: Number of items per page (default: 10) search: Search filter (default: "") sort_by: Field to sort by (default: "Name") sort_descending: Sort order (default: false) is_built_in: Filter by built-in status (default: "") resource_group: Filter by resource group (default: "") Returns: JSON string with permission list result
    create_permissionCreate a new permission. Args: name: Permission name description: Permission description resource: Resource name (arbitrary string) resource_group: Resource group name (arbitrary string) tags: List of action tags (e.g., ["create", "read", "update", "delete"]) project_key: Project key (tenant ID). Uses global tenant_id if not provided type: Permission type (default: 3 for "Data protection") dependent_permissions: List of dependent permission IDs (default: []) is_built_in: Whether it's a built-in permission (default: false) Returns: JSON string with permission creation result
    update_permissionUpdate an existing permission. Args: item_id: The ID of the permission to update name: Permission name description: Permission description resource: Resource name (arbitrary string) resource_group: Resource group name (arbitrary string) tags: List of action tags (e.g., ["create", "read", "update", "delete"]) project_key: Project key (tenant ID). Uses global tenant_id if not provided type: Permission type (default: 3 for "Data protection") dependent_permissions: List of dependent permission IDs (default: []) is_built_in: Whether it's a built-in permission (default: false) Returns: JSON string with permission update result
    get_resource_groupsGet available resource groups for a project. Args: project_key: Project key (tenant ID). Uses global tenant_id if not provided Returns: JSON string with resource groups result
    set_role_permissionsAssign or remove permissions from a role. Args: role_slug: Role slug identifier add_permissions: List of permission IDs to add to the role (default: []) remove_permissions: List of permission IDs to remove from the role (default: []) project_key: Project key (tenant ID). Uses global tenant_id if not provided Returns: JSON string with role permission assignment result
    get_role_permissionsGet permissions assigned to specific role(s). Args: role_slugs: List of role slugs to filter by project_key: Project key (tenant ID). Uses global tenant_id if not provided page: Page number (default: 0) page_size: Number of items per page (default: 10) search: Search filter (default: "") is_built_in: Filter by built-in status (default: "") resource_group: Filter by resource group (default: "") Returns: JSON string with role permissions result
    enable_email_mfaEnable Email Multi-Factor Authentication for a project. Args: project_key: Project key (tenant ID). Uses global tenant_id if not provided Returns: JSON string with Email MFA configuration result
    enable_authenticator_mfaEnable Authenticator Multi-Factor Authentication for a project. Args: project_key: Project key (tenant ID). Uses global tenant_id if not provided Returns: JSON string with Authenticator MFA configuration result
    get_projectsGet projects from Selise Blocks API and extract application domains. Args: tenant_group_id: Tenant Group ID to filter projects (optional) page: Page number for pagination (default: 0) page_size: Number of items per page (default: 100) Returns: JSON string with projects data and extracted application domains
    set_application_domainManually set the application domain and tenant ID for repository creation. Args: domain: Application domain URL tenant_id: Tenant ID for the project project_name: Project name (optional) tenant_group_id: Tenant Group ID (optional) Returns: JSON string with confirmation
    create_projectCreate a new project in Selise Cloud. Args: project_name: Name of the project to create repo_name: Repository name (e.g., 'username/repo') repo_link: Full GitHub repository URL repo_id: Repository ID from GitHub or Git provider is_production: Whether this is a production environment (default: False) Returns: JSON string with project creation results
    get_auth_statusCheck current authentication status and token validity. Returns: JSON string with authentication status
    get_global_stateGet the current global state including authentication and application domain. Returns: JSON string with current global state
    create_schemaCreate a new schema in Selise Blocks GraphQL API. Args: schema_name: Name of the schema to create project_key: Project key (tenant ID). Uses global tenant_id if not provided Returns: JSON string with schema creation result
    list_schemasList schemas from Selise Blocks GraphQL API. Args: project_key: Project key (tenant ID). Uses global tenant_id if not provided keyword: Search keyword for filtering schemas page_size: Number of items per page (default: 100) page_number: Page number for pagination (default: 1) sort_descending: Sort in descending order (default: True) sort_by: Field to sort by (default: "CreatedDate") Returns: JSON string with schemas listing result
    get_schemaGet a schema's current fields using its ID (step 1 of schema field management). Args: schema_id: The ID of the schema to retrieve project_key: Project key (tenant ID). Uses global tenant_id if not provided Returns: JSON string with schema fields and metadata
    update_schema_fieldsUpdate schema fields (step 2 of schema field management). Args: schema_id: The ID of the schema to update fields: List of SchemaField objects for the schema (existing + new). Each SchemaField has Name (str), Type (str), and IsArray (bool) properties. Reserved fields (ItemId, CreatedDate, LastUpdatedDate, CreatedBy, Language, LastUpdatedBy, OrganizationIds, Tags) are automatically filtered out. project_key: Project key (tenant ID). Uses global tenant_id if not provided Returns: JSON string with update result
    finalize_schemaFinalize schema changes by retrieving updated schema (step 3 of schema field management). Args: schema_id: The ID of the schema to finalize project_short_key: Project short key. project_key: Project key (tenant ID). Uses global tenant_id if not provided Returns: JSON string with finalized schema data
    configure_blocks_data_gatewayConfigure Blocks Data Gateway for GraphQL operations. Args: project_key: Project key (tenant ID). Uses global tenant_id if not provided connectionString: Connection string for the database databaseName: Name of the database Returns: JSON string with data gateway configuration result
    get_blocks_data_gateway_configGet Blocks Data Gateway configuration. Args: project_key: Project key (tenant ID). Uses global tenant_id if not provided Returns: JSON string with data gateway configuration result
    save_captcha_configSave CAPTCHA configuration for Google reCAPTCHA or hCaptcha. Args: provider: CAPTCHA provider - "recaptcha" for Google reCAPTCHA or "hcaptcha" for hCaptcha site_key: Public site key from CAPTCHA provider console secret_key: Private secret key from CAPTCHA provider console project_key: Project key (tenant ID). Uses global tenant_id if not provided is_enable: Whether to enable the configuration immediately (default: False) Returns: JSON string with CAPTCHA configuration save result
    list_captcha_configsList all CAPTCHA configurations for a project. Args: project_key: Project key (tenant ID). Uses global tenant_id if not provided Returns: JSON string with list of CAPTCHA configurations
    update_captcha_statusEnable or disable a CAPTCHA configuration. Args: item_id: The ID of the CAPTCHA configuration to update is_enable: True to enable, False to disable the configuration project_key: Project key (tenant ID). Uses global tenant_id if not provided Returns: JSON string with status update result
    get_translation_languagesGet available languages for translation in a project. Args: project_key: Project key (tenant ID). Uses global tenant_id if not provided Returns: JSON string with available languages including language names, codes, and default status
    get_translation_modulesGet available modules for translation in a project. Args: project_key: Project key (tenant ID). Uses global tenant_id if not provided Returns: JSON string with available modules including module names and IDs
    get_module_keysGet available keys in a specific module for translation in a project. Args: module_id: The ID of the module to get keys from project_key: Project key (tenant ID). Uses global tenant_id if not provided Returns: JSON string with available keys including key names, IDs, and resources
    create_moduleCreate a new module for translation in a project. Args: module_name: Name of the module to create project_key: Project key (tenant ID). Uses global tenant_id if not provided Returns: JSON string with module creation result including module ID and name
    save_module_keys_with_translationsSave multiple translation keys with their translations to modules in a project. Args: request: SaveKeysTranslationRequest object containing: - ProjectKey: Project key (tenant ID). Uses global tenant_id if not provided - Translations: List of SaveKeyTranslationRequest objects, each containing: - KeyName: The translation key name - ModuleId: The module ID - ItemId: The Key ID (existing itemId on update else empty string on creation) - IsNewKey: On creation of new key it's True and for update it will be False - Resources: List of KeyTranslationResource objects with Value and Culture Returns: JSON string with batch translation keys creation result including status and results for each key
    publish_translationPublish translations for a project, making them live and available for use. This function publishes all translation keys and their translations for the specified project, making them available in the production environment. Args: project_key: Project key (tenant ID). Uses global tenant_id if not provided Returns: JSON string with publish operation result including success/failure status