mcpField
B
Beget Hosting

Beget Hosting

ローカル
badigit.github.ioクラウド・インフラ31 日前に更新

Beget Hosting について

Beget Hostingは、AIエージェントからBegetのホスティングサービスを管理するMCPサーバーです。サイト、DNS、メール、バックアップなどを扱う73個のツールを備えています。

主な機能

  1. 01サイトとドメインの管理
  2. 02DNSレコードの編集
  3. 03MySQLとFTPの管理
  4. 04cronジョブの設定
  5. 05メールとバックアップの管理
  6. 06統計とアカウント情報の確認

活用シーン

  1. 01ホストサイトのデプロイや削除
  2. 02DNSとドメイン設定の更新
  3. 03データベース、FTP、定期ジョブの管理
  4. 04バックアップ、メール、利用状況の確認

MCP 対応

Beget REST APIの操作をカバーする73個のツールをMCPクライアントに公開します。認証にはBeget APIのログイン名とパスワードを使います。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"badigit-beget": {
"command": "uvx",
"args": [
"beget-mcp"
],
"env": {
"BEGET_API_LOGIN": "<BEGET_API_LOGIN>",
"BEGET_API_PASSWORD": "<BEGET_API_PASSWORD>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>"
}
}
}
}
起動コマンドuvx beget-mcp
設定が必要な環境変数
BEGET_API_LOGINBeget account login
BEGET_API_PASSWORDシークレットBeget account password (API access must be enabled in the panel)
MCP_TRANSPORTTransport: stdio for local clients, sse for a shared HTTP deployment. The image defaults to sse, so stdio clients must set this.

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypibeget-mcp0.2.0
ocighcr.io/badigit/beget-mcp:0.2.0

ツール

73

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

beget-mcp

AI エージェントからホスティングプロバイダー Beget のサービスを管理する MCP サーバーです。

FastMCP 上に構築されており、Beget REST API 全体をカバーしています。10 セクションにわたる 73 個のツールを提供します。

Model Context Protocol (MCP) は、AI モデルを外部サービスに接続するためのオープンスタンダードです。

クイックスタート

PyPI からシステムにインストールせずに実行する場合:

claude mcp add beget -s user \
  -e BEGET_API_LOGIN=your_login \
  -e BEGET_API_PASSWORD=your_password \
  -- uvx beget-mcp

コンテナを使用する場合(デフォルトのイメージは SSE を起動するため、ローカルクライアントには stdio が必要です):

docker run -i --rm \
  -e MCP_TRANSPORT=stdio \
  -e BEGET_API_LOGIN=your_login \
  -e BEGET_API_PASSWORD=your_password \
  ghcr.io/badigit/beget-mcp:latest

ソースから実行する場合:

pip install -e .

claude mcp add beget -s user \
  -e BEGET_API_LOGIN=your_login \
  -e BEGET_API_PASSWORD=your_password \
  -- python -m mcp_beget

このサーバーは MCP Registry に io.github.badigit/beget-mcp という名前で公開されています。プロジェクトページは https://badigit.github.io/beget-mcp/ です。

できること

セクションツール操作例
サイト8作成、削除、ドメインの紐付け、ファイルの凍結
ドメイン13管理、サブドメイン、PHP バージョン、ディレクティブ、利用可能状況の確認
DNS8A、CNAME、MX、TXT — 安全なマージ、dns_patch_record による部分更新、dns_verify による権威 NS 上の実際の状態との照合
MySQL6データベース、ホストからのアクセス、パスワード
FTP4アカウント、ホームディレクトリ
Cron7タスク、スケジュール、有効化、メールレポート
バックアップ9内容の表示、ロールバック、ファイルと DB のエクスポート
メール12メールボックス、パスワード、スパムフィルター、転送、キャッチオール、Yandex 360 / Mail.ru のワンショット設定
統計4サイトと DB の負荷 — 概要と詳細
アカウント2プラン、残高、SSH アクセス

ドキュメント

ファイル内容
docs/api-coverage.mdBeget API メソッドのカバレッジ
docs/beget-api-gotchas.mdAPI の注意点:success エンベロープのエラーなど
docs/dns-facts-vs-intent.mdDNS:未作成のサブドメイン、キャッチオールゾーン、伝播の遅延
docs/new-app-deploy-chain.md共有ホスティング上の新しいアプリケーションの呼び出しチェーン

リリースとデプロイ

  • main への push = 本番ホストへのデプロイです。 .github/workflows/deploy.yml は VPS 上の forced-command deploy を呼び出し、/opt/beget-mcp からコンテナを再ビルドします。手動の手順はありません。main への変更は自動で本番環境に反映されます。
  • vX.Y.Z タグ = パッケージの公開です。 publish-mcp.yml がテストを実行し、 PyPI(trusted publishing)、GHCR、MCP Registry にアップロードします。すべて OIDC 経由で、シークレットは不要です。 バージョンは pyproject.toml、server.json、タグで一致している必要があります。PyPI 上のバージョンは再アップロードできないため、ワークフローはアップロード前にこれらを照合します。

環境変数

変数用途
BEGET_API_LOGINBeget のログイン名
BEGET_API_PASSWORDBeget のパスワード

アーキテクチャ

src/mcp_beget/
├── app.py       — экземпляр FastMCP
├── config.py    — конфигурация (dataclass + валидация)
├── client.py    — HTTP-клиент с переиспользованием сессии
├── errors.py    — типизированные исключения (Auth / API)
├── server.py    — точка входа, инициализация, логирование
└── tools/       — инструменты, сгруппированные по разделам API

要件

  • Python >= 3.11
  • mcp[cli]
  • requests
  • python-dotenv

コントリビューション

Issues と pull requests を歓迎します。バグを見つけた場合や改善案がある場合は、issue を作成してください。

ライセンス

MIT


Beget のアカウントをお持ちでない場合は、こちらのリンクから登録してください。ホスティングを利用でき、プロジェクトの作者には少額のボーナスが入ります。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。