AKShare MCP Server について
AKShare MCP Server は、AKShare ライブラリを用いて金融データの取得と分析を行う MCP サーバーです。中国および海外の金融市場データを Claude Desktop から利用したいユーザーを対象としています。
主な機能
- 01中国および海外の金融市場データへのアクセス
- 02MCP プロトコルによる Claude Desktop 連携
- 03株式・ファンド・債券データの照会
- 04Docker での実行に対応
活用シーン
- 01株式、ファンド、債券データの照会
- 02先物および外為データの取得
- 03マクロ経済指標の確認
MCP 対応
本プロジェクトは MCP サーバーであり、株式、ファンド、債券、先物、外為、マクロ経済などのデータ照会ツールを Claude Desktop などの MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
AKShare MCP Server
AKShare ライブラリを使用して、金融データ分析機能を提供する Model Context Protocol(MCP)サーバーです。
機能
- AKShare を通じて、中国および世界の金融市場データにアクセスできます
- MCP プロトコルを介して Claude Desktop と連携します
- さまざまな金融データのクエリと分析に対応します
インストール
uv を使用する(推奨)
# Clone the repository
git clone https://github.com/yourusername/akshare_mcp_server.git
cd akshare_mcp_server
# Create and activate a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies with uv
uv pip install -e .
pip を使用する
# Clone the repository
git clone https://github.com/yourusername/akshare_mcp_server.git
cd akshare_mcp_server
# Create and activate a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -e .
使用方法
サーバーを起動する
# Activate the virtual environment
source venv/bin/activate # On Windows: venv\Scripts\activate
# Run the server
python run_server.py
Claude Desktop と連携する
- 次の設定を Claude Desktop の設定に追加します。
"mcpServers": {
"akshare-mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/akshare_mcp_server",
"run",
"akshare-mcp"
],
"env": {
"AKSHARE_API_KEY": "<your_api_key_if_needed>"
}
}
}
- Claude Desktop を再起動します
- 利用可能なツールから AKShare MCP サーバーを選択します
利用可能なツール
AKShare MCP サーバーでは、次のツールを利用できます。
- 株式データのクエリ
- ファンドデータのクエリ
- 債券データのクエリ
- 先物データのクエリ
- 外国為替データのクエリ
- マクロ経済データのクエリ
- その他多数…
新しいツールの追加
MCP サーバーに新しいツールを追加するには、次の手順に従います。
-
src/mcp_server_akshare/api.pyに新しい API 関数を追加します:async def fetch_new_data_function(param1: str, param2: str = "default") -> List[Dict[str, Any]]: """ Fetch new data type. Args: param1: Description of param1 param2: Description of param2 """ try: df = ak.akshare_function_name(param1=param1, param2=param2) return dataframe_to_dict(df) except Exception as e: logger.error(f"Error fetching new data: {e}") raise -
src/mcp_server_akshare/server.pyの列挙型に新しいツールを追加します:class AKShareTools(str, Enum): # Existing tools... NEW_TOOL_NAME = "new_tool_name" -
src/mcp_server_akshare/server.pyに新しい関数をインポートします:from .api import ( # Existing imports... fetch_new_data_function, ) -
handle_list_tools()関数にツールの定義を追加します:types.Tool( name=AKShareTools.NEW_TOOL_NAME.value, description="Description of the new tool", inputSchema={ "type": "object", "properties": { "param1": {"type": "string", "description": "Description of param1"}, "param2": {"type": "string", "description": "Description of param2"}, }, "required": ["param1"], # List required parameters }, ), -
handle_call_tool()関数にツールのハンドラーを追加します:case AKShareTools.NEW_TOOL_NAME.value: param1 = arguments.get("param1") if not param1: raise ValueError("Missing required argument: param1") param2 = arguments.get("param2", "default") result = await fetch_new_data_function( param1=param1, param2=param2, ) -
サーバーを起動して新しいツールにリクエストを送信し、新しいツールをテストします。
開発
# Install development dependencies
uv pip install -e ".[dev]"
# Run tests
pytest
Docker
Docker を使用してサーバーを実行することもできます。
# Build the Docker image
docker build -t akshare-mcp-server .
# Run the Docker container
docker run -p 8000:8000 akshare-mcp-server
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。