privateGPT MCP Server について
privateGPT MCP Server は、PGPT API をローカル、リモート、レガシー環境に接続するゲートウェイ群です。MCP トランスポートに加えて TCP API サーバーを備え、共通のツールとセキュリティ設定を提供します。
主な機能
- 01STDIO と Streamable-HTTP の MCP サーバー
- 02レガシーシステム向け TCP API ゲートウェイ
- 03PGPT API の 23 機能へのアクセス
- 04pgpt.env.json による一元設定
- 05TLS と RSA 暗号化ヘッダー
活用シーン
- 01ローカル AI 環境から PGPT に接続
- 02HTTP と SSE によるリモートアクセス
- 03TCP 経由でレガシーソフトウェアを連携
MCP 対応
STDIO と Streamable-HTTP の MCP サーバーを含み、MCP クライアントに PGPT API の機能を公開します。別の TCP API サーバーは、MCP に対応していないシステム向けです。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細

Fsas Technologies AI Team:MCP および TCP マルチトランスポートサーバーとエージェントスイート(v1.5)
Fsas Technologies AI Team のサーバースイートへようこそ。このリポジトリでは、既存のレガシーシステムから最先端の AI エージェントアーキテクチャまで、あらゆる IT 環境に PGPT API を統合するために最適化された、高度に専門化されたゲートウェイサーバーを提供します。
🚀 接続を支える3つの柱
このパッケージの各サーバーは、最大限のパフォーマンスと安定性を確保するため、特定のユースケース向けに開発されています。
1. TCP 対応 API サーバー
レガシーシステムのためのブリッジです。 このサーバーは、Model Context Protocol(MCP)をネイティブにまだサポートしていない環境に最適です。
- 目的:従来の高性能な TCP 接続を介して、古いアプリケーションから最先端の AI ロジックにアクセスできるようにします。
- 利点:複雑なウェブプロトコルのオーバーヘッドなしで、高い互換性を実現します。実証済みのソケット通信に依存する産業用制御システムや独自ソフトウェアソリューションに最適です。
2. STDIO 対応 MCP サーバー
ローカル統合の標準です。 このサーバーは、標準入出力チャネルを介して Model Context Protocol を実装します。
- 目的:Claude Desktop、VS Code、IDE プラグインなどのローカル AI 環境に直接統合する際の第一候補です。
- 利点:遅延を最小限に抑えた超高速通信を実現します。ネットワークポートを開く必要がないため、開発者のマシン上で直接実行するローカルワークフローに優れたセキュリティを提供します。
- ⚠️ 要件:API との完全な互換性を確保するため、稼働中の PGPT Instance Version 1.5 が必要です。
3. Streamable-HTTP 対応 MCP サーバー(SSE)
リモートおよびウェブアーキテクチャ向けの強力なサーバーです。 このサーバーは Server-Sent Events(SSE)を利用し、HTTP 上で安定した双方向接続を実現します。
- 目的:分散システムやネットワークアクセス向けに設計されています。MCP Inspector やウェブベースのダッシュボードに最適です。
- 利点:統合された Stream-Fix と Auto-Session-Recovery により、不安定なネットワーク接続や SSH トンネルに対する耐性に優れています。遠隔地からでも AI ツールを安定して利用できます。
- ⚠️ 要件:API との完全な互換性を確保するため、稼働中の PGPT Instance Version 1.5 が必要です。
🛠 共通のコア機能(v1.5 フルビルド)
このスイートのすべてのサーバーは、Fsas Technologies AI Team が開発した、堅牢性を高めた共通のロジックエンジンをベースにしています。
- すべてのツールを網羅:PGPT API の23の関数すべて(Chat、RAG Sources、Scenarios、User Management)にアクセスできます。
- インテリジェントな設定:
pgpt.env.jsonで一元管理でき、高い柔軟性を実現します。 - エンタープライズセキュリティ:RSA 暗号化ヘッダー、TLS 暗号化、安全な SSH キー認証に対応しています。
- Node.js 20+ 向けに最適化:最新の ESM モジュールと非同期ランタイムを最大限に活用し、最高の効率を実現します。
📂 ディレクトリ構成
.
├── API-Server-with-TCP-Support # Legacy & Custom TCP Gateway
├── MCP-Server-with-STDIO-Support # Local Agent Integration (Standard)
└── MCP-Server-with-Streamable-HTTP-Support # Remote & Web Gateway (SSE)
🏃♂️ クイックスタート
- リポジトリをクローンします:
git clone https://github.com/Fujitsu-AI/MCP-Server-for-MAS-Developments.git cd MCP-Server-for-MAS-Developments - 使用するサーバーを選択します
- API-Server-with-TCP-Support: レガシーアプリケーションとの統合や、カスタム TCP ゲートウェイソリューションに最適
- MCP-Server-with-STDIO-Support: ローカルエージェント統合(標準)
- MCP-Server-with-Streamable-HTTP-Support: リモートおよびウェブゲートウェイ(SSE)
-
設定を準備します: 各サーバーディレクトリに
pgpt.env.jsonを作成し、PGPT API の認証情報を設定します。 -
インストールと起動: サーバーの種類を選択し、各ディレクトリにある
INSTALL.mdの手順に従うか、付属のセットアップスクリプトを使用します。例:./Install-MPC-Server.sh
セキュリティ
クライアントアプリケーションとサーバー間のデータ保護および安全な通信を確保するため、以下のセキュリティ機能を実装しています。これらの機能は、暗号化、復号、鍵管理、トランスポートセキュリティを対象としています。
1. トランスポート層セキュリティ(TLS)
- クライアントとサーバー間の通信を保護するため、TLS を有効にできます。クライアントとサーバー間で送信されるすべてのデータは、TLS(最小バージョン 1.2)を使用して暗号化されます。
クライアントとサーバー間で TLS を有効にする理由
a. 通信の暗号化
- TLS(トランスポート層セキュリティ)は、クライアントとサーバー間で送信されるすべてのデータが暗号化されることを保証します。これにより、パスワード、クレジットカード情報、個人データなどの機密情報が、盗聴攻撃(中間者攻撃)から保護されます。
b. データの完全性
- TLS は、送信されたデータが変更されたり改ざんされたりしないことを保証します。完全性チェックにより、受信したデータが送信時のデータと完全に一致することが確認されます。
c. 認証
- TLS では、デジタル証明書を通じてサーバー(および任意でクライアント)を安全に認証できます。これにより、偽のウェブサイトを使ったフィッシング攻撃の被害を防止できます。
d. 中間者攻撃からの保護
- TLS は接続を暗号化するため、攻撃者が通信を傍受または操作することはほぼ不可能です。TLS を使用しない場合、攻撃者はデータパケットを取得して変更できる可能性があります。
e. セキュリティ基準および規制への準拠
- 多くの規制要件(GDPR、PCI-DSS など)では、安全なデータ送信が義務付けられています。TLS は、こうしたセキュリティ要件の基本的な要素です。
f. ダウングレード攻撃およびリプレイ攻撃の防止
- TLS は、接続を安全性の低いバージョンにダウングレードしようとする攻撃(ダウングレード攻撃)や、過去に有効だったリクエストを再送する攻撃(リプレイ攻撃)から保護します。
結論
クライアントとサーバー間で TLS を有効にすることは、データのプライバシーとセキュリティ、通信の完全性を確保するうえで不可欠です。機密情報を保護するだけでなく、コンプライアンス要件への準拠に役立ち、ユーザーの信頼を高めます。
2. パスワードの暗号化
パスワードは、RSA(Rivest–Shamir–Adleman)公開鍵暗号方式を使用して暗号化できます。これにより、ユーザーパスワードなどの機密データが平文で送信されることはありません。
方法
- 公開鍵暗号化。鍵長は最大 4096 ビットです。
- パディング:
RSA_PKCS1_PADDINGを使用してセキュリティを強化し、既知のパディング攻撃を防止します。
手順
- サーバー管理者は、
node security/generate_encrypted_password.js ~/.ssh/id_rsa_public.pemを実行してサーバーの公開鍵(id_rsa_public.pem)でクライアントのパスワードを暗号化し、暗号化されたパスワードをクライアントに渡します。 - 代わりに、クライアントが
keygen関数を使用してサーバーの公開鍵(id_rsa_public.pem)でパスワードを暗号化することもできます。そのためには、サーバーの設定(privateGPT.env.json)でこの関数を有効にする必要があります。重要:この関数を使用する場合も、ネットワーク経由でデータを送信することになります。そのため、データ通信が安全で、傍受されないことを確認してください。 - 最後に、暗号化されたパスワードがサーバーに送信され、サーバーの秘密鍵で復号されます。
利点
- 非対称暗号化により、パスワードを復号できるのはサーバーだけです。
- 通信チャネルが侵害された場合でも、暗号化されたデータは安全に保たれます。
3. 鍵管理
データ通信と暗号化処理を保護するため、以下の鍵管理原則に従っています。
公開鍵
- サーバー上に安全に保管されます(
id_rsa.pub)。 - 暗号化のみに使用されるため、公開されてもセキュリティ上のリスクはありません。
PEM 鍵
- サーバー上に安全に保管されます(
id_rsa_public.pem)。 - 公開証明書を使用して作成する必要があります(サーバー設定を参照)。
秘密鍵
- サーバー上に安全に保存されます(
id_rsa)。 - 適切なファイル権限(
chmod 600)によってアクセスが制限されます。 - 復号処理にのみ使用されます。
鍵のローテーション
- 鍵は定期的に、またはセキュリティインシデントが検出された際にローテーションできます。重要:鍵が再発行されると、クライアントまたは AI エージェントは直ちに MCP サーバーにアクセスできなくなり、新しい RSA 鍵(暗号化されたパスワード)が必要になります!
- 古い鍵は安全に無効化されます。
4. サーバーでの復号
復号は、秘密鍵を使用してサーバー上でのみ実行されます。
プロセス
- サーバーがクライアントから暗号化されたパスワードを受け取ります。
- 秘密鍵でパスワードを復号し、元の平文を取得します。
- 復号されたパスワードは内部的に(認証などに)使用され、平文では保存されません。
安全な取り扱い
- 復号されたパスワードは、処理中のみメモリ上に存在します。
- 安全なメモリ管理の実践により、機密データは使用後すぐに消去されます。
証明書の検証
- サーバーとクライアントの真正性を確認するため、双方で証明書を検証します。
- セキュリティを強化するため、相互 TLS を有効にすることもできます。
5. 認可トークン
トークンはリクエストの認証に使用され、認可されたユーザーのみがシステムにアクセスできるようにします。
トークン管理
- ログインに成功すると、トークンが生成されます。
- トークンの有効期間は短く、あらかじめ定められた時間が経過すると自動的に期限切れになります。
- トークンは HMAC または RSA で署名され、改ざんを防止します。
ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています。詳細は LICENSE ファイルを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。