Manage subscriptions, users, and send event notifications for Semrush apps
Project description
Semrush AppCenter MCP Server
Base URL: https://api.semrush.com
| Category | Developer Tools |
| Tools | 5 |
| Auth | JWT |
Install
Quick Start (recommended)
JWT_SHARED_SECRET=YOUR_JWT_SHARED_SECRET \
JWT_ISSUER_ID=YOUR_JWT_ISSUER_ID \
uvx mcparmory-semrush-appcenter
With pip
pip install mcparmory-semrush-appcenter
JWT_SHARED_SECRET=YOUR_JWT_SHARED_SECRET \
JWT_ISSUER_ID=YOUR_JWT_ISSUER_ID \
mcparmory-semrush-appcenter
MCP Client Configuration
Add to your MCP client config (e.g. Claude Desktop, Cursor, Codex):
{
"mcpServers": {
"semrush-appcenter": {
"command": "uvx",
"args": ["mcparmory-semrush-appcenter"],
"env": {
"JWT_SHARED_SECRET": "YOUR_JWT_SHARED_SECRET",
"JWT_ISSUER_ID": "YOUR_JWT_ISSUER_ID"
}
}
}
}
Credentials
Set the following environment variables (via MCP client env config, shell export, or .env file):
JWT_SHARED_SECRET— Shared JWT signing secretJWT_ISSUER_ID— Issuer ID (App ID, Team ID, etc.) Do not commit credentials to version control.
JWT Bearer
This server uses JWT Bearer authentication — tokens are generated automatically from signing material configured in .env.
Depending on the provider, set either:
JWT_PRIVATE_KEYto either:- File path:
/path/to/private-key.pem - Inline PEM: paste the full PEM content with newlines replaced by
\n JWT_SHARED_SECRETto the shared secret used to sign the JWT
Set JWT_ISSUER_ID to the application/issuer ID provided by the API (e.g. GitHub App ID).
Optional settings (see .env for details): algorithm, expiry (default 600s), audience, key ID, token exchange URL.
Run Locally
First, configure your credentials in .env (see Credentials above).
pip install -r requirements.txt
python server.py
Connect MCP Client
Edit .mcp.json and replace <SERVER_DIR> with the absolute path to this directory, then add to your MCP client configuration.
Example (if server is at /home/user/mcp-servers/semrush-appcenter):
{
"mcpServers": {
"semrush-appcenter": {
"command": "python",
"args": ["/home/user/mcp-servers/semrush-appcenter/server.py"]
}
}
}
Docker
Pre-built image (recommended)
docker run -p 8000:8000 \
-e JWT_SHARED_SECRET=YOUR_JWT_SHARED_SECRET \
-e JWT_ISSUER_ID=YOUR_JWT_ISSUER_ID \
ghcr.io/mcparmory/semrush-appcenter:latest
Build from source
First, configure your credentials in .env (see Credentials above).
docker build -t semrush-appcenter .
docker run -p 8000:8000 --env-file .env semrush-appcenter
Before running, make sure ports 8000 are free.### MCP client config (Docker)
For Docker, use SSE transport in your MCP client config:
{
"mcpServers": {
"semrush-appcenter": {
"type": "sse",
"url": "http://localhost:8000/sse"
}
}
}
Files
.env- Credentials and server configuration.mcp.json- MCP client config templateDockerfile- Container buildLICENSE- MIT license for this generated coderequirements.txt- Python dependenciesREADME.md- This fileserver.py- MCP server entry point_auth.py- Authentication handlers_models.py- Request/response models_validators.py- Input validation
Note: Files starting with . are hidden by default on macOS/Linux. Use ls -a in terminal or enable "Show hidden files" in your file manager to see .env and .mcp.json.
Generated by MCP Blacksmith · Quickstart docs · Report a bug
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mcparmory_semrush_appcenter-1.0.0-py3-none-any.whl.
File metadata
- Download URL: mcparmory_semrush_appcenter-1.0.0-py3-none-any.whl
- Upload date:
- Size: 36.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
177a2b9d8661a545976eb76286c3f2aa6ad6cca3ce3d1f686d1297d48ef4d518
|
|
| MD5 |
9ffe8c99da2fa59d014520937ce21b3b
|
|
| BLAKE2b-256 |
4a59b292d1269099c43b78ef0a8159bb7a8580958b6d7816d622e7215e9b8abf
|