We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/AbdallahAHO/lokalise-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
name: CI - Semantic Release
# This workflow is triggered on every push to the main branch
# It publishes to npm and creates GitHub releases with DXT artifacts
on:
push:
branches: [main]
jobs:
release:
name: Semantic Release
runs-on: ubuntu-latest
environment: release
permissions:
contents: write
issues: write
pull-requests: write
steps:
# Step 1: Check out the full Git history
- name: Checkout
uses: actions/checkout@v5
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}
# Step 2: Setup Node.js environment
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 22
cache: 'npm'
# Step 3: Install dependencies
- name: Install dependencies
run: |
npm ci
npm install -g @anthropic-ai/dxt
# Step 4: Build the package
- name: Build
run: |
npm run build
chmod +x dist/index.js
# Step 5: Run tests
- name: Run tests
run: npm test
# Step 6: Configure Git identity
- name: Configure Git User
run: |
git config --global user.email "github-actions[bot]@users.noreply.github.com"
git config --global user.name "github-actions[bot]"
# Step 7: Get version from package.json
- name: Get version
id: get-version
run: |
VERSION=$(node -p "require('./package.json').version")
echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "Current version: $VERSION"
# Step 8: Create and sign DXT package
- name: Create DXT Package
id: create-dxt
env:
SIGNING_CERT: ${{ secrets.SIGNING_CERT }}
SIGNING_KEY: ${{ secrets.SIGNING_KEY }}
run: |
# Prepare release directory
node scripts/prepare-release.js ${{ steps.get-version.outputs.version }}
# Sign DXT package
DXT_FILE="release/lokalise-mcp-${{ steps.get-version.outputs.version }}.dxt"
if [ -n "${SIGNING_CERT}" ] && [ -n "${SIGNING_KEY}" ]; then
echo "π Using production certificates"
mkdir -p certs
echo "${SIGNING_CERT}" | base64 -d > certs/cert.pem
echo "${SIGNING_KEY}" | base64 -d > certs/key.pem
dxt sign "$DXT_FILE" --cert certs/cert.pem --key certs/key.pem
rm -rf certs/
else
echo "π§ Using self-signed certificate"
dxt sign "$DXT_FILE" --self-signed
fi
dxt clean "$DXT_FILE"
echo "dxt_file=$DXT_FILE" >> $GITHUB_OUTPUT
# Step 9: Publish to npm
- name: Publish to npm
id: npm-publish
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
run: |
# Check if this version is already published
NPM_VERSION=$(npm view lokalise-mcp version 2>/dev/null || echo "0.0.0")
CURRENT_VERSION=${{ steps.get-version.outputs.version }}
if [ "$NPM_VERSION" = "$CURRENT_VERSION" ]; then
echo "Version $CURRENT_VERSION is already published to npm"
echo "published=false" >> $GITHUB_OUTPUT
else
echo "Publishing version $CURRENT_VERSION to npm"
echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > ~/.npmrc
npm publish
echo "published=true" >> $GITHUB_OUTPUT
fi
# Step 10: Create GitHub Release
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ steps.get-version.outputs.version }}
name: v${{ steps.get-version.outputs.version }}
draft: false
prerelease: false
generate_release_notes: true
files: |
release/lokalise-mcp-${{ steps.get-version.outputs.version }}.dxt
release/checksums.sha256
release/lokalise-mcp-${{ steps.get-version.outputs.version }}.tgz
body: |
## π Lokalise MCP Server v${{ steps.get-version.outputs.version }}
### π¦ Installation
#### 1) Smithery (Recommended)
Automated install and configuration for popular MCP clients.
```bash
# Claude Desktop
npx -y @smithery/cli install @AbdallahAHO/lokalise-mcp --client claude
# Cursor
npx -y @smithery/cli install @AbdallahAHO/lokalise-mcp --client cursor
# VS Code (Claude Code)
npx -y @smithery/cli install @AbdallahAHO/lokalise-mcp --client vscode
# Claude Code
claude mcp add --transport http abdallah-aho-lokalise-mcp "https://server.smithery.ai/@AbdallahAHO/lokalise-mcp/mcp"
# Gemini CLI
npx -y @smithery/cli install @AbdallahAHO/lokalise-mcp --client gemini
```
Inspect tools before installing:
```bash
npx -y @smithery/cli@latest inspect @AbdallahAHO/lokalise-mcp
```
#### 2) Claude Desktop Extension (DXT)
Download and double-click `lokalise-mcp-${{ steps.get-version.outputs.version }}.dxt` to install in ClaudeDesktop.
When prompted, enter your `LOKALISE_API_KEY`. Updates by installing the newer `.dxt`.
#### 3) Local (clone + run)
```bash
git clone https://github.com/AbdallahAHO/lokalise-mcp.git
cd lokalise-mcp
npm install
export LOKALISE_API_KEY="your-api-key-here"
npm run mcp:http # HTTP (SSE) at http://localhost:3000/mcp
# or
npm run mcp:stdio # STDIO
```
### π Verify Downloads
```bash
sha256sum -c checksums.sha256
```
### π What's Changed
See the full changelog below for all changes in this release.
# Step 12: Summary
- name: Release Summary
run: |
echo "## π Release Summary" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "- **Version**: ${{ steps.get-version.outputs.version }}" >> $GITHUB_STEP_SUMMARY
echo "- **npm Published**: ${{ steps.npm-publish.outputs.published }}" >> $GITHUB_STEP_SUMMARY
echo "- **GitHub Release**: β
" >> $GITHUB_STEP_SUMMARY
echo "- **Back-merge Status**: Check workflow logs" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### π Release Assets" >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
ls -la release/ >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "[View Release](https://github.com/${{ github.repository }}/releases/tag/v${{ steps.get-version.outputs.version }})" >> $GITHUB_STEP_SUMMARY