mcpField
S
Samurai MCP Super Server

Samurai MCP Super Server

ローカル
github.com/expraysAI・エージェント174 週間前に更新

Samurai MCP Super Server について

Samurai MCP Super Serverは、プラグイン型のMCPサービスとLLMプロバイダー管理を目指す開発者向けのGoバックエンドです。現在は認証、データベース、ログ基盤を備え、MCP対応、プラグイン、ダッシュボードは開発中です。

主な機能

  1. 01Gin HTTPサーバーを備えたGoバックエンド
  2. 02JWT認証とロールベースアクセス制御
  3. 03PostgreSQLによるデータ保存
  4. 04構造化ログとヘルスチェック
  5. 05開発環境の管理コマンド

活用シーン

  1. 01ユーザー登録とログインを備えたバックエンドの構築
  2. 02コマンドによる開発サービスの起動、確認、停止
  3. 03アプリケーション、アクセス、データベースログの確認

MCP 対応

MCPプロトコル、LLMプロバイダー連携、プラグインシステムは今後の実装予定です。READMEでは開発中とされており、現段階ではMCPツールを提供していません。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Samurai MCP Super Server

プラグインアーキテクチャー、安全なボールト連携、リアルタイムのウェブダッシュボードを備えた、包括的な Model Context Protocol(MCP)スーパーサーバーです。

🚀 機能

コア機能
  • プラグインベースのアーキテクチャー:サービスごとにモジュール化された MCP インスタンス(Twilio 経由の SMS など)
  • LLM プロバイダー管理:API キー管理機能を備えた複数の LLM プロバイダーへの対応
  • 安全なボールト連携:業界標準の API キー保存と暗号化
  • リアルタイムのウェブダッシュボード:ライブ監視・管理インターフェース
  • レート制限とスロットリング:プロバイダーおよびプラグインごとのリクエスト制御
  • 包括的なログ記録:クエリ可能な履歴を備えたリクエスト/レスポンス分析
高度な機能
  • プラグインマーケットプレイス:コミュニティが提供するプラグイン
  • A/B テストフレームワーク:異なる LLM 設定のテスト
  • コスト追跡:ユーザー/組織ごとの予算管理
  • レスポンスキャッシュ:インテリジェントなキャッシュによる API コスト削減
  • プラグインのサンドボックス化:プラグインのセキュリティ分離
  • メトリクスと可観測性:Prometheus/Grafana 連携
開発者エクスペリエンス
  • プラグイン SDK/CLI:簡単にプラグインを開発できるツール
  • ホットリロード:開発中のプラグイン再読み込み
  • OpenAPI ドキュメント:自動生成される API ドキュメント
  • テストフレームワーク:プラグインテスト用のモックサービス

📁 プロジェクト構成

├── README.md
├── go.mod
├── go.sum
├── samurai.go                 # Development CLI tool
├── docker-compose.yml         # Database services
├── .env.example              # Environment template
├── backend/
│   ├── cmd/
│   │   └── server/
│   │       └── main.go       # Application entry point
│   └── internal/
│       ├── api/
│       │   ├── handlers/     # HTTP request handlers
│       │   ├── middleware/   # HTTP middleware
│       │   └── routes/       # Route definitions
│       ├── config/           # Configuration management
│       ├── database/         # Database connection & models
│       └── utils/            # Utilities (logging, etc.)
├── config/
│   └── development.json      # Development configuration
├── logs/                     # Application logs
├── bin/                      # Compiled binaries
└── data/                     # Database data

🛠️ 前提条件

⚡ クイックスタート

1. リポジトリをクローンする
git clone https://github.com/exprays/samurai
cd exprays-samurai
2. 開発環境をセットアップする
go run samurai.go setup

これにより、次の処理が行われます。

  • 必要なディレクトリを作成します
  • .env.example を .env にコピーします
  • Go の依存関係をダウンロードします
  • 必要な Docker イメージを取得します
3. 開発環境を起動する
go run samurai.go dev

これにより、次の処理が行われます。

  • PostgreSQL データベースを起動します
  • バックエンドサーバーを起動します
  • サービスの URL とステータスを表示します
4. インストールを確認する
go run samurai.go status

🔧 開発コマンド

コマンド説明
go run samurai.go dev開発環境全体を起動します
go run samurai.go setup開発環境をセットアップします
go run samurai.go buildアプリケーションをビルドします
go run samurai.go testすべてのテストを実行します
go run samurai.go statusサービスのステータスを表示します
go run samurai.go logsサービスのログを表示します
go run samurai.go stopすべてのサービスを停止します
go run samurai.go cleanビルド成果物をクリーンアップします

🌐 サービスエンドポイント

サービスURL説明
ヘルスチェックhttp://localhost:8080/healthサービスのヘルスステータス
レディチェックhttp://localhost:8080/health/readyデータベースの準備状況
API ベース URLhttp://localhost:8080/api/v1REST API エンドポイント
データベースlocalhost:5432PostgreSQL データベース

📊 ログ記録

このアプリケーションでは構造化ログを使用し、ログファイルを分けて記録します。

  • アプリケーションログ:logs/app.log - アプリケーションの主なイベント
  • アクセスログ:logs/access.log - HTTP リクエスト/レスポンスのログ
  • データベースログ:logs/database.log - データベースのクエリと操作
ログ設定

ログは環境変数で設定します。

  • LOG_LEVEL:debug、info、warn、error(デフォルト:info)
  • LOG_FORMAT:json、console(デフォルト:json)

🔒 環境設定

.env.example を .env にコピーして設定します。

# Server Configuration
SERVER_PORT=8080
SERVER_HOST=localhost
SERVER_ENVIRONMENT=development

# Database Configuration
DATABASE_HOST=localhost
DATABASE_PORT=5432
DATABASE_USER=samurai
DATABASE_PASSWORD=samurai_password
DATABASE_NAME=samurai_db
DATABASE_SSL_MODE=disable

# Authentication
JWT_SECRET=your-jwt-secret-here
JWT_EXPIRY=24h

# Logging
LOG_LEVEL=info
LOG_FORMAT=json

🏗️ アーキテクチャー

現在の実装(フェーズ 1)
  • ✅ モジュール管理を備えた Go プロジェクト構成
  • ✅ Gin フレームワークを使用した HTTP サーバー
  • ✅ 設定管理システム
  • ✅ GORM を使用した PostgreSQL データベース
  • ✅ 構造化ログ基盤
  • ✅ JWT ベースの認証
  • ✅ ユーザー登録およびログイン API
  • ✅ ロールベースのアクセス制御(RBAC)
  • ✅ API ミドルウェア(認証、CORS、ログ記録、リカバリー)
今後の機能(フェーズ 2 以降)
  • 🔄 MCP プロトコルの実装
  • 🔄 LLM プロバイダーとの統合
  • 🔄 プラグインシステムのアーキテクチャ
  • 🔄 Vault との統合
  • 🔄 フロントエンドダッシュボード
  • 🔄 監視と可観測性

🧪 テスト

# Run all tests
go run samurai.go test

# Run specific package tests
cd backend && go test ./internal/...

# Run tests with coverage
cd backend && go test -cover ./...

📦 ビルド

# Build for current platform
go run samurai.go build

# Build for specific platform
cd backend && GOOS=linux GOARCH=amd64 go build -o ../bin/mcp-server-linux ./cmd/server

🔍 監視

ヘルスチェック
  • GET /health - サービスの基本的な健全性
  • GET /health/ready - データベース接続チェック
ログ

リアルタイムのログを表示します:

# Application logs
tail -f logs/app.log

# Access logs
tail -f logs/access.log

# Database logs
tail -f logs/database.log

🤝 コントリビューション

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更を加えます
  4. 新しい機能のテストを追加します
  5. テストを実行し、すべて成功することを確認します
  6. プルリクエストを送信します

📋 開発フェーズ

フェーズ 1:基盤(完了)
  • プロジェクトのセットアップと基本的なバックエンド
  • 認証とセキュリティの基盤
  • データベースモデルと接続
  • ロギングのインフラストラクチャ
  • 基本的な API ドキュメント
フェーズ 2:MCP の中核的な統合(進行中)
  • MCP プロトコルの実装
  • LLM プロバイダーとの統合
  • プラグインと MCP のブリッジ
  • API キーの管理
フェーズ 3 以降:高度な機能
  • Vault との統合
  • フロントエンドダッシュボード
  • 監視と可観測性
  • プラグインマーケットプレイス
  • エンタープライズ機能

📞 サポート

サポートや質問については、以下をご利用ください:

📄 ライセンス

[ライセンス情報は後日追加予定]

コメント

MCP は初めてですか?

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

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