How do I add a button to the Safari toolbar that, when clicked, executes a given AppleScript?
I don't think it can be done unfortunately. To put a button on the toolbar, you need to write a Safari Extension, which are restricted in what they can do. They can't execute any sort of arbitrary code outside of Safari. You can read more on developer.apple.com.
Another solution, and this is really dependant on what you want to do, is to use Services to execute your Applescript.
It doesn't create a toolbar icon, but will allow you to create a service from your AppleScript. You can then define a shortcut key in the System Preferences Keyboard Services pane
A workaround Safari Extension, could be to use a bookmark in Safari "Favorites Bar".
Use the folder action handler on opening folder this_folder
-- Simple script handler. When clicking the bookmark Finder opens a window to the enclosing folder of the script. However the handler closes the folder again. Leaving the impression that no folder was opened.
on opening folder this_folder
tell application "Finder"
tell application "Finder" to close front window
display dialog "Safari Toolbar Button" -- Your action script goes here
end opening folder
Save the handler in your Users ~/Library/Scripts/Folder Action Scripts/mySafariButton.scpt Right click "Folder Action Script". Choose services from the contextual menu. And choose Folder Actions Setup. Attach your handler script. Open a Finder window and locate your handler script. Simply draw it to the Safari Favorites Bar. Alternatively create an alias of the script and move it to a new Folder. Attach a Folder action(same procedure as above) rename the alias if you like.
NOTE! Avoid folders on your desktop. Known to cause errors when working with Folder Actions. If you move the alias or the containing folder. The bookmark is broken and you have to recreate it.
I researched a way to "Launch Scripts from Webpage Links" on a page at Macosxautomation.com that sounds highly promising, even if it's a bit TOO thorough for my taste ...
Applescripts CAN be launched from links and therefore CAN be added as buttons on Safari's favorites-bar (NOT: toolbar), roughly by: