Skip to main content
Glama
ryanwu2023

wind_index

by ryanwu2023

Servicio MCP de datos básicos de índices bursátiles WIND

Este es un servicio MCP de solo lectura que proporciona la información básica de índices bursátiles de la tabla Oracle WIND_IMP.AINDEXDESCRIPTION a agentes inteligentes locales y de la LAN.

Actualmente ofrece dos herramientas:

  • get_index_by_code(code): consulta exacta por S_INFO_CODE, por ejemplo, 000300;

  • search_indices_by_name(name, limit=20): busca por fragmento del nombre del índice y devuelve hasta 100 registros.

El servicio no acepta SQL ni ofrece operaciones de escritura en la base de datos. Las consultas utilizan SQL fijo y parámetros enlazados de Oracle.

Entorno de ejecución

  • Windows 10/11;

  • Python 3.11 o superior;

  • Se dispone de un host de Oracle, un puerto y un Service Name accesibles;

  • La primera versión utiliza el modo Thin de python-oracledb, sin necesidad de instalar Oracle Client.

Related MCP server: index-valuation

Instalación

Ejecute en 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]'

Copie .env.example a .env y complete la configuración real. En esta máquina ya se ha creado un .env funcional; ese archivo está excluido por .gitignore y no se incluirá en el repositorio.

Modo stdio local

Al iniciarlo manualmente, el proceso espera a que el cliente MCP envíe mensajes desde la entrada estándar:

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

Codex usa config.toml a nivel de proyecto o de usuario. La siguiente configuración hace que Codex inicie directamente el servicio local:

[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"

Tras guardar la configuración, reinicie Codex y compruebe wind_index en /mcp. La documentación oficial de Codex indica que su cliente de escritorio, su CLI y su extensión de IDE comparten la configuración de MCP y admiten tanto stdio como Streamable HTTP: Documentación MCP de Codex.

Modo HTTP de LAN

Inicie el servicio:

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

Configuración actual:

  • Dirección local: http://127.0.0.1:8765/mcp

  • Dirección LAN: http://172.18.3.114:8765/mcp

  • Comprobación de salud: http://172.18.3.114:8765/health

  • El endpoint MCP debe incluir Authorization: Bearer <MCP_API_KEY>;

  • /health no requiere API Key y solo devuelve {"status":"ok"}.

Si el firewall de Windows bloquea la conexión LAN, puede abrir el puerto solo para la subred local en PowerShell como administrador:

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

No exponga el puerto 8765 directamente a Internet. Cuando se utilice a través de redes no confiables, se debe habilitar HTTPS en un proxy frontal y actualizar a OAuth.

Codex se conecta al servicio de la LAN

Primero, en el equipo donde se ejecuta Codex, configure una variable de entorno cuyo valor sea MCP_API_KEY del .env del servidor:

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

A continuación, configúrelo en config.toml de 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"

La opción oficial bearer_token_env_var lee el Bearer Token desde una variable de entorno, evitando escribir la clave directamente en config.toml. Los demás clientes MCP que admitan Streamable HTTP solo necesitan usar la misma URL y establecer el mismo encabezado de solicitud Authorization.

Verificación

Ejecute las pruebas automatizadas:

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

Verifique la llamada de extremo a extremo de stdio:

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

Una vez iniciado el servicio HTTP, verifíquelo desde otra ventana de PowerShell:

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

Opciones de configuración

Variable

Descripción

Predeterminado/Ejemplo

ORACLE_HOST

Host de Oracle

your_oracle_host

ORACLE_PORT

Puerto de Oracle

1521

ORACLE_SERVICE_NAME

Service Name de Oracle

your_service_name

ORACLE_USER

Cuenta de solo lectura

Obligatorio

ORACLE_PASSWORD

Contraseña de la base de datos

Obligatorio, secreto

ORACLE_POOL_MIN

Mínimo de conexiones

1

ORACLE_POOL_MAX

Máximo de conexiones

5

ORACLE_CONNECT_TIMEOUT_SECONDS

Tiempo de espera de TCP/obtención de conexión

10

ORACLE_CALL_TIMEOUT_MS

Tiempo de espera de una llamada Oracle

30000

MCP_HTTP_HOST

Dirección de escucha HTTP

0.0.0.0

MCP_HTTP_PORT

Puerto HTTP

8765

MCP_HTTP_PATH

Ruta MCP

/mcp

MCP_API_KEY

Clave de API Bearer HTTP

Al menos 32 caracteres

MCP_ALLOWED_HOSTS

Lista blanca de hosts, separada por comas

localhost:*,127.0.0.1:*

LOG_LEVEL

Nivel de registro

INFO

Si DHCP provoca un cambio en la IP de LAN del servidor, deberá actualizar a la vez MCP_ALLOWED_HOSTS en .env y las URL de los clientes.

Rotación de API Key

Genere una nueva clave:

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

Escriba la salida en MCP_API_KEY del .env del servidor, reinicie el servicio HTTP y luego actualice las variables de entorno de todos los clientes. No haga commit de la clave en Git, ni la incluya en chats ni en registros.

Ampliar otras tablas

Cree un módulo de dominio independiente para cada tabla nueva o grupo de consultas estrechamente relacionadas:

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

Repository solo puede contener SQL fijo y parametrizado de solo lectura; Service se encarga de la normalización de las entradas y de los límites del negocio; Tools se encarga del contrato MCP. Basta con registrar nuevas herramientas en server.py para reutilizar el pool de conexiones, la autenticación, los registros y los puntos de entrada de doble transporte ya existentes.

Notas de seguridad

  • .env y .venv están ignorados por Git;

  • Los registros de stdio se escriben solo en stderr, sin contaminar el flujo del protocolo MCP;

  • HTTP utiliza Bearer API Key y lista blanca de hosts;

  • CORS está desactivado por defecto;

  • La API Key sobre HTTP solo es adecuada para LAN de confianza; un observador de la red aún podría interceptar el tráfico en claro;

  • La cuenta de la base de datos debe mantener los permisos mínimos de solo lectura en el lado de 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