Leveraging Lokka to Overhaul Your Microsoft Branding
Give your Microsoft tenant a visual facelift in 15 minutes
Personalizing your company branding is one of the best ways to breathe fresh life into the bland Microsoft sign-in screen you see every day. Some settings are easy to update, but others need careful planning, like file sizes, aspect ratios, dimensions, and versions for light and dark modes.
If you have a vision and Photoshop skills, you could probably complete this all in a day. Lacking both creativity and patience, I opted to let Claude and Lokka handle it instead. Honestly, the results surpassed anything I would’ve created 😅.
Getting Familiar
Let’s first talk a bit about MCP servers. Think of them as bridges connecting tools like Claude to external systems, such as your Microsoft environment, allowing them to pull or push data securely. Plugins that supercharge Claude’s abilities, letting it interact with APIs in real time. In this post, we’ll use two MCP servers to customize your Microsoft Entra sign-in experience and branding.
Lokka is an MCP server created by Merill Fernando that works with Claude to extend its capabilities and connect into your Microsoft environment via Graph API. This lets Claude retrieve (and potentially set or update) information directly in your Microsoft tenant, all through natural language.
Alongside Lokka we’ll also be using the Microsoft Docs MCP server to pull in up-to-date Microsoft Learn documentation. That means Claude can check the official docs as it works - how powerful is that?!
I can’t stress this next part enough: MCP servers are like handing Claude a sword ⚔️. It’s up to you to make sure it’s wielded responsibly. I would not connect this to a production environment or feed it any sensitive data, especially until you fully understand how each piece of the puzzle works and what risks lie where.
You can take precautions, such as limiting the scope of the API permissions, reviewing every Graph API request before it’s sent, or restricting access with CA policies, but this is still the wild west - use common sense and always be curious, yet cautious. Having a solid understanding of permissions for Entra applications can be helpful.
Public service announcement over!
Getting Setup and Connected
To proceed you’ll need to have access to and configure the following.
Claude Desktop - Application for interacting with Claude locally. The free tier totally works, but expect to bump into some usage limits.
Lokka - MCP server that connects Claude to your Microsoft tenant via Graph API and app registration. Review the various ways of getting Lokka setup and configured.
Microsoft Docs - Allows Claude to search Microsoft Learn docs in real time. No auth needed. View instructions for the Claude Desktop client within the Getting Started table.
First install Claude Desktop and get signed in. Next you can set up Lokka, which will need permissions to your Microsoft tenant. Lastly, add the Microsoft Docs MCP server.
Claude uses a JSON configuration file to identify available MCP servers (or “tools”) and their connection details. To view your configuration file, navigate to Developer > Open App Config File in the ribbon menu.
Here’s an example, though yours may look slightly different depending on your chosen Lokka authentication method:
{
"mcpServers": {
"Lokka-Microsoft": {
"command": "npx",
"args": [
"-y",
"@merill/lokka"
],
"env": {
"TENANT_ID": "YOUR TENANT ID",
"CLIENT_ID": "YOUR APPLICATION OR CLIENT ID",
"CLIENT_SECRET": "YOUR CLIENT SECRET"
}
},
"microsoft.docs.mcp": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://learn.microsoft.com/api/mcp"
]
}
}
}
Once you’ve adjusted your configuration file, you will need to re-open Claude or reload the extensions before you begin (select Developer > Reload MCP Configuration). Now let’s ask Claude to check our connections and verify connectivity:
🤖 Can you check and verify access to Lokka and Microsoft Docs tools?
Just like that, Claude tapped into our MCP tools, confirmed it can authenticate to our Microsoft tenant, and pulled fresh info straight from Microsoft Learn. Are your wheels turning yet? Just think of the possibilities this opens up!
Lokka, can you check Sally’s recent sign-in and audit logs for anything suspicious or out of the ordinary from the last week? Can you review best practices for Conditional Access policies and compare them to my current environment? Can you help me plan this upcoming configuration change and see how it may impact us? We’re truly in wild times!
Planning our Facelift
Now we’ve got all the pieces connected, next we need to go find how to adjust the company branding settings. Let’s first start by digging into the documentation and seeing what requirements we need to abide by.
The more you tell Claude what you’re wanting, the better your outcomes will be. I started with the prompt below, but feel free to customize and experiment to see what you can come up with.
🤖 Research the latest Microsoft documentation for Company Branding settings in Entra. Identify all available settings, including visual elements (logos, background images, favicons) and text elements (sign-in page text, hints). For each setting, detail how it can be updated (manual upload or Graph API), along with any constraints like file formats, size limits, or dimensions. Source the information from our microsoft.docs.mcp tool or official Microsoft Learn documentation only.
Once your request is submitted, Claude then begins querying the Microsoft Docs MCP connection for relevant settings. It will pause often to reason through new information it finds, looping through this process many times until it’s gathered enough detail.
Interface Overview:
Left Panel – Chat: This is Claude’s conversation view, where you can see its reasoning process and the results it’s retrieving.
Right Panel – Artifact: A standalone content area where Claude can display documents, files, or code it creates. In this case, it’s showing a complete playbook for updating our Company Branding.
💡 Tip: If you’re not getting the results you want, keep working with Claude. Be specific, don’t assume it knows exactly what you mean. Define your request explicitly for best results.
If you aren’t sure how, ask Claude to interview you to uncover the details it needs.
As Claude will likely mention, in order to allow Lokka to update Company Branding automatically you’ll need to add the following application permission to your Lokka App Registration:
OrganizationalBranding.ReadWrite.All
Almost ready! We technically have everything we need to get started, but you’ll probably want to give Claude some more context about what you’re looking for. Think of it like hiring a branding agency: the more you share about your style, tone, and vision, the closer the result will be to what you want. I’m choosing to give it free reign to go wild.
Updating our Company Branding Configuration
Claude and Lokka are off to the races, working towards a new sign-in experience, for better or worse! Our first draft had some issues, like clashing colors and unappealing designs. Clicking download also crashed the artifact view (instead, download and open the HTML page directly).
Work with it, massage it, or yell at it until you get closer to what you’re looking for. Don’t be afraid to start a new chat if the current feels “too far gone” and you would rather a fresh start.
Hopefully you’ve updated most of your branding via Lokka’s Graph API connection. It may give you some grief with images or files - if you are persistent and technical, you can likely talk Claude through updating the images by requesting it to PUT and stream the data directly through the API.
If that doesn’t work, you can finalize changes in the Entra portal. Navigate to Entra ID > Custom branding. From here you can edit and navigate through the various sub menus uploading the handful of logos, images, and files needed to wrap up. If they aren’t named intuitively then ask Claude to update the names for easier importing.
Keep testing the changes until you like what you see. Using InPrivate or Incognito views are helpful for this, though note it can occasionally take a few minutes for things to sync up after saving changes in the portal and API. Use your browser tools to help pinpoint issues if you feel comfortable enough. F12 on most browsers, or somewhere in settings or more tools, will launch developer tools.
You can use the console view to help identify errors or issues, and the elements view will show you the overall styling - here you can make visual changes to test in real time if you have a good understanding of CSS. You can also right-click a section on the screen you want to review and click inspect to take you right to that element in dev tools.
Wrapping Up
Don’t stop at the first result Claude gives you. Keep branching off, keep experimenting. If you don’t like the style, ask for something more realistic or provide references. Claude tends to lean vector-heavy, but you can pair it with other tools like ChatGPT or Grok for logos, resizing, or even creating entirely new images. Half the fun here is Frankensteining tools together until you land on something that feels right.
I won’t pretend the process is perfect. I probably spent 30 minutes arguing with a bot, but the results weren’t half bad personally. Better than what I could do at least. More importantly, it felt like peeking into the future of IT administration. Watching Claude tear through Microsoft docs and brute-force Entra settings at lightning speed? Equal parts impressive and terrifying.
One last reminder: be cautious with permissions. Don’t let Lokka become a “God tool” with more access than it needs. Remove unused app permissions when you’re done experimenting, and always think through the risks. It’s fun to push the boundaries, but your tenant security should never be an afterthought.
So… what else could you build with the power of Lokka and Microsoft Docs?