XML-RPCを使ってWordpressやMovable Typeなどのブログに投稿するGreasemonkeyの書き方みたいなものです。
XMLRPCに対応したブログにどういうものがあるかは下のサイトによくまとまってます。(ちょっと古いですが)

BlogWrite – Atom API, XML-RPC : http://www.witha.jp/BlogWrite/bloglist.html

WordPressでしかテストしてませんがXMLRPCに対応してるブログなら動作すると思います。
今回は投稿機構みたいなものを書いただけなので、このスクリプトだけではあんまり意味はないと思います。

// ==UserScript==
// @name           XMLRPC poster
// @namespace      http://efcl.info/
// @include        http://*
// ==/UserScript==

/* 投稿先のメタ情報 */
var metaBlog = {
    "endPoint" : "ブログのエンドポイントURL",
    "blogid"   : "ブログのログインID",
    "username" : "投稿者名", //空だとblogidを使用
    "password" : "パスワード"
}

var XMLRPC = (function() { this.initialize.apply(this, arguments); });
XMLRPC.prototype = {
    /*
     * @arg 
        {
                "endPoint": "endPoint",
                "blogid"   : "blogid",
                "username" : "username",//空だとblogidを使用
                "password" : "password"
        }
    */
    initialize : function(arg) { //引数は{}オブジェクト
        this.endPoint = arg.endPoint;
        this.blogid   = arg.blogid;
        this.username = (arg.username) ? arg.username : arg.blogid;
        this.password = arg.password;
    },
    /* *
     * @title 記事タイトル
     * @desc 記事内容
     * @tags タグ(カンマ区切り)
     * @callback 更新成功時のコールバック関数
     */
    post : function (title, desc, tags, callback){
        var postURI = this.endPoint;
        this.tags = (tags.length == 0) ? "" : tags.join(",");
        var XMLbody = '<?xml version="1.0"?>n';
        XMLbody += this.template(title, desc , this.tags);
        console.info(XMLbody);
        GM_xmlhttpRequest({
            method : "POST",
            headers : {
                'Content-type' : 'text/xml'
            },
            url : postURI,
            data : this.template(title, desc , tags),
            onload : callback,
        })
    },
  template : function (title, desc , tags){
    var repuest =  <methodCall>
                      <methodName>metaWeblog.newPost</methodName>
                      <params>
                        <param>
                          <value>
                            <string>{this.blogid}</string>
                          </value>
                        </param>
                        <param>
                          <value>
                            <string>{this.username}</string>
                          </value>
                        </param>
                        <param>
                          <value>
                            <string>{this.password}</string>
                          </value>
                        </param>
                        <param>
                          <value>
                            <struct>
                              <member>
                                <name>title</name>
                                <value>
                                  <string>{title}</string>
                                </value>
                              </member>
                              <member>
                                <name>description</name>
                                <value>
                                  <string>{desc}</string>
                                </value>
                              </member>
                              <member>
                                <name>mt_keywords</name>
                                <value>
                                  <string>{tags}</string>
                                </value>
                              </member>
                              <member>
                                <name>mt_allow_comments</name>
                                <value>
                                  <boolean>1</boolean>
                                </value>
                              </member>
                            </struct>
                          </value>
                        </param>
                        <param>
                          <value>
                            <boolean>1</boolean>
                          </value>
                        </param>
                      </params>
                    </methodCall>;
        return repuest.toString();
    }
}
/* init メタ情報を使って投稿先決める*/
var t = new XMLRPC(metaBlog);
t.post(
    "title",
    "description",
    ["tag1","tag2"],
    function(res){//callback
        console.log(res);
    }
);

ブログのエンドポイントURLは各ブログによってまちまちですが、Wordpressだと*http://WordPressトップ/xmlrpc.php
*
になります。

E4Xを使ってポストするXMLを作成していますが、先頭に<?xml version=”1.0″?>を入れるとなぜかエラーになったので、後で結合するようにしました。
後、XMLRPCを使ってWordpressにタグを指定できるのかを検索した時、下のようにできないというのが出てきましたが、mt_keywordsにタグを指定できます。
なので下の情報は古いか間違っています。

WordPressでXML-RPCを使った投稿で、記事にタグの指定はできるのでしょうか。できるようでしたらやり方を書いたページを教えてください。.. – 人力検索はてな

WordPressでは,で区切る事でタグを複数指定できます。
カテゴリーは面倒だったので放置してます(誰か…)

記載したソースは自由に使用してください。
gist: 224968 – GitHub

参考

肉少なめ | Item – Greasemonkeyでブログを更新 : http://niku.suku.name/item/591

MovableType で使える XML-RPC API : http://www.na.rim.or.jp/~tsupo/program/blogTool/mt_xmlRpc.html#w01

XML-RPC経由の投稿 でタグを登録したい « Selflow WordPress : http://www.selflow.com/?p=6

追記 完全に自分用になってますがこれを使ったものを作ってみた。

NicoMylist poster with XML-RPC for Greasemonkey : http://userscripts.org/scripts/show/64569

ニコニコのマイリストからWordpressへポストするGreasemonkey。
上記では実現できてなかったカテゴリーの指定もできるようになりました。

WordPressのcategoriesは複数なので、XML-RPCからポストする場合もArrayで要素を作らないといけなかったようです。
XML部分だけを取り出したもの→gist: 398599 – GitHub

MetaWeblogAPI metaWeblog.newPost メソッド : http://msdn.microsoft.com/ja-jp/library/aa905673.aspx

juust ~ php oddities » metaWeblog.newPost posting to WordPress from Word : http://www.juust.org/index.php/metaweblog-newpost-posting-to-wordpress-from-word/2009/10/