Scansca - MCP Database Connector (under-development) について
Scanscaは開発中のセルフホスト可能なMCPサーバーで、LLMクライアントとデータベースを接続します。技術者はPostgreSQLを登録し、スキーマを検出して、MCPやREST API経由でデータベース操作を利用できます。
主な機能
- 01PostgreSQLへの接続
- 02データベーススキーマの検出
- 03REST経由のデータベース操作
- 04Docker Composeでのデプロイ
活用シーン
- 01MCPクライアントにPostgreSQLデータを公開
- 02スキーマ検出によるデータベース構造の確認
MCP 対応
利用可能なツールの一覧表示と呼び出しを行うMCPエンドポイントを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Scansca - MCP データベースコネクター(開発中)
Scansca は、Model Context Protocol(MCP)を通じて、大規模言語モデル(LLM)のクライアントをデータベースシステムに接続する、セルフホスト可能なサーバーです。技術ユーザーは、自然言語を使って多様なデータ環境から統合的なインサイトを得られます。
特長
- 複数データベースのサポート:PostgreSQL に接続できます(MySQL、SQLite、DynamoDB は近日対応予定)
- MCP との統合:MCP 対応の LLM クライアントとシームレスに統合できます
- スキーマの自動検出:最小限の設定でデータベース構造を公開できます
- シンプルな API:データベース操作のための RESTful インターフェース
- Docker 対応:Docker Compose で簡単にデプロイできます
クイックスタート
前提条件
- Go 1.22+
- Docker と Docker Compose(任意、データベースの依存関係用)
インストール
# Clone the repository
git clone https://github.com/royceleond/scansca.git
cd scansca
# Install dependencies
make deps
# Start a PostgreSQL database (optional)
make docker-compose
# Build and run the server
make run
基本的な使い方
データベースの登録
curl -X POST http://localhost:8080/api/v1/databases \
-H "Content-Type: application/json" \
-d '{
"name": "my-postgres",
"type": "postgresql",
"connection_string": "postgres://scansca_user:scansca_password@localhost:5432/scansca"
}'
クエリの実行
curl -X POST http://localhost:8080/api/v1/query \
-H "Content-Type: application/json" \
-d '{
"database": "my-postgres",
"query": "SELECT current_database(), current_user"
}'
LLM クライアントとの使用
MCP 対応の LLM クライアント向けに、Scansca は以下のエンドポイントを公開します。
GET /mcp/v1/tools # Lists available tools
POST /mcp/v1/tools/:name/invoke # Invokes a specific tool
ドキュメント
以下を実行してドキュメントを表示します。
make docs
これにより、ポート 8080 でドキュメントサーバーが起動します(DOCS_PORT で設定可能)。
詳しくは、オンラインドキュメントをご覧ください。
アーキテクチャ
┌──────────────────────────┐
│ MCP Client │
│ (LLM, CLI, Application) │
└──────────────┬───────────┘
│
▼
┌──────────────────────────┐
│ Scansca MCP Server │ HTTP API for database operations
│ │ and MCP protocol support
├──────────────────────────┤
│ Database Connectors │ Uniform interface for different
└──────────────┬───────────┘ database systems
│
▼
┌──────────────────────────┐
│ Database Servers │
│ (Postgres, MySQL, etc.) │
└──────────────────────────┘
開発
# Build the project
make build
# Run tests
make test
# Start the server
make run
# Start PostgreSQL using Docker Compose
make docker-compose
# Stop Docker Compose services
make docker-compose-down
# Start documentation server
make docs
# Build and publish documentation to a Docker registry
make docs-publish
環境設定
Docker レジストリの URL などの機密設定には、Scansca は git で追跡されない .env ファイルを使用します。
-
テンプレートファイルをコピーして、設定ファイルを作成します。
cp .env.example .env -
.envファイルを編集して設定を記入します。# Registry settings - Replace with your actual values DOCKER_REGISTRY=docker.your-company.com -
make コマンドを実行すると、Makefile がこれらの設定を自動的に読み込みます。
プロジェクト構成
scansca/
├── cmd/ # Application entry point
├── config/ # Configuration files
├── docker/ # Docker configurations
├── docs/ # Documentation
├── internal/ # Private implementation
│ ├── db/ # Database connections and models
│ ├── server/ # HTTP server and API
│ └── mcp/ # MCP protocol implementation
└── Makefile # Build automation
ライセンス
このプロジェクトはScansca Software Licenseのもとでライセンスされており、以下が許可されています。
- 非営利目的、非営利団体、および小規模な事業体(収益/資産が 10,000 USD 未満)は無料で利用できます
- 商用利用および政府機関による利用には、作者から別途ライセンスを取得する必要があります
詳しくは LICENSE ファイルをご覧ください。
貢献
貢献を歓迎します。お気軽にプルリクエストをお送りください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。