wind_index
MCP-сервис базовых данных фондовых индексов WIND
Это read-only MCP-сервис, который предоставляет базовую информацию о фондовых индексах из таблицы Oracle WIND_IMP.AINDEXDESCRIPTION локальным агентам и агентам в локальной сети.
В настоящее время предоставляются два инструмента:
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 или выше;
подготовлены доступные хост, порт и Service Name Oracle;
первая версия использует Thin-режим
python-oracledb, установка 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_stdioCodex использует 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 и проверьте wind_index в /mcp. В официальной документации Codex указано, что его десктопная версия, CLI и IDE-расширения используют общую конфигурацию MCP и поддерживают stdio и Streamable HTTP: документация Codex MCP.
Режим 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адрес в локальной сети:
http://172.18.3.114:8765/mcpпроверка состояния:
http://172.18.3.114:8765/healthMCP-эндпоинт должен передавать
Authorization: Bearer <MCP_API_KEY>;/healthне требует API Key и возвращает только{"status":"ok"}.
Если брандмауэр Windows блокирует подключения из локальной сети, можно открыть порт только для локальной подсети в PowerShell с правами администратора:
New-NetFirewallRule -DisplayName 'WIND Index MCP 8765' `
-Direction Inbound -Action Allow -Protocol TCP -LocalPort 8765 `
-RemoteAddress LocalSubnetНе публикуйте порт 8765 напрямую в интернет. При использовании через ненадёжные сети включите HTTPS на фронтальном прокси и перейдите на OAuth.
Подключение Codex к сервису в локальной сети
Сначала на компьютере, где запущен Codex, задайте переменную окружения, значение которой равно MCP_API_KEY из серверного .env:
$env:WIND_INDEX_MCP_API_KEY = '<从服务端安全复制 API Key>'Затем настройте в config.toml Codex:
[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. Другие MCP-клиенты, поддерживающие Streamable HTTP, используют тот же 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 |
|
| порт Oracle |
|
| Service Name Oracle |
|
| учётная запись только для чтения | обязательно |
| пароль базы данных | обязательно, секрет |
| минимальное число соединений |
|
| максимальное число соединений |
|
| таймаут TCP/получения соединения |
|
| таймаут одного вызова Oracle |
|
| адрес прослушивания HTTP |
|
| порт HTTP |
|
| путь MCP |
|
| HTTP Bearer API Key | не менее 32 символов |
| белый список Host, через запятую |
|
| уровень журналирования |
|
Если из-за DHCP IP сервера в локальной сети изменится, необходимо одновременно обновить MCP_ALLOWED_HOSTS в .env и URL на стороне клиента.
Ротация API Key
Сгенерируйте новый ключ:
.\.venv\Scripts\python.exe -c "import secrets; print(secrets.token_urlsafe(48))"Запишите вывод в MCP_API_KEY в серверном .env, перезапустите HTTP-сервис и обновите переменные окружения на всех клиентах. Не сохраняйте ключ в Git, чатах или журналах.
Расширение на другие таблицы
Для каждой новой таблицы или группы тесно связанных запросов создавайте отдельный доменный модуль:
src/index_mcp/domains/<domain>/
├─ models.py
├─ repository.py
├─ service.py
└─ tools.pyRepository может содержать только фиксированные параметризованные запросы SQL на чтение; Service отвечает за нормализацию входных данных и бизнес-границы; Tools реализуют MCP-контракт. Регистрируйте новые инструменты в server.py, чтобы переиспользовать существующий пул соединений, аутентификацию, журналирование и точки входа обоих транспортов.
Замечания по безопасности
.envи.venvигнорируются Git;журнал stdio пишется только в
stderrи не загрязняет поток протокола MCP;в HTTP используются Bearer API Key и белый список Host;
CORS по умолчанию отключён;
API Key поверх HTTP подходит только для доверенной локальной сети; прослушивающие сеть злоумышленники всё ещё могут перехватывать трафик в открытом виде;
учётная запись базы данных должна иметь минимальные права только на чтение на стороне 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.
This server cannot be installed
Maintenance
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
- Index OneOAuthio.indexone
Query financial index data, run backtests, and deploy systematic investment strategies on Index One.
Read-only China A-share data for AI agents: market, limit-up, capital flow and disclosures.
Commodity price indices, forward curves and catalog search. Requires a General Index account.
The stock market, in SQL — scan, replay, or subscribe across ~12k US tickers and top 100 cryptos.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables interaction with Oracle databases through MCP by executing SELECT queries, describing table structures, and listing available tables with secure, read-only access.3112MIT
- FlicenseNot gradedqualityDmaintenanceEnables querying index valuations (PE, PB, etc.) for 63 Chinese stock indices, with support for fuzzy search, batch queries, historical data, and trend analysis.1-
- FlicenseNot gradedqualityCmaintenanceA 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-
- FlicenseNot gradedqualityBmaintenanceProvides read-only access to a SQL Server investment database, enabling searching symbols, retrieving prices and history, and generating research snapshots.-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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