Skip to main content
Glama
yone-k

Zaim API MCP Server

by yone-k

Zaim API MCP Server

English README

Zaim APIとの連携を可能にするMCP (Model Context Protocol) サーバーです。OAuth 1.0a認証を使用してZaimの家計簿データの取得・操作を行います。

特徴

  • Zaim API(OAuth 1.0a)との完全な統合

  • 14個の包括的なツールセット

  • 家計簿データの取得・作成・更新・削除

  • マスターデータ(カテゴリ、ジャンル、口座、通貨)の取得

  • TypeScriptベースの型安全な実装

  • Zodスキーマによる厳密なバリデーション

  • 包括的なテストカバレッジ(128テスト)

  • Dockerサポート

実装済みツール

認証・ユーザー情報

  • zaim_check_auth_status - 認証状態の確認

  • zaim_get_user_info - ユーザー情報の取得

家計簿データ操作

  • zaim_get_money_records - 家計簿記録の取得(フィルタリング・ページネーション対応)

  • zaim_create_payment - 支出記録の作成

  • zaim_create_income - 収入記録の作成

  • zaim_create_transfer - 振替記録の作成

  • zaim_update_money_record - 既存記録の更新

  • zaim_delete_money_record - 記録の削除

マスターデータ取得

  • zaim_get_user_categories - ユーザーカテゴリ一覧

  • zaim_get_user_genres - ユーザージャンル一覧

  • zaim_get_user_accounts - ユーザー口座一覧

  • zaim_get_default_categories - デフォルトカテゴリ一覧

  • zaim_get_default_genres - デフォルトジャンル一覧

  • zaim_get_currencies - 利用可能通貨一覧

要件

  • Docker(推奨)

  • Node.js 22+(ローカル開発時)

  • Zaim APIのOAuth認証情報

    • Consumer Key

    • Consumer Secret

    • Access Token

    • Access Token Secret

環境変数設定

# 必須:Zaim API認証情報 ZAIM_CONSUMER_KEY=your_consumer_key ZAIM_CONSUMER_SECRET=your_consumer_secret ZAIM_ACCESS_TOKEN=your_access_token ZAIM_ACCESS_TOKEN_SECRET=your_access_token_secret

インストール

Dockerを使用(推奨)

# リポジトリをクローン git clone https://github.com/yone-k/zaim-api-mcp.git cd zaim-api-mcp # Dockerイメージをビルド docker build -t zaim-api-mcp .

ローカル開発

# 依存関係をインストール npm install # 開発モードで開始 npm run dev # テスト実行 npm test # ビルド npm run build

Claude Desktop設定

1. 設定ファイルの場所

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

2. Docker設定(推奨)

{ "mcpServers": { "zaim-api": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "ZAIM_CONSUMER_KEY=your_consumer_key", "-e", "ZAIM_CONSUMER_SECRET=your_consumer_secret", "-e", "ZAIM_ACCESS_TOKEN=your_access_token", "-e", "ZAIM_ACCESS_TOKEN_SECRET=your_access_token_secret", "zaim-api-mcp" ] } } }

3. ローカルビルド設定

{ "mcpServers": { "zaim-api": { "command": "node", "args": ["/path/to/zaim-api-mcp/dist/index.js"], "env": { "ZAIM_CONSUMER_KEY": "your_consumer_key", "ZAIM_CONSUMER_SECRET": "your_consumer_secret", "ZAIM_ACCESS_TOKEN": "your_access_token", "ZAIM_ACCESS_TOKEN_SECRET": "your_access_token_secret" } } } }

使用例

認証状態の確認

zaim_check_auth_status を使って認証が正しく設定されているか確認してください

家計簿データの取得

zaim_get_money_records を使って、2024年1月の支出記録を取得してください

支出の記録

zaim_create_payment を使って、本日1,500円の昼食代を食費カテゴリで記録してください

カテゴリ一覧の取得

zaim_get_user_categories を使って利用可能なカテゴリ一覧を表示してください

API設定

config/zaim-config.jsonで詳細な設定が可能です:

  • APIタイムアウト設定

  • レート制限設定

  • キャッシュ設定

  • ログレベル設定

プロジェクト構造

zaim-api-mcp/ ├── src/ │ ├── core/ # MCPサーバーコア機能 │ │ ├── tool-handler.ts │ │ └── zaim-api-client.ts │ ├── tools/ # ツール実装 │ │ ├── auth/ # 認証関連ツール │ │ ├── money/ # 家計簿データツール │ │ ├── master/ # マスターデータツール │ │ └── registry.ts # ツール登録 │ ├── types/ # 型定義 │ ├── utils/ # ユーティリティ │ └── index.ts # エントリーポイント ├── tests/ # テストファイル ├── config/ # 設定ファイル └── docker-compose.yml # Docker設定

開発ガイド

Git ワークフロー

  1. 機能ごとにブランチを作成

  2. TDD(テスト駆動開発)で実装

  3. すべてのテストが通ることを確認

  4. プルリクエストを作成

コミットメッセージ規約

feat: 新機能の追加 fix: バグ修正 docs: ドキュメントの変更 refactor: リファクタリング test: テストの追加・修正 chore: ビルドプロセスやツールの変更

利用可能なスクリプト

npm run build # TypeScriptビルド npm run start # 本番サーバー起動 npm run dev # 開発サーバー起動 npm run lint # ESLint実行 npm run typecheck # 型チェック npm test # テスト実行 npm run test:watch # テスト監視モード npm run test:coverage # カバレッジレポート npm run docker:build # Dockerイメージビルド npm run docker:run # Dockerコンテナ実行 npm run docker:dev # Docker Compose起動

トラブルシューティング

認証エラー

  • 環境変数が正しく設定されているか確認

  • Zaim開発者サイトでアプリケーションの設定を確認

  • アクセストークンの有効期限を確認

Docker関連

  • Dockerデーモンが起動しているか確認

  • 環境変数が正しく渡されているか確認

  • ログで詳細なエラーメッセージを確認

貢献

  1. リポジトリをフォーク

  2. フィーチャーブランチを作成 (git checkout -b feat/amazing-feature)

  3. 変更をコミット (git commit -m 'feat: 素晴らしい機能を追加')

  4. ブランチをプッシュ (git push origin feat/amazing-feature)

  5. プルリクエストを作成

ライセンス

MITライセンス - 詳細はLICENSEファイルを参照してください。

関連リンク

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/yone-k/zaim-api-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server