python-mcp-as400
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@python-mcp-as400list the first 5 tables in library MYLIB"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
AS/400 MCP Server
Servidor MCP (Model Context Protocol) que conecta asistentes de IA con sistemas AS/400 (IBM i) de forma segura via ODBC.
Permite que un asistente de IA consulte bases de datos, lea codigo fuente, compile programas y analice spoolfiles en un IBM i — todo con controles de seguridad estrictos que impiden operaciones destructivas.
Herramientas disponibles
Herramienta | Descripcion | Ejemplo |
| Ejecuta consultas SQL de solo lectura |
|
| Ejecuta comandos CL permitidos (whitelist) |
|
| Lee el codigo fuente de un miembro |
|
| Compila un programa (RPG, CL, COBOL, C) |
|
| Lee spoolfiles (resultados de compilacion) | Sin parametros lista los 10 mas recientes |
Related MCP server: mcp-server-db2i
Seguridad
Este servidor esta disenado para que la IA ayude sin riesgo. La filosofia es: analisis y compilacion si, destruccion nunca.
SQL — Solo lectura
Solo se permiten
SELECT,WITHyVALUESSe bloquean
;(statement stacking),SELECT INTO,CALLSe eliminan comentarios SQL antes de evaluar
Si no se especifica limite, se agrega
FETCH FIRST 1000 ROWS ONLYautomaticamente
Comandos CL — Whitelist estricta
Solo se permiten comandos especificos. Todo lo demas es rechazado.
Permitidos:
Categoria | Comandos |
Visualizacion |
|
Verificacion |
|
Compilacion |
|
Sesion |
|
Overrides |
|
Bloqueados (ejemplos):
DLTOBJ, DLTF, DLTLIB, CLRPFM, CHGOBJ, GRTOBJAUT, RVKOBJAUT, CALL, SBMJOB, CPYF, MOVOBJ, RNMOBJ, RUNSQLSTM y cualquier otro comando no listado arriba.
Identificadores validados
Todos los nombres de biblioteca, archivo y miembro se validan contra el patron AS/400: 1-10 caracteres, alfanumerico + #, @, $. Esto previene inyeccion SQL en sentencias DDL.
Errores sanitizados
Los mensajes de error nunca exponen credenciales, connection strings ni rutas internas del sistema.
Prerequisitos
Python 3.10 o superior
IBM i Access ODBC Driver instalado (descargar de IBM)
Acceso a un sistema IBM i (AS/400) con usuario y contrasena
Instalacion
1. Clonar el repositorio
git clone https://github.com/tu-usuario/as400-mcp-server.git
cd as400-mcp-server2. Crear entorno virtual e instalar dependencias
python -m venv venv
source venv/bin/activate # Linux/Mac
# venv\Scripts\activate # Windows
pip install -e .3. Configurar credenciales
cp .env.example .env
# Editar .env con tus credenciales de IBM i4. Probar que funciona
python server.pyEl servidor arranca via stdio esperando mensajes MCP (JSON-RPC).
Configuracion con Claude Desktop
Agrega lo siguiente a tu archivo de configuracion de Claude Desktop (claude_desktop_config.json):
{
"mcpServers": {
"as400": {
"command": "python",
"args": ["C:/ruta/a/tu/as400-mcp-server/server.py"],
"env": {
"DB_HOST": "tu-host-ibmi.com",
"DB_USER": "TU_USUARIO",
"DB_PASS": "TU_PASSWORD"
}
}
}
}Nota: Tambien podes definir las variables en
.enven vez de en el JSON.
Ejemplos de uso
Consultar tablas del sistema
"Mostrame las primeras 10 tablas de la biblioteca MYLIB"
→ execute_sql("SELECT TABLE_NAME, TABLE_TYPE FROM QSYS2.SYSTABLES WHERE TABLE_SCHEMA = 'MYLIB' FETCH FIRST 10 ROWS ONLY")Ver estructura de un archivo
"Que campos tiene el archivo CUSTOMERS en MYLIB?"
→ execute_cl_command("DSPFFD FILE(MYLIB/CUSTOMERS) OUTPUT(*OUTFILE) OUTFILE(QTEMP/FLD)")
→ execute_sql("SELECT * FROM QTEMP.FLD")Leer codigo fuente
"Mostrame el codigo del programa CALCPRICE"
→ read_source_member(biblioteca='MYLIB', archivo_fuente='QRPGLESRC', miembro='CALCPRICE')Compilar y ver errores
"Compila el programa CALCPRICE y decime si hay errores"
→ compile_program(library='MYLIB', source_file='QRPGLESRC', member='CALCPRICE')
→ read_spoolfile()Estructura del proyecto
as400-mcp-server/
├── server.py # Servidor MCP principal
├── .env.example # Template de configuracion
├── .gitignore # Archivos excluidos de git
├── pyproject.toml # Metadata del proyecto Python
├── LICENSE # Licencia MIT
└── README.md # Esta documentacionVariables de entorno
Variable | Descripcion | Requerida |
| Hostname o IP del sistema IBM i | Si |
| Usuario de IBM i | Si |
| Contrasena de IBM i | Si |
Contribuir
Las contribuciones son bienvenidas. Si queres agregar un comando CL a la whitelist o una nueva herramienta:
Fork del repositorio
Crea una branch (
git checkout -b feature/mi-feature)Commit de tus cambios (
git commit -m 'Agregar mi feature')Push a la branch (
git push origin feature/mi-feature)Abri un Pull Request
Licencia
Este proyecto esta bajo la Licencia MIT.
This server cannot be deployed
Maintenance
Related MCP Connectors
- Era ContextOAuthapp.era
Personal finance, bank account, and shared memory connector for Claude, ChatGPT, Gemini Spark & more
Connects AI assistants to CloudQuell multi-cloud and AI cost, savings, anomaly, and budget data.
- mcpOAuthcom.vibgrate
Query your team's drift, vulnerability, and upgrade data from any AI assistant. OAuth 2.1, 51 tools.
Cloud-hosted MCP server for secure AI access to enterprise data sources via CData Connect AI.
Related MCP Servers
AlicenseNot gradedqualityCmaintenanceEnables AI agents to interact with IBM i systems through SQL tools and commands, supporting secure authentication, system monitoring, and database operations via the Model Context Protocol.78Apache 2.0- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to query and inspect IBM DB2 for i databases using read-only SQL commands and schema inspection tools. It provides secure access to table metadata, views, and indexes via the JT400 JDBC driver.12 npm20MIT
- AlicenseNot gradedqualityCmaintenanceEnables development support for AS400/IBM i systems by providing read-only access to metadata, source code, and program dependencies via ODBC. It supports CL, RPG, and COBOL environments, allowing users to retrieve library, table, and system information.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to interact with IBM i systems through the Model Context Protocol, providing secure SQL-based access to Db2 for i databases for querying, monitoring, and executing operations.Apache 2.0