"Witnesses told us that the attacker said he belonged to the Islamic State group as he was entering the restaurant, but we can not confirm this", Cologne Police Marshal Klaus Rueschenschmidt said during a news conference.
A police spokesperson told NBC News that "one woman has been taken hostage" but could not confirm if shots had been fired.
More details are awaited.
The suspect underwent surgery for life-threatening injuries, including gunshot wounds.
RPT police said a hostage was taken at Breslauer Platz, a major square near the busy train station.
He had first hurled a Molotov cocktail inside a McDonald's restaurant, injuring a teenage girl, then taken another woman hostage in an adjacent pharmacy.
Deutsche Bahn said the station will be closed until further notice and all traffic - including long-distance - has been suspended.
Police said they could not yet positively identify the hostage taker, who was undergoing surgery, but believed he was a 55-year-old Syrian migrant.
A police spokeswoman said special forces had been called to the scene.
A woman held hostage by the perpetrator was only "lightly wounded", police tweeted shortly after she was freed around 3:00 pm (1300 GMT). The suspect was "seriously injured", however it's unclear if he was in police custody.