list_tool_packages
View available tool packages and identify the currently loaded one in the ServiceNow MCP Server to manage API integrations.
Instructions
Lists available tool packages and the currently loaded one.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| random_string | Yes | Dummy parameter for no-parameter tools |
Implementation Reference
- src/servicenow_mcp/server.py:290-300 (handler)The core handler function that implements the logic for the 'list_tool_packages' tool. It lists the currently loaded package and all available packages from the configuration.def _list_tool_packages_impl(self) -> Dict[str, Any]: """Implementation logic for the list_tool_packages tool.""" available_packages = list(self.package_definitions.keys()) return { "current_package": self.current_package_name, "available_packages": available_packages, "message": ( f"Currently loaded package: '{self.current_package_name}'. " f"Set MCP_TOOL_PACKAGE env var to one of {available_packages} to switch." ), }
- src/servicenow_mcp/server.py:184-200 (registration)Registers the 'list_tool_packages' tool in the list_tools MCP endpoint by appending a Tool object to the tool list (only if not 'none' package). Includes the input schema definition.if self.current_package_name != "none": tool_list.append( types.Tool( name="list_tool_packages", description="Lists available tool packages and the currently loaded one.", inputSchema={ "type": "object", "properties": { "random_string": { "type": "string", "description": "Dummy parameter for no-parameter tools", } }, "required": ["random_string"], }, ) )
- src/servicenow_mcp/server.py:240-248 (handler)Dispatch logic in the call_tool handler that specifically checks for 'list_tool_packages', validates the package, calls the implementation, serializes the result, and returns it as TextContent.if name == "list_tool_packages": if self.current_package_name == "none": raise ValueError( "Tool 'list_tool_packages' is not available in the 'none' package." ) result_dict = self._list_tool_packages_impl() serialized_string = json.dumps(result_dict, indent=2) # Return a list with a TextContent object return [types.TextContent(type="text", text=serialized_string)]