mf - MoneyForward会計 CLI

マネーフォワード クラウド会計のAPIを操作するコマンドラインツールです。
Note: リポジトリ名は mf-cli ですが、インストールされるバイナリ名は mf です。
特徴
- OAuth 2.0 + PKCE による認証
- 仕訳帳・勘定科目・取引先・部門・税区分などのCRUD操作
- 試算表・推移表などの財務レポート取得
- JSON / テーブル形式での出力切替
--dry-run による安全な事前確認
--fields によるJSONフィールドフィルタリング
- 組み込みOpenAPIスキーマブラウザ(
mf describe)
- AIエージェントとの連携に最適化されたJSON出力
インストール
go install
go install github.com/beatinaniwa/mf-cli@latest
バイナリダウンロード
GitHub Releases から各プラットフォーム向けのバイナリをダウンロードできます。
対応プラットフォーム: Linux / macOS / Windows(amd64 / arm64)
ソースからビルド
git clone https://github.com/beatinaniwa/mf-cli.git
cd mf-cli
make build # ./mf が生成されます
クイックスタート
1. APIクレデンシャルの取得
マネーフォワード クラウド API でアプリケーションを登録し、クライアントIDを取得してください。
リダイレクトURIの登録が必要です:
http://127.0.0.1:8089/callback
MF_AUTH_PORT を変更する場合は、リダイレクトURIのポート番号も合わせて変更してください。
2. 環境変数の設定
export MF_CLIENT_ID=your_client_id
export MF_CLIENT_SECRET=your_client_secret # 公開クライアントの場合は省略可
3. 認証
# ブラウザで認証(デフォルト)
mf auth login
# 書き込み権限も含める場合
mf auth login --scopes all
# ブラウザを使わずに認証(SSHセッション等)
mf auth login --no-browser
# 認証状態の確認
mf auth status
4. 基本的な使い方
# 事業所情報を表示
mf office
# 勘定科目一覧をテーブル形式で表示
mf accounts --format table
# 仕訳帳を取得
mf journals list --start-date 2025-01-01 --end-date 2025-03-31
# 仕訳を新規作成(dry-run で事前確認)
mf journals create --json '{"..."}' --dry-run
# 試算表(P/L)を取得
mf reports trial-balance-pl --fiscal-year 2024
# APIスキーマを確認
mf describe --list # 利用可能なリソース一覧
mf describe journals # journals の詳細
コマンド一覧
| コマンド |
説明 |
テーブル |
dry-run |
--json |
auth login |
OAuth認証 |
|
|
|
auth status |
認証状態表示(JSON) |
|
|
|
auth logout |
トークン削除 |
|
|
|
accounts |
勘定科目一覧 |
o |
|
|
sub-accounts |
補助科目一覧 |
o |
|
|
departments |
部門一覧 |
o |
|
|
taxes |
税区分一覧 |
o |
|
|
connected-accounts |
連携口座一覧 |
o |
|
|
office |
事業所情報 |
o |
|
|
trade-partners list |
取引先一覧 |
o |
|
|
trade-partners create |
取引先作成 |
|
o |
o |
journals list |
仕訳一覧 |
o |
|
|
journals get <ID> |
仕訳詳細 |
|
|
|
journals create |
仕訳作成 |
|
o |
o |
journals update <ID> |
仕訳更新 |
|
o |
o |
journals delete <ID> |
仕訳削除 |
|
o |
|
transactions create |
取引作成 |
|
o |
o |
vouchers create |
証憑作成 |
|
o |
o |
vouchers delete |
証憑削除 |
|
o |
|
reports trial-balance-bs |
試算表(B/S) |
|
|
|
reports trial-balance-pl |
試算表(P/L) |
o |
|
|
reports transition-bs |
推移表(B/S) |
|
|
|
reports transition-pl |
推移表(P/L) |
|
|
|
describe [resource] |
APIスキーマ表示 |
o |
|
|
version |
バージョン表示 |
|
|
|
入出力
出力形式
# JSON出力(デフォルト)
mf accounts
# テーブル出力(対応コマンドのみ)
mf accounts --format table
# 特定フィールドのみ出力(JSONモードのみ有効)
mf accounts --fields id,display_name
# デバッグ出力(HTTPリクエスト/レスポンス詳細)
mf accounts --debug
--fields はJSON出力時のみフィルタリングが適用されます。テーブルモードでは無視されます。
reports trial-balance-pl は --fields 指定時、テーブルの代わりにJSON出力にフォールバックします。
JSON入力
書き込みコマンドでは --json フラグでリクエストボディを指定します。
# 直接指定
mf journals create --json '{"description": "test"}'
# 標準入力から読み込み
cat request.json | mf journals create --json -
dry-run
書き込みコマンドでは --dry-run で実行前にリクエスト内容を確認できます。
mf journals create --json '{"..."}' --dry-run
設定
環境変数
| 変数 |
説明 |
デフォルト |
MF_CLIENT_ID |
OAuthクライアントID |
(必須) |
MF_CLIENT_SECRET |
OAuthクライアントシークレット |
(公開クライアントでは省略可) |
MF_AUTH_PORT |
ローカルコールバックポート |
8089 |
MF_CONFIG_DIR |
設定ディレクトリのパス |
OS依存(下記参照) |
MF_SCOPES |
スペース区切りのスコープリスト |
--scopes フラグより優先 |
環境変数は設定ファイルの値を上書きします。
設定ファイル
設定ファイルの保存場所は XDG Base Directory に準拠します:
| 条件 |
パス |
MF_CONFIG_DIR 設定時 |
$MF_CONFIG_DIR/ |
XDG_CONFIG_HOME 設定時 |
$XDG_CONFIG_HOME/mf-cli/ |
| デフォルト(macOS/Linux) |
~/.config/mf-cli/ |
| デフォルト(Windows) |
%AppData%\mf-cli\ |
config.json
{
"client_id": "your_client_id",
"client_secret": "your_client_secret",
"base_url": "https://api-accounting.moneyforward.com",
"auth_port": 8089
}
token.json
認証トークンは同ディレクトリ内の token.json に自動保存されます。
AIエージェント向け
mf-cli はAIエージェント(Claude Code、Codex等)からの利用に適した設計です。
- リソースコマンド(accounts, journals, reports 等)と
auth status はデフォルトでJSON出力
auth login/logout、version は平文出力
--fields でJSON出力から必要なフィールドのみ抽出可能
--dry-run で安全にリクエスト内容を事前確認
--json - で標準入力からJSONを渡せる
- エラーは構造化JSONとしてstderrに出力
開発
make build # バイナリをビルド
make test # テスト実行(-race付き)
make lint # golangci-lint実行
make coverage # カバレッジレポート
make clean # 成果物を削除
詳細は CONTRIBUTING.md を参照してください。
ライセンス
MIT License