interoperability_production_logs
Retrieve and analyze InterSystems IRIS MCP Server interoperability production logs, filtering by log type (info, alert, error, warning) and setting query limits for efficient monitoring and troubleshooting.
Instructions
Get Interoperability Production logs
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| item_name | No | ||
| limit | No | ||
| log_type_alert | No | ||
| log_type_error | No | ||
| log_type_info | No | ||
| log_type_warning | No |
Implementation Reference
- Handler function that executes the tool logic by querying the Ens_Util.Log table for Interoperability Production logs based on filters like item_name, limit, and log types.@server.tool(description="Get Interoperability Production logs") async def interoperability_production_logs( ctx: Context, item_name: str = None, limit: int = 10, log_type_info: bool = False, log_type_alert: bool = False, log_type_error: bool = True, log_type_warning: bool = True, ) -> str: logs = [] log_type = [] log_type_info and log_type.append(LogType.Info.value) log_type_alert and log_type.append(LogType.Alert.value) log_type_error and log_type.append(LogType.Error.value) log_type_warning and log_type.append(LogType.Warning.value) db = ctx.db with db.cursor() as cur: sql = f""" select top ? TimeLogged , %External(Type) Type, ConfigName, Text from Ens_Util.Log where {"ConfigName = ?" if item_name else "1=1"} {f"and type in ({', '.join(['?'] * len(log_type))})" if log_type else ""} order by id desc """ params = [limit, *([item_name] if item_name else []), *log_type] cur.execute(sql, params) for row in cur.fetchall(): logs.append(f"{row[0]} {row[1]} {row[2]} {row[3]}") return "\n".join(logs)
- src/mcp_server_iris/server.py:56-56 (registration)Calls the init function imported from interoperability.py, which registers all Interoperability tools including interoperability_production_logs using @server.tool decorators.interoperability(server, logger)