mcpField
S
Sample MCP Server

Sample MCP Server

ローカル
github.com/jasoet開発ツール077 週間前に更新

Sample MCP Server について

Go、GORM、PostgreSQLを使ったMCPサーバーのサンプルで、MCPサーバーを学ぶ開発者や構築する開発者向けです。口座、カテゴリ、取引の管理と集計機能を提供します。

主な機能

  1. 01口座の作成・取得・更新・削除
  2. 02カテゴリの作成・取得・更新・削除
  3. 03取引の作成・取得・更新・削除
  4. 04口座ごとの取引金額と件数の集計

活用シーン

  1. 01金融データ管理用MCPサーバーの構築
  2. 02Goとデータベース連携の練習
  3. 03口座ごとの取引集計の確認

MCP 対応

口座、カテゴリ、取引の操作と取引集計をツールとしてMCPクライアントに公開します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

サンプル MCP サーバー

PostgreSQL データベースに接続する、サンプルの MCP(Model Context Protocol)サーバーです。

概要

データベース操作には GORM を使用し、データの保存には PostgreSQL を使用しています。

機能

  • アカウント管理(作成、読み取り、更新、削除)
  • カテゴリー管理(作成、読み取り、更新、削除)
  • 取引の追跡(作成、読み取り、更新、削除)
  • 取引の集計(アカウントごとの合計、件数)

プロジェクト構成

  • compose/ - ローカル開発用の Docker Compose 設定
  • db/ - データベース関連コード
    • entity/ - データモデルの定義
    • migrations/ - データベースのマイグレーションスクリプト
    • repository/ - データアクセス層の実装
  • pkg/ - 共有パッケージとユーティリティ
  • vendor/ - ベンダー依存関係

データモデル

アプリケーションでは、次のデータモデルを使用します。

  • Account:ID、名前、種別を持つ金融口座を表します
  • Category:ID、名前、種別を持つ取引カテゴリーを表します
  • Transaction:金額、日付、説明、口座およびカテゴリーとの関連を持つ金融取引を表します

前提条件

  • Go 1.24 以降(go.mod で指定)
  • Mage ビルドツール
  • Docker と Docker Compose
  • PostgreSQL(または、提供されている Docker セットアップを使用)
Mage のインストール

Mage をインストールするには、次を実行します。

go install github.com/magefile/mage@vlatest

Go の bin ディレクトリが PATH に含まれていることを確認してください。

はじめに

Docker を使用したセットアップ
  1. リポジトリをクローンします
  2. PostgreSQL データベースを起動します。
    mage docker:up
    
  3. アプリケーションをビルドして実行します。
    mage build
    
開発モード

開発モードでアプリケーションを起動するには、次を実行します。

mage dev

アプリケーションをビルドし、必要な Docker サービスを起動します。

テスト

単体テストの実行
mage test
統合テストの実行
mage integrationtest

必要な Docker サービスを起動し、PostgreSQL の初期化を待ってから、統合テストを実行します。

ビルドコマンド

このプロジェクトでは、ビルドの自動化に Mage を使用しています。利用可能なコマンドは次のとおりです。

  • mage build - GoReleaser を使用してアプリケーションをビルドします
  • mage compilebuild - 標準の Go ビルドを使用してビルドします
  • mage test - 単体テストを実行します
  • mage integrationtest - 統合テストを実行します
  • mage lint - リンターを実行します
  • mage dev - ビルドして Docker サービスを起動します
  • mage docker:up - Docker サービスを起動します
  • mage docker:down - Docker サービスを停止します
  • mage docker:logs - Docker のログを表示します
  • mage docker:restart - Docker サービスを再起動します
  • mage clean - ビルド成果物をクリーンアップします

設定

設定ファイル

アプリケーションは、config.yml ファイルを使用して設定できます。設定ファイルは、バイナリと同じディレクトリに配置するか、MCP_SERVER_CONFIG 環境変数で指定できます。

サンプル設定ファイルは config.yml.sample にあります。このファイルを config.yml にコピーし、必要に応じて変更できます。

# Copy the sample configuration file
cp config.yml.sample config.yml

# Edit the configuration file
nano config.yml
環境変数

MCP_SERVER_CONFIG 環境変数を使用して、設定ファイルのパスを指定できます。

export MCP_SERVER_CONFIG=/path/to/your/config.yml
データベース設定

PostgreSQL データベースのデフォルト設定は次のとおりです。

  • 種別:POSTGRES(MYSQL と MSSQL にも対応)
  • ホスト:localhost(または Docker ネットワーク内の postgres)
  • ポート:5432
  • ユーザー:jasoet
  • パスワード:localhost
  • データベース:mcp_db
  • タイムアウト:3 秒
  • 最大アイドル接続数:5
  • 最大オープン接続数:10

ライセンス

このプロジェクトは MIT License の下でライセンスされています。詳細は以下をご覧ください。

MIT License

Copyright (c) 2025 Sample MCP Server

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

コメント

MCP は初めてですか?

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

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