UILM MCP Server
MCP server for the SELISE Blocks UILM API, providing translation key management tools for Claude Code, Cursor, and any MCP-compatible client.
README
UILM MCP Server
MCP (Model Context Protocol) server for the SELISE Blocks UILM (UI Language Management) API. Provides translation key management tools for Claude Code, Cursor, and any MCP-compatible client.
Features
- Automatic Bearer token management (caches + auto-refreshes on 15-min expiry)
- Module name resolution (use
"auth"instead of UUIDs) - Batch key creation with automatic fallback
- 13 tools covering modules, languages, and translation keys
Quick Start
Option A: Interactive setup (recommended)
npx uilm-mcp-server --init
This walks you through entering credentials and writes the config directly to your Claude Code or Cursor settings.
Option B: Manual config
Add to your project's .mcp.json (Claude Code) or Cursor MCP settings:
{
"mcpServers": {
"uilm": {
"command": "npx",
"args": ["-y", "uilm-mcp-server"],
"env": {
"UILM_API_BASE_URL": "https://api.seliseblocks.com",
"UILM_PROJECT_KEY": "your-project-key",
"UILM_CLIENT_ID": "your-client-id",
"UILM_CLIENT_SECRET": "your-client-secret"
}
}
}
}
No clone or build step required -- npx handles everything.
Option C: Using a .env file
Create a .env file in your project root (make sure it's in .gitignore):
UILM_API_BASE_URL=https://api.seliseblocks.com
UILM_PROJECT_KEY=your-project-key
UILM_CLIENT_ID=your-client-id
UILM_CLIENT_SECRET=your-client-secret
Then use a simpler MCP config without the env block:
{
"mcpServers": {
"uilm": {
"command": "npx",
"args": ["-y", "uilm-mcp-server"]
}
}
}
Getting Your Credentials
You need four values from the SELISE Blocks platform.
API Base URL
https://api.seliseblocks.com
Project Key
- Log in to the SELISE Blocks Console
- Select your project
- Go to Settings (gear icon)
- Copy the Project Key (starts with
P)
Client ID and Client Secret
These are OAuth credentials used for machine-to-machine authentication:
- In the SELISE Blocks Console, navigate to your project
- Go to IAM > Clients (or Settings > API Clients, depending on your console version)
- Click Create Client (or use an existing one)
- Set the grant type to Client Credentials
- Copy the Client ID (UUID format) and Client Secret
Note: If you don't see the Clients section, ask your project admin to create a client credential for you or grant you access to IAM settings.
Environment Variables
| Variable | Description |
|---|---|
UILM_API_BASE_URL |
SELISE Blocks API base URL |
UILM_PROJECT_KEY |
Project key (starts with P, used as x-blocks-key header) |
UILM_CLIENT_ID |
OAuth client ID (UUID format) |
UILM_CLIENT_SECRET |
OAuth client secret |
Tools
Auth
| Tool | Description |
|---|---|
uilm_authenticate |
Force-refresh Bearer token and check auth status |
Modules
| Tool | Description |
|---|---|
uilm_list_modules |
List all modules with IDs |
uilm_create_module |
Create a new translation module |
Languages
| Tool | Description |
|---|---|
uilm_list_languages |
List all configured languages |
Keys (Read)
| Tool | Description |
|---|---|
uilm_get_keys |
Get published translations for a module + language |
uilm_search_keys |
Search keys with filters and pagination |
uilm_get_key |
Get a single key by item ID |
uilm_get_keys_by_names |
Look up keys by name (check existence) |
Keys (Write)
| Tool | Description |
|---|---|
uilm_create_key |
Create a single translation key |
uilm_create_keys |
Batch create multiple keys |
uilm_update_key |
Update an existing key's translations |
Keys (Delete / Rollback)
| Tool | Description |
|---|---|
uilm_delete_key |
Delete a key by item ID (irreversible) |
uilm_rollback_key |
Rollback a key to previous state |
Usage Examples
Once configured, ask your AI assistant:
- "List all UILM modules"
- "Create a translation key LOGIN_TITLE in the auth module with en-US: 'Login' and de-DE: 'Anmelden'"
- "Create these keys in the dashboard module: WELCOME_MESSAGE (Welcome / Willkommen), LOGOUT (Logout / Abmelden)"
- "Search for keys containing 'LOGIN'"
- "Get all English translations for the common module"
- "Delete the key with ID abc-123"
CLI
npx uilm-mcp-server # Start the MCP server (stdio transport)
npx uilm-mcp-server --init # Interactive setup wizard
npx uilm-mcp-server --help # Show help
npx uilm-mcp-server --version # Show version
Development
git clone https://github.com/sohanuzzaman/uilm-mcp-server.git
cd uilm-mcp-server
npm install # Also runs build via prepare script
npm run dev # Run with tsx (hot TypeScript execution)
npm run build # Compile TypeScript
npm start # Run compiled version
Verify with MCP Inspector
UILM_API_BASE_URL=https://api.seliseblocks.com \
UILM_PROJECT_KEY=your-project-key \
UILM_CLIENT_ID=your-client-id \
UILM_CLIENT_SECRET=your-client-secret \
npx @modelcontextprotocol/inspector node dist/index.js
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.