A simple helper to assist with writing MCollective actions in Python. Given an action as below:
action "echo" do
   validate :message, String

   implemented_by "/tmp/echo.py"
end
The following Python script will implement the echo action externally replying with _message_ and current _time_.
#!/usr/bin/env python

import sys
import time
import mcollective_action as mc

if __name__ == '__main__':
    mc = mc.MCollectiveAction()
    request = mc.request()
    mc.message = request['data']['message']
    mc.time = time.strftime('%c')
    mc.info("Some text to info log in the server")

    sys.exit(0)
Calling it with _mco rpc_ results in:
$ mco rpc test echo message="Hello World"
Determining the amount of hosts matching filter for 2 seconds .... 1

 * [ ============================================================> ] 1 / 1


host.example.com              : OK
    {:message=>"Hello World", :time=>"Tue Mar 15 19:20:53 +0000 2011"}
This implementation was successfully tested with Python 2.4 and 2.6.