MCP Auto Register について
MCP Auto Registerは、Pythonパッケージの関数やクラスをFastMCPインスタンスに登録するパッケージです。パッケージ内の項目を選んでMCPサーバーから公開したい開発者向けです。
主な機能
- 01パッケージ関数をFastMCPに登録
- 02パッケージクラスをFastMCPに登録
- 03関数を名前でフィルタリング
活用シーン
- 01選択したPythonパッケージ関数をFastMCP経由で公開
- 02MCPサーバー向けにパッケージクラスを登録
MCP 対応
パッケージの関数やクラスをFastMCPインスタンスに自動登録し、MCPサーバーから公開できるようにします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
インストール方法は未掲載です
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ツール一覧はまだ取得されていません
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP 自動登録
このパッケージは、Python パッケージの関数とクラスを FastMCP インスタンスに自動登録します。
インストール
パッケージをインストールするには、次のコマンドを実行します。
pip install mcp-auto-register
使用方法
パッケージから関数を登録します。
from mcp_auto_register.register import register_functions_from_package
from mcp.server.fastmcp import FastMCP
# Initialize MCP instance
mcp_instance = FastMCP()
register_functions_from_package('scipy.linalg', mcp_instance=mcp_instance, func_filter=['eigh', 'inv'])
if __name__ == "__main__":
mcp_instance.run()
パッケージからクラスを登録します。
import inspect
from mcp_auto_register.register import register_classes_from_package
from mcp.server.fastmcp import FastMCP
from nba_api.stats.endpoints._base import Endpoint
# Create MCP instance
mcp = FastMCP()
def nba_endpoint_wrapper(endpoint: Endpoint):
init_params = inspect.signature(endpoint.__init__).parameters
required_args = {
p: param.annotation if param.annotation != inspect.Parameter.empty else "Any"
for p, param in init_params.items()
if p != "self" and param.default == inspect.Parameter.empty
}
def wrapper(**kwargs):
return endpoint(**kwargs).get_dict()
wrapper.__signature__ = inspect.Signature(
parameters=[
inspect.Parameter(arg, inspect.Parameter.POSITIONAL_OR_KEYWORD)
for arg, _ in required_args.items()
]
)
return wrapper
register_classes_from_package("nba_api.stats.endpoints", nba_endpoint_wrapper, mcp)
if __name__ == "__main__":
mcp.run(transport="stdio")
コメント
Markdown 対応
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。