ODPS MCP Server
Servidor MCP de ODPS
Servidor MCP de solo lectura para Alibaba Cloud MaxCompute.
Modo ASGI
Utilice create_app() para el servidor HTTP. La aplicación expone GET /health, monta la aplicación HTTP estándar de MCP Streamable en /mcp y mantiene / como una ruta de compatibilidad para llamadores antiguos.
Ejemplo:
uvicorn odps_mcp_server.server:create_app --factoryEndpoints:
Endpoint MCP estándar:
http://<host>:<port>/mcpEndpoint MCP de compatibilidad:
http://<host>:<port>/Comprobación de estado:
http://<host>:<port>/health
Este servicio expone un endpoint MCP remoto a través de streamable-http para que un agente interno pueda consultar de forma segura las tablas de MaxCompute incluidas en la lista de permitidos.
Entorno
Establezca estas variables de entorno antes de ejecutar el servidor:
ALIBABA_CLOUD_ACCESS_KEY_IDALIBABA_CLOUD_ACCESS_KEY_SECRETODPS_ENDPOINTODPS_PROJECTODPS_ALLOWLIST_PATH
ODPS_ALLOWLIST_PATH debe apuntar a su archivo de política. Comience con config/allowlist.example.yaml y reemplace los nombres de proyecto y tabla de ejemplo con su lista de permitidos aprobada.
Si desea un flujo de inicio local con un solo clic, copie .env.local.example a .env.local y rellene sus credenciales de ODPS. El archivo es ignorado por git.
Configuración local
Instale las dependencias en un entorno virtual:
python -m venv .venv
.venv\Scripts\activate
pip install -e .Si prefiere uv, el flujo equivalente es:
uv venv
uv pip install -e .Archivo de política
El archivo de lista de permitidos controla a qué proyectos y tablas de MaxCompute puede acceder el servidor MCP. Ejemplo:
projects:
analytics:
tables:
sales_orders:
allowed_columns:
- order_id
- order_date
default_limit: 100
max_limit: 200Ejecutar el servidor MCP
Ejecute el servidor con:
python -m odps_mcp_server.serverEl servidor está configurado para iniciar el transporte MCP en modo streamable-http.
Para el desarrollo local en Windows, también puede usar:
.\scripts\start-local-mcp.ps1Si prefiere un flujo de inicio con un solo clic respaldado por .env.local, use:
.\scripts\start-local-mcp-oneclick.ps1Integración del agente interno
Su agente interno debe conectarse al endpoint MCP estándar http://<host>:<port>/mcp. La ruta raíz / permanece disponible solo por compatibilidad con versiones anteriores. El servicio expone estas herramientas:
list_allowed_tablesdescribe_tablepreview_tablerun_select_sql
Flujo de agente recomendado:
Listar las tablas permitidas.
Leer el esquema de una tabla elegida.
Previsualizar filas si es necesario.
Ejecutar una consulta
SELECTfiltrada contra la tabla incluida en la lista de permitidos.
Prueba de humo manual
Utilice scripts/manual_smoke_test.py para validar la conectividad y el comportamiento de la política contra un proyecto de MaxCompute que no sea de producción.
Ejemplos:
python scripts/manual_smoke_test.py list-tables --project analytics
python scripts/manual_smoke_test.py describe-table --project analytics --table sales_orders
python scripts/manual_smoke_test.py run-sql --project analytics --sql "SELECT order_id FROM analytics.sales_orders LIMIT 10"No apunte la prueba de humo a un proyecto exclusivo de producción hasta que se revisen la lista de permitidos y los límites de filas.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/XiangXi011/MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server