mcpField
B
Business Request Server

Business Request Server

ローカル
github.com/dto-btn開発ツール07 週間前に更新

Business Request Server について

Business Request Serverは、他のPoCで使うためのデモ用MCPサーバーです。SQL Serverに接続し、業務リクエストの検索と結果の絞り込みを行います。

主な機能

  1. 01SQL Serverへの接続
  2. 02条件付き業務リクエスト検索
  3. 03クエリ項目の選択
  4. 04検索結果の絞り込み
  5. 05Dockerでの実行

活用シーン

  1. 01PoCでの業務リクエスト検索
  2. 02タイトルなどの項目によるレコード絞り込み
  3. 03データベース検索結果の絞り込み

MCP 対応

MCPサーバーとして、クライアントに業務リクエストの検索、項目選択、結果の絞り込みを提供します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

Business Request Server

ほかの PoC で使用するデモ用 PoC MCP サーバー

開発者

設定

サーバーまたはクライアントを実行する前に、サンプルから .env ファイルを作成します。

cp .env.example .env

.env を編集し、データベースの認証情報と Azure OpenAI の設定を入力します。

変数説明必須デフォルト
BITS_DB_SERVERSQL Server データベースのホスト名または IP アドレスです。はいmissing.domain
BITS_DB_USERNAMEデータベース認証に使用するユーザー名です。はいmissing.username
BITS_DB_PWDデータベース認証に使用するパスワードです。はいmissing.password
BITS_DB_DATABASE接続する特定のデータベースの名前です。はいmissing.dbname
HOSTMCP サーバーがバインドするホストアドレスです。いいえ0.0.0.0
PORTMCP サーバーがリッスンするポートです。いいえ8000
MCP_SERVER_URLMCP サーバーにアクセスできる URL です(クライアントで使用)。いいえhttp://127.0.0.1:8000/mcp
CORS_ALLOW_ORIGINSMCP サーバーへの接続を許可するオリジンをコンマ区切りで指定します。いいえhttp://localhost,http://127.0.0.1
CORS_ALLOW_CREDENTIALSCORS リクエストで認証情報(Cookie、認証ヘッダー)を許可するかどうかを指定します。いいえfalse
AZURE_OPENAI_ENDPOINTAzure OpenAI リソースのエンドポイント URI です(クライアントで使用)。はい(クライアント)-
AZURE_OPENAI_VERSIONAzure OpenAI の API バージョンです。いいえ2024-05-01-preview
CLIENT_ID認証用の OAuth2 クライアント ID です(実験的機能)。いいえ-
CLIENT_SECRET認証用の OAuth2 クライアントシークレットです(実験的機能)。いいえ-
REDIRECT_URI認証用の OAuth2 リダイレクト URI です(実験的機能)。いいえ-
インストール
uv venv
uv pip install -e .
# then run it locally
mcp dev server.py
# or alternatively
python server.py

表示された URL にアクセスして、サーバーをテストします。

次に、Templates や search_business_requests などの関数をテストできます。

query に次の値を渡します。

{
  "query_filters": [
    {
      "name": "BR_SHORT_TITLE",
      "value": "Server",
      "operator": "="
    }
  ]
}

select_fields には次の値を渡します。

{
  "fields": [
    "BR_SHORT_TITLE"
  ]
}

その後、filter_results を使って結果をフィルタリングできます。

[
  {
    "column": "RPT_GC_ORG_NAME_EN",
    "operator": "contains",
    "value": "Correctional"
  }
]

Docker で実行する

docker build -t mcp-bits:local .
docker run -p 8080:8080 --env-file ./.env --name mcp-bits-container mcp-bits:local

pymssql の問題

Mac OSX での pymssql

pymssql は FreeTDS に依存しているため、事前に brew install freetds を実行してインストールしてください。

その後、コードの実行で問題が発生した場合は、次の手順を実行してください。

uv pip uninstall pymssql
uv pip install --pre --no-binary :all: pymssql --no-cache --no-build-isolation

また、uv の pyproject.toml に追加することもできます。

[tool.uv]
no-binary-package = ["pymssql"]

これで、すべて動作するはずです。

注:既知の問題として cython==3.1.0 に関するものがあります。こちら を参照してください。

現時点での回避方法は次のとおりです(この問題が修正されたら、これを削除してください)。

uv pip uninstall pymssql
export CFLAGS="-I$(brew --prefix freetds)/include"
export LDFLAGS="-L$(brew --prefix freetds)/lib"
uv pip install "packaging>=24" "setuptools>=54.0" "setuptools_scm[toml]>=8.0" "wheel>=0.36.2" "Cython==3.0.10" "tomli"
uv pip install --pre --no-binary :all: pymssql --no-cache --no-build-isolation

デプロイ

CI/CD

TODO

手動

CLI を使って Azure に手動でデプロイする方法は次のとおりです。

az webapp deployment source config-local-git \
  --name <WebAppName> \
  --resource-group <ResourceGroupName>
git remote add azure <GitURLFromPreviousStep>
git push azure main

ドキュメント

コメント

MCP は初めてですか?

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

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