Download the PHP package baserproject/bc-mcp without Composer

On this page you can find all versions of the php package baserproject/bc-mcp. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package bc-mcp

BcMcp plugin for baserCMS

baserCMS用のMCP(Model Context Protocol)サーバープラグインです。
外部のAIツールやアプリケーションからbaserCMSのデータを操作することができます。

機能

設定

configフォルダの権限設定

ルート直下の config フォルダと .env に書き込み権限が必要です。

プラグインの有効化

BcMcp は baserCMS に同梱されているコアプラグインですが、初期状態では無効です。 baserCMSの管理画面の「システム」→「プラグイン管理」から有効化してください。

MCPサーバーの起動

起動操作は不要です。MCPサーバーはbaserCMSのリクエスト内で動作するため、常駐プロセスを立てる必要はありません。

メニューの「MCPサーバー管理」では、接続用のURL・提供しているツールの一覧・直近の接続状況を確認できます。

クライアント連携

ChatGPT

ChatGPT Plus 以上の契約が必要です。
※ 2025年9月19日現在、ChatGPT Business プランでは利用できません。

  1. 「MCPサーバー管理」より、AIエージェント設定用URLをコピーします。
  2. 「設定」→「コネクタ」→「高度な設定」→「開発者モード」をオン
  3. 「コネクタ」に戻り、「作成する」から以下のように設定します。
  1. 「作成する」をクリック
  2. 設置しているbaserCMSの画面に移動するので、「許可」をクリック

チャット画面にて、開発者モードをオンにして、作成したコネクタを選択します。

Claude

Claude Pro 以上の契約が必要です。

  1. 「MCPサーバー管理」より、AIエージェント設定用URLをコピーします。
  2. 「設定」→「コネクタ」→「カスタムコネクタを追加」から以下のように設定します。
  1. 「連携/連携させる」をクリック
  2. 設置しているbaserCMSの画面に移動するので、「許可」をクリック

Visual Studio Code

~/Library/Application Support/Code/User/mcp.json、または、プロジェクト内の .vscode/mcp.json に以下のように設定します。

その他のMCPクライアント

HTTPトランスポートをサポートする任意のMCPクライアントで使用できます。

ローカル環境をHTTPSで公開して動作確認する

ClaudeなどのMCPクライアントは、自己署名証明書のサーバーには接続できません。 ローカル開発環境で実クライアントとの連携を確認するには、正式な証明書を持つHTTPSのURLが必要です。

ここでは Cloudflare Tunnel を使い、ローカル環境を一時的にインターネットへ公開する手順を示します。独自ドメインもCloudflareアカウントも不要です。

注意: この手順を実行すると、管理画面を含むサイト全体が一時的にインターネットへ公開されます。 動作確認が終わったら必ずトンネルを停止してください。

1. cloudflaredのインストール

2. トンネルの起動

ローカル環境が https://localhost で動作している場合:

--no-tls-verify は、接続先(ローカル環境)が自己署名証明書のために必要です。

起動すると https://<ランダムな文字列>.trycloudflare.com というURLが発行されます。 このURLはトンネルを再起動するたびに変わります。確認が終わるまでトンネルは起動したままにしてください。

Quick Tunnel には次の制約があります。

項目 内容
同時リクエスト 200 in-flight まで
SSE(Server-Sent Events) 非対応
URL 再起動のたびに変わる
用途 テストと開発のみ(本番非推奨、SLAなし)

固定のホスト名が必要な場合は Named Tunnel を使います。Cloudflare アカウントと、 Cloudflare に登録済みのドメインが必要です。

まずトンネルを作成し、DNSレコードを登録します。

次に ~/.cloudflared/config.yml を作成します。<TUNNEL_ID> は create が出力したIDです。

最後の service: http_404 は、どのルールにも一致しなかった場合の受け皿です。省略できません。

トンネルを起動します。

以降の手順では、発行された https://<ランダムな文字列>.trycloudflare.com の代わりに、 ここで設定した固定ホスト名(例: https://mcp-dev.example.com)を使います。

固定ホスト名にすると、OAuth の動的クライアント登録・SITE_URL・コネクタ登録を 毎回やり直す必要がなくなります。

3. SITE_URLの変更

config/.env の SITE_URL を、発行されたURLに変更します。

SITE_URL はアクセストークン(JWT)の発行者・対象者や、動的クライアント登録のレスポンスに使われるため、 公開URLと一致していないとクライアント側の検証に失敗します。

あわせて TRUST_PROXY が true であることを確認してください。トンネル経由のリクエストは X-Forwarded-Proto でHTTPSを伝えるため、これが有効でないとHTTPと判定されます。

変更後はキャッシュをクリアします。

4. リバースプロキシを使っている場合

nginx-proxy などのリバースプロキシでホスト名ごとに振り分けている環境では、 発行されたURLのホスト名を振り分け対象に追加する必要があります。追加しないと、 プロキシが転送先を判断できず 503 Service Temporarily Unavailable になります。

docker-compose.yml の該当サービスの VIRTUAL_HOST に追記し、そのコンテナを再作成します。

LETSENCRYPT_HOST への追加は不要です。証明書はCloudflare側が用意します。

5. 接続の確認

-k を付けずに成功すれば、正式な証明書で接続できています。

6. クライアントへの登録

https://<発行されたURL>/bc-mcp を、各クライアントのMCPサーバーURLとして登録します。 登録手順は「クライアント連携」の各項目を参照してください。

7. 確認後の後片付け

  1. 動作確認で作成したコンテンツを削除する
  2. config/.env の SITE_URL を元に戻し、キャッシュをクリアする
  3. VIRTUAL_HOST に追加したホスト名を削除し、コンテナを再作成する
  4. cloudflared のプロセスを停止する

MCP Inspectorでの確認

クライアントに登録する前に、MCP Inspector で確認することもできます。ローカル環境(自己署名証明書)に対して直接実行できます。

NODE_TLS_REJECT_UNAUTHORIZED=0 は自己署名証明書を許可するための指定です。 起動後、表示されるURLをブラウザで開き、次を設定して接続します。

CLIから直接実行することもできます。

利用可能なツール

最新の一覧は「MCPサーバー管理」画面で確認できます(実際に登録されているツールを表示するため、 常に実態と一致します)。

固定ページ関連

ブログ関連

カスタムコンテンツ関連

システム情報

使用例

ブログ記事の追加

カスタムコンテンツ・カスタムエントリーの追加

権限について

設定時、連携を許可する際にログインしたユーザーの権限として動作します。
また、権限については、Admin Web APIの権限に準じます。
システム管理グループのユーザーは特に気にする必要はありませんが、それ以外のグループのユーザーで利用する場合は、管理画面 > ユーザー管理 > ユーザーグループ > 対象グループ > 編集 より、Admin Web API を有効化します。
その上で、アクセスルールグループより、権限設定を調整してください。

ファイルアップロードについて

ブログのアイキャッチなどの画像は、ローカルのファイルをそのままアップロードすることはできません。 公開されたURLを渡すか、data: URI として埋め込む必要があります。

これは bc-mcp の制約ではなく、ホスト(Claude や ChatGPT)がファイルの中身をMCPサーバーへ渡す手段を まだ持っていないためです。

制約事項

現状の対応方法

アイキャッチなどの画像は、次の2つの方法で指定できます。

将来的な対応予定

MCP に File Uploads Working Group が設置され、ホストがファイルピッカーを表示してサーバーへファイルを渡す仕組みが検討されています (SEP-2631)。

現状はホスト側にファイルの中身をサーバーへ渡す手段が無いため、ローカルのファイルを そのままアップロードすることはできません。規格とホストの対応が揃った段階で BcMcp も対応します。

技術的な仕組み

プロセス内実行

BcMcpプラグインは以下の仕組みでクライアントと連携します:

  1. クライアント → HTTPリクエスト → baserCMS(/bc-mcp)
  2. McpProxyController → OAuth2認証・権限チェック・Origin検証
  3. McpRequestHandler → 同一プロセス内でMCPサーバーを実行 → 各ツール → baserCMS操作
  4. McpProxyController → HTTPレスポンス → クライアント

常駐プロセスや内部へのHTTP転送は行いません。リクエストごとにMCPサーバーを組み立てるため、 ツールや設定の変更が即座に反映されます。

対応プロトコルバージョン

2026-07-28(ステートレスコア)と、それ以前の initialize 方式の世代の双方に対応しています。 プロトコルの世代判定・server/discover・必須ヘッダの検証などはSDKが担います。

トラブルシューティング

よくある問題

  1. クライアントから接続できない

    • プラグイン管理で BcMcp が有効になっているか確認
    • 自己署名証明書のURLを登録していないか確認(多くのクライアントは接続を拒否します。 「ローカル環境をHTTPSで公開して動作確認する」を参照)
    • ログファイルにエラーメッセージがないか確認
  2. 403が返る

    • クライアントが送る Origin ヘッダが許可されていない可能性があります。 設定の BcMcp.allowedOrigins を確認してください。空の場合は検証を行いません。
  3. ツールが正常に動作しない

    • baserCMSのデータベースに接続できているか確認
    • 必要なプラグイン(BcBlog、BcCustomContent)が有効になっているか確認
  4. 認可画面が表示されない
    • baserCMSを古いバージョンからアップデートした場合、/.htaccess が正しく設定されていない可能性があります。次のように変更をお願いします。

MCPサーバーのログの確認

logs/mcp.log には、接続ごとのプロトコル世代・クライアント名・呼び出されたメソッドが記録されます。 「MCPサーバー管理」画面からも直近の内容を確認できます。

開発への貢献

CONTRIBUTING.md をご覧ください。


All versions of bc-mcp with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
ext-openssl Version *
league/oauth2-server Version ^8.5
logiscape/mcp-sdk-php Version ^2.0
nyholm/psr7 Version ^1.8
symfony/psr-http-message-bridge Version ~2.3.1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package baserproject/bc-mcp contains the following files

Loading the files please wait ...