Skip to main content
Glama
ryanwu2023

wind_index

by ryanwu2023

WIND 株価指数基礎データ MCP サービス

これは読み取り専用の MCP サービスで、Oracle テーブル WIND_IMP.AINDEXDESCRIPTION 内の株価指数の基礎情報を、ローカルおよび LAN 上のエージェントに提供します。

現在、以下の 2 つのツールを提供しています:

  • get_index_by_code(code)S_INFO_CODE による完全一致検索です。例:000300

  • search_indices_by_name(name, limit=20):指数名の一部で検索し、最大 100 件を返します。

本サービスは SQL を受け付けず、データベースへの書き込み操作も提供しません。クエリは固定 SQL と Oracle バインドパラメータを使用します。

実行環境

  • Windows 10/11;

  • Python 3.11 以降;

  • アクセス可能な Oracle ホスト、ポート、Service Name が用意されていること;

  • 初版は python-oracledb の Thin モードを使用するため、Oracle Client のインストールは不要です。

Related MCP server: index-valuation

インストール

PowerShell で以下を実行します:

Set-Location 'D:\1.Project\19.CodexProject\9.MCP'
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install --upgrade pip
.\.venv\Scripts\python.exe -m pip install -e '.[dev]'

.env.example.env にコピーし、実際の設定値を記入します。このマシンには既に動作する .env が作成されています。このファイルは .gitignore で除外されているため、リポジトリには入りません。

ローカル stdio モード

手動で起動した場合、プロセスは MCP クライアントが標準入力からメッセージを送信するのを待ちます:

.\.venv\Scripts\python.exe -m index_mcp.run_stdio

Codex はプロジェクトレベルまたはユーザーレベルの config.toml を使用します。以下の設定により、Codex がローカルサービスを直接起動します:

[mcp_servers.wind_index]
command = 'D:\1.Project\19.CodexProject\9.MCP\.venv\Scripts\python.exe'
args = ["-m", "index_mcp.run_stdio"]
cwd = 'D:\1.Project\19.CodexProject\9.MCP'
required = true
default_tools_approval_mode = "auto"

設定を保存したら Codex を再起動し、/mcpwind_index を確認します。Codex の公式ドキュメントでは、デスクトップ版、CLI、IDE 拡張機能が MCP 設定を共有し、stdio と Streamable HTTP をサポートしています:Codex MCP ドキュメント

LAN HTTP モード

サービスを起動します:

Set-Location 'D:\1.Project\19.CodexProject\9.MCP'
.\.venv\Scripts\python.exe -m index_mcp.run_http

現在の設定:

  • ローカルアドレス:http://127.0.0.1:8765/mcp

  • LAN アドレス:http://172.18.3.114:8765/mcp

  • ヘルスチェック:http://172.18.3.114:8765/health

  • MCP エンドポイントには Authorization: Bearer <MCP_API_KEY> が必要です;

  • /health は API Key を必要とせず、{"status":"ok"} のみを返します。

Windows ファイアウォールが LAN 接続をブロックする場合は、管理者 PowerShell でローカルサブネットに対してのみポートを開放できます:

New-NetFirewallRule -DisplayName 'WIND Index MCP 8765' `
  -Direction Inbound -Action Allow -Protocol TCP -LocalPort 8765 `
  -RemoteAddress LocalSubnet

8765 ポートをパブリックネットワークに直接マッピングしないでください。信頼できないネットワークをまたいで使用する場合は、フロントプロキシで HTTPS を有効にし、OAuth にアップグレードしてください。

Codex から LAN サービスへの接続

まず、Codex を実行するコンピューターに、サーバー側の .envMCP_API_KEY を値とする環境変数を設定します:

$env:WIND_INDEX_MCP_API_KEY = '<从服务端安全复制 API Key>'

次に、Codex の config.toml で設定します:

[mcp_servers.wind_index_lan]
url = "http://172.18.3.114:8765/mcp"
bearer_token_env_var = "WIND_INDEX_MCP_API_KEY"
required = true
default_tools_approval_mode = "auto"

公式設定項目 bearer_token_env_var は環境変数から Bearer Token を読み取るため、シークレットを直接 config.toml に書き込む必要がありません。Streamable HTTP をサポートする他の MCP クライアントは、同じ URL を使用し、同じ Authorization リクエストヘッダーを設定するだけで済みます。

検証

自動テストを実行します:

.\.venv\Scripts\python.exe -m pytest

stdio のエンドツーエンド呼び出しを検証します:

.\.venv\Scripts\python.exe .\scripts\smoke_test.py stdio

HTTP サービス起動後、別の PowerShell ウィンドウで検証します:

.\.venv\Scripts\python.exe .\scripts\smoke_test.py http

設定項目

変数

説明

デフォルト/例

ORACLE_HOST

Oracle ホスト

your_oracle_host

ORACLE_PORT

Oracle ポート

1521

ORACLE_SERVICE_NAME

Oracle Service Name

your_service_name

ORACLE_USER

読み取り専用アカウント

必須

ORACLE_PASSWORD

データベースパスワード

必須・秘密

ORACLE_POOL_MIN

最小接続数

1

ORACLE_POOL_MAX

最大接続数

5

ORACLE_CONNECT_TIMEOUT_SECONDS

TCP/接続取得タイムアウト

10

ORACLE_CALL_TIMEOUT_MS

Oracle 呼び出しごとのタイムアウト

30000

MCP_HTTP_HOST

HTTP リッスンアドレス

0.0.0.0

MCP_HTTP_PORT

HTTP ポート

8765

MCP_HTTP_PATH

MCP パス

/mcp

MCP_API_KEY

HTTP Bearer API Key

32 文字以上

MCP_ALLOWED_HOSTS

Host ホワイトリスト(カンマ区切り)

localhost:*,127.0.0.1:*

LOG_LEVEL

ログレベル

INFO

DHCP によりサーバーの LAN IP が変更された場合は、.envMCP_ALLOWED_HOSTS とクライアント側の URL を同時に更新する必要があります。

API Key のローテーション

新しい Key を生成します:

.\.venv\Scripts\python.exe -c "import secrets; print(secrets.token_urlsafe(48))"

出力をサーバー側の .envMCP_API_KEY に書き込み、HTTP サービスを再起動し、各クライアントの環境変数を更新します。Key を Git、チャット履歴、ログにコミットしないでください。

他のテーブルへの拡張

新しいテーブルごと、または密接に関連するクエリのグループごとに、独立したドメインモジュールを作成します:

src/index_mcp/domains/<domain>/
├─ models.py
├─ repository.py
├─ service.py
└─ tools.py

Repository は固定かつパラメータ化された読み取り専用 SQL のみを保持します。Service は入力の正規化とビジネス境界を担当し、Tools は MCP コントラクトを担当します。server.py に新しいツールを登録するだけで、既存のコネクションプール、認証、ログ、そして stdio/HTTP の両エントリポイントを再利用できます。

セキュリティ上の注意

  • .env.venv は Git で無視されています;

  • stdio ログは stderr にのみ書き込まれ、MCP プロトコルストリームを汚染しません;

  • HTTP は Bearer API Key と Host ホワイトリストを使用します;

  • CORS はデフォルトでオフです;

  • HTTP 経由の API Key は信頼できる LAN でのみ有効であり、ネットワーク上の盗聴者は平文トラフィックを傍受できる可能性があります;

  • データベースアカウントは Oracle 側で最小限の読み取り専用権限に保ってください。

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables interaction with Oracle databases through MCP by executing SELECT queries, describing table structures, and listing available tables with secure, read-only access.
    3
    11
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables querying index valuations (PE, PB, etc.) for 63 Chinese stock indices, with support for fuzzy search, batch queries, historical data, and trend analysis.
    1
    -
  • F
    license
    Not graded
    quality
    C
    maintenance
    A read-only MCP server for exploring and querying Oracle schemas safely. Provides tools for table listing, schema description, column search, and validated SELECT execution.
    2
    -

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ryanwu2023/MyMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server