Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Manage a Panelica hosting panel in plain English - 404 scoped, HMAC-signed tools.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
PANELICA_BASE_URL, PANELICA_API_KEY, PANELICA_API_SECRET「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"panelica": {
"command": "npx",
"args": [
"-y",
"panelica-mcp"
],
"env": {
"PANELICA_BASE_URL": "your-value",
"PANELICA_API_KEY": "your-value",
"PANELICA_API_SECRET": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add panelica --env PANELICA_BASE_URL=your-value --env PANELICA_API_KEY=your-value --env PANELICA_API_SECRET=your-value -- npx -y panelica-mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"panelica": {
"command": "npx",
"args": [
"-y",
"panelica-mcp"
],
"env": {
"PANELICA_BASE_URL": "your-value",
"PANELICA_API_KEY": "your-value",
"PANELICA_API_SECRET": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"panelica": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"panelica-mcp"
],
"env": {
"PANELICA_BASE_URL": "your-value",
"PANELICA_API_KEY": "your-value",
"PANELICA_API_SECRET": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント Panelica で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:PANELICA_BASE_URL, PANELICA_API_KEY, PANELICA_API_SECRET
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.5.4)がレジストリに届いたのは4 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Microsoft Exchange Online MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Exchange Online admin for MSPs: forwarding audits, EWS posture and offboarding, no PowerShell
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Talk to your Panelica hosting panel in plain English.
Provision a domain, issue an SSL certificate, create a database, or restart a
service through Claude Desktop, Cursor, ChatGPT, or any other
Model Context Protocol client.
404 tools cover the entire External API surface — accounts, domains, DNS, SSL, email, MySQL, FTP, security, backups, server resources, and more.
+----------------+ stdio JSON-RPC +-------------------+
| MCP client | <----------------------------> | panelica-mcp | | (Claude, ...) | | (this package) | +----------------+ +---------+---------+ | HTTPS + HMAC-SHA256| X-API-Key | X-Timestamp | X-Signature | v +------------------------------+------------------------------+ | https:// :8443/api/external/v1/... | | nginx reverse proxy on the panel host | | (TLS termination + path rewrite: /api/external/X -> /X) | +------------------------------+------------------------------+ | 127.0.0.1:3002 plain | v +----------------+-----------------+ | external-server (HMAC verify) | +----------------+-----------------+ | v +----------------+-----------------+ | Panelica panel + Linux services | +----------------------------------+
panelica-mcp is a thin, stateless adapter:
/v1/api-spec from your panel and builds the tool list from it (live catalogue, default). If the panel is unreachable it falls back to the bundled tools/tools.json snapshot. Set PANELICA_LIVE_SPEC=0 to always use the snapshot.PANELICA_API_SECRET, and forwards it to the panel.No data is cached, no telemetry is emitted, and the secret never leaves the machine running the MCP server.
panelica-mcp. This is the same port you already use in the browser — no extra firewall change is required.You do not need to install anything on the panel host itself, and you do not need to open the internal port 3002 to the public internet.
Pick whichever fits your MCP client setup. All three produce the same stdio binary; pick by which sandbox model you prefer.
npm install -g panelica-mcp
or run without installing (the MCP client launches npx for you):
npx -y panelica-mcp
The -y flag accepts npm's "install on first run" prompt non-interactively, which is what MCP clients need.
A pre-built image is published to GitHub Container Registry on every release:
docker pull ghcr.io/panelica/panelica-mcp:latest
Run it from an MCP client config:
{
"command": "docker", "args": [ "run", "--rm", "-i", "-e", "PANELICA_BASE_URL", "-e", "PANELICA_API_KEY", "-e", "PANELICA_API_SECRET", "ghcr.io/panelica/panelica-mcp:latest" ], "env": { "PANELICA_BASE_URL": "https://your-panel-host:8443/api/external", "PANELICA_API_KEY": "pk_...", "PANELICA_API_SECRET": "sk_..." } }
-i keeps stdin attached so the MCP client can talk to the container. --rm removes the container when the client disconnects.
git clone https://github.com/Panelica/panelica-mcp.git
cd panelica-mcp npm install npm run build node dist/index.js # speaks MCP over stdio
To regenerate tools/tools.json from your panel's live API spec:
PANELICA_SPEC_URL="https://your-panel:8443/api/external/v1/api-spec" npm run rebuild-tools
You need three values: a reachable base URL, an API key, and an API secret.
Panelica's external-server process listens on 127.0.0.1:3002, and the panel's nginx on 8443 reverse-proxies /api/external/... to it. Nginx strips the /api/external prefix before forwarding, so the path the HMAC signature is computed over and the path the backend sees both end up as /v1/... — signatures match end-to-end without any extra knobs.
The right PANELICA_BASE_URL depends on where you run panelica-mcp:
| Scenario | Recommended PANELICA_BASE_URL |
|---|---|
| MCP client on your laptop, panel on a remote server | https:// :8443/api/external |
| MCP client and panel on the same machine | http://127.0.0.1:3002 |
You should not open port 3002 to the public internet. The default install binds it on all interfaces but expects it to be either firewalled or only reached through the 8443 reverse proxy.
Sanity-check the proxy from your machine:
curl -sk https://<panel-host>:8443/api/external/health
If you get a TLS error, that is the panel's self-signed certificate — install a real cert on the panel (panel UI → Settings → SSL) rather than disabling verification client-side.
*:read is enough (panel 1.0.528+; older panels need the individual :read scopes). For full automation grant *:write and *:delete too, or *:*. Every tool's description in this server lists the scopes it requires.pk_...) and secret (looks like sk_...). The secret is shown only once; store it in a password manager.Before you wire the MCP client up, prove the credentials work end-to-end:
export PANELICA_BASE_URL=https://your-panel-host:8443/api/external
export PANELICA_API_KEY=pk_xxxxxxxx export PANELICA_API_SECRET=sk_xxxxxxxx
TS=$(date +%s)
SIG=$(printf "GET/v1/api-keys${TS}" \ | openssl dgst -sha256 -hmac "$PANELICA_API_SECRET" -hex | awk '{print $2}')
curl -sk "$PANELICA_BASE_URL/v1/api-keys" \ -H "X-API-Key: $PANELICA_API_KEY" \ -H "X-Timestamp: $TS" \ -H "X-Signature: $SIG"
You should get back JSON listing your API keys. Common 401 responses:
error.code | Likely cause |
|---|---|
MISSING_API_KEY / MISSING_TIMESTAMP / MISSING_SIGNATURE | Header is empty — re-check the curl flags |
INVALID_KEY_FORMAT | The PANELICA_API_KEY value is malformed |
INVALID_TIMESTAMP | Local clock drifted more than 5 minutes — sync NTP |
INVALID_SIGNATURE | Wrong secret, or the path you signed includes /api/external/ (it must not — nginx strips it before the backend sees it) |
| Variable | Default | Effect |
|---|---|---|
PANELICA_TOOLSETS | core | Which tools are registered directly — see Toolsets |
PANELICA_LIVE_SPEC | 1 | Build the catalogue from your panel's /v1/api-spec at startup; 0 = bundled snapshot only |
PANELICA_SPEC_TIMEOUT_MS | 8000 | Live-spec fetch timeout before falling back to the snapshot |
PANELICA_TIMEOUT_MS | 30000 | Per-call HTTP timeout |
PANELICA_MAX_RESULT_CHARS | 60000 | Larger list results are cut to the first items with a _truncated note so the client context is not flooded |
PANELICA_STARTUP_PROBE | 1 | Call GET /v1/me once at startup to state the key's scopes in the instructions; 0 skips it |
claude mcp add panelica \
-e PANELICA_BASE_URL=https://your-panel:8443/api/external \ -e PANELICA_API_KEY=pk_... \ -e PANELICA_API_SECRET=sk_... \ -- npx -y panelica-mcp
That's it — ask Claude Code to "list my domains" or "create a database for example.com" and it will drive the panel through the scoped API key.
Edit yo
冒頭だけを表示しています。続きはリポジトリで読めます