Is MCP2551 a UART-to-CAN converter?
You can do that, but what you'll get on your CAN bus will be UART using CAN voltage levels. You have to supply the MCP2551 with CAN protocol messages if you want to communicate with CAN devices on your bus. Same for listening: CAN messages are so different from the UART format that the UART won't know what to do with them. You'll have at least frame errors all the time, and you won't get at the message's content.
This image shows the structure of a CAN message:  

 

There's plenty microcontrollers around that have a CAN interface, sans the transceiver. It's for these that the MCP2551 was designed. In the past we've used the NXP LPC2294, which has 4 CAN interfaces. Each of them needs an MCP2551 to connect to a CAN bus. More recent controllers from NXP include the LPC1800 family, of which all members support CAN.