mcpField
S
S4MCPDEMO.git

S4MCPDEMO.git

ローカル
github.com/SHENRUIYANGバージョン管理081 週間前に更新

S4MCPDEMO.git について

S4MCPDEMO.gitは、Cursorなどとの連携を想定したSAP品目マスタ照会用のデモサービスです。HTTP APIとstdioに対応していますが、READMEでは本番環境での使用は想定されていません。

主な機能

  1. 01品目基本情報の照会
  2. 02説明文による品目検索
  3. 03多言語の品目説明の照会
  4. 04HTTPとstdioの両モード
  5. 05OpenAPIドキュメントの提供

活用シーン

  1. 01品目番号による属性の検索
  2. 02説明文から品目を検索
  3. 03指定言語の品目説明の確認

MCP 対応

stdioモードでMCPツールとして利用でき、HTTP APIモードにも対応します。クライアントにSAP品目マスタの照会機能を提供します。

設定

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

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

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

リポジトリ

ツール

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

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

詳細

品目マスタデータ MCP

バージョン: 1.0.1
作成者: ORBIS Consulting Shanghai Co.,Ltd
ライセンス: MIT
最終更新日: 2025年4月11日
制限事項: この機能はデモンストレーション専用であり、本番環境では使用できません。必要な場合は、作成者([email protected])までお問い合わせください。

品目マスタデータ MCP(Master Control Program)は、SAP システムと連携してマスタデータを照会するサービスです。このサービスは HTTP API サーバー、または標準入力/出力モードのツールとして実行でき、Cursor などのスマートアシスタントとの連携をサポートします。

機能

  • 2つの実行モード:HTTP API モードと標準入力/出力(stdio)モードの両方をサポートします
  • 品目基本情報の照会:品目の詳細な属性や特性を取得します
  • 品目テキスト検索:テキストの説明に基づいて関連する品目を検索します
  • 多言語サポート:異なる言語(中国語、英語、ドイツ語など)の品目テキストを照会できます
  • 型安全性:入力検証に Pydantic モデルを使用します
  • 充実した API ドキュメント:OpenAPI 仕様を使用した API ドキュメントを内蔵しています
  • MCP.so ホスティングのサポート:クラウドベースのアクセス用に MCP.so へデプロイできます
  • API キー認証:安全な認証に JWT を使用します

インストール

要件
  • Python 3.7+
  • SAP S/4HANA システムへのアクセス
インストール手順
  1. このリポジトリをクローンします:
git clone https://github.com/SHENRUIYANG/S4MCPDEMO.git
cd S4MCPDEMO
  1. 依存関係をインストールします:
pip install -r requirements.txt
  1. SAP 接続を設定します(任意。環境変数も使用できます):

プロジェクトのルートディレクトリに .env ファイルを作成し、次の内容を記述します:

SAP_HOST=your_sap_host
SAP_PORT=your_sap_port
SAP_USER=your_sap_username
SAP_PASSWORD=your_sap_password
JWT_SECRET=your-secret-key  # 用于生成和验证 API Key 的密钥
  1. API キーを生成します:

セキュリティ上の理由から、API キー生成スクリプトは公開リポジトリに含まれていません。このサービスの API キーを生成する必要がある場合は、作成者に直接お問い合わせください。

API キーは JWT 形式を使用し、次の情報を含みます:

  • ユーザーのメールアドレス
  • SAP 接続情報(ホスト、ポート、ユーザー名、パスワード)
  • 有効期限

注:API キーには機密性の高い接続情報が含まれているため、安全に保管してください。

使用方法

HTTP サーバーとして起動する
python MM03_MCP.py --mode=http --host=0.0.0.0 --port=5003

これにより FastAPI サーバーが起動し、指定したポート(デフォルトは 5003)でリッスンします。

標準入力/出力(stdio)ツールとして起動する
python MM03_MCP.py --mode=stdio

これによりプログラムが起動し、標準入力からのコマンドを待ち受けます。Cursor などのスマートアシスタントとの連携に適しています。

REST サーバーとして起動する(MCP.so 用)
python MM03_MCP.py --mode=rest --host=0.0.0.0 --port=5003 --endpoint=/rest

これにより、MCP.so でのホスティングに適した REST サーバーが起動します。

API エンドポイント

HTTP サーバーの起動後、次の API エンドポイントを利用できます:

  • GET /.well-known/mcp-manifest.json:API マニフェストを取得します
  • POST /mcp_MM03_BasicData:品目の基本情報を取得します
  • POST /mcp_MM03_DescToMaterial:品目テキストから品目を検索します
  • POST /mcp_MM03_Description_Search:指定した言語の品目テキストを取得します
  • GET /health:ヘルスチェックエンドポイント
API ドキュメント

HTTP サーバーの起動後、http://localhost:5003/docs にアクセスすると、API ドキュメント全体を確認できます。

使用例

品目の基本情報を取得する
curl -X POST "http://localhost:5003/mcp_MM03_BasicData" \
  -H "Content-Type: application/json" \
  -d '{"material": "FG126"}' \
  -H "Authorization: Bearer your-api-key"
品目テキストから品目を検索する
curl -X POST "http://localhost:5003/mcp_MM03_DescToMaterial" \
  -H "Content-Type: application/json" \
  -d '{"description": "serial", "language": "EN"}' \
  -H "Authorization: Bearer your-api-key"
指定した言語の品目テキストを取得する
curl -X POST "http://localhost:5003/mcp_MM03_Description_Search" \
  -H "Content-Type: application/json" \
  -d '{"material": "FG126", "language": "EN"}' \
  -H "Authorization: Bearer your-api-key"

MCP.so との連携

このプロジェクトは MCP.so ホスティングとの互換性を考慮して設計されています。リポジトリには必要なファイルがすべて含まれています:

  • chatmcp.yaml:MCP.so 連携用の設定
  • Dockerfile:デプロイ用のコンテナイメージ定義
  • LICENSE:商用利用に適したデプロイに必要な MIT ライセンス

このサービスを MCP.so にデプロイするには:

  1. GitHub リポジトリの URL を MCP.so プラットフォームに送信します
  2. MCP.so チームがサービスを審査し、デプロイします
  3. 承認されると、MCP Playground で利用できるようになります

Docker によるデプロイ

Docker コンテナでサービスを実行することもできます:

# Build the Docker image
docker build -t mcp/mm03-mcp .

# Run the container
docker run -i --rm -e SAP_USER=your_username -e SAP_PASSWORD=your_password mcp/mm03-mcp

API の詳細

BasicData

品目の基本情報を取得します。

入力パラメーター:

  • material:品目番号(例:「FG126」)

戻り値のフィールド:

  • 品目タイプ(ProductType)
  • 作成日(CreationDate)
  • 総重量(GrossWeight)
  • 基本数量単位(BaseUnit)
  • 品目グループ(ProductGroup)
  • その他、多数の SAP 品目マスターデータフィールド
DescToMaterial

説明テキストで品目を検索します。

入力パラメーター:

  • description:説明テキスト(例:「valve」)
  • max_results:結果の最大数(デフォルト:50)
  • language:言語コード(例:「EN」は英語、「ZH」は中国語、「ALL」はすべての言語。デフォルトは「ZH」です)

戻り値のフィールド:

  • material:品目番号
  • description:品目の説明
  • language:言語コード
Description_Search

指定した言語で、特定の品目の説明情報を取得します。

入力パラメーター:

  • material:品目番号(例:「FG126」)
  • language:言語コード(例:「EN」は英語、「ZH」は中国語。デフォルトは「EN」です)

戻り値のフィールド:

  • material:品目番号
  • description:品目の説明
  • language:言語コード

依存関係

  • FastAPI:Web フレームワーク
  • Uvicorn:ASGI サーバー
  • httpx:非同期 HTTP クライアント
  • python-dotenv:環境変数の管理
  • Pydantic:データ検証
  • FastMCP:MCP コアライブラリ

セキュリティに関する考慮事項

  • 本番環境では、HTTPS を有効にすることを推奨します
  • 認証情報をコードにハードコードせず、環境変数または安全な認証情報管理ソリューションを使用してください
  • API にアクセスできるのが認証済みユーザーのみであることを確認してください

ライセンス

MIT ライセンス

貢献

イシューやプルリクエストを歓迎します!

コメント

MCP は初めてですか?

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

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