Zaim API
Una plantilla de servidor para interactuar con APIs que requieren una clave de API, usando la API de Zaim como ejemplo.
GitHub
8
Prueba este MCPPatrocinadoDocumentación
Servidor MCP de la API de Zaim
Este es un servidor MCP (Protocolo de Contexto de Modelo) que permite la integración con la API de Zaim. Utiliza autenticación OAuth 1.0a para recuperar y manipular los datos de contabilidad personal de Zaim.
Características
- Integración completa con la API de Zaim (OAuth 1.0a)
- Conjunto integral de 14 herramientas
- Recuperación, creación, actualización y eliminación de datos de contabilidad personal
- Recuperación de datos maestros (categorías, géneros, cuentas, monedas)
- Implementación tipada y segura basada en TypeScript
- Validación estricta mediante esquemas Zod
- Cobertura integral de pruebas (128 pruebas)
- Soporte para Docker
Herramientas implementadas
Autenticación e información del usuario
zaim_check_auth_status- Verificación del estado de autenticaciónzaim_get_user_info- Recuperación de información del usuario
Operaciones con datos de contabilidad personal
zaim_get_money_records- Recuperación de registros de contabilidad personal (con filtrado y paginación)zaim_create_payment- Creación de registros de gastoszaim_create_income- Creación de registros de ingresoszaim_create_transfer- Creación de registros de transferenciaszaim_update_money_record- Actualización de registros existenteszaim_delete_money_record- Eliminación de registros
Recuperación de datos maestros
zaim_get_user_categories- Lista de categorías del usuariozaim_get_user_genres- Lista de géneros del usuariozaim_get_user_accounts- Lista de cuentas del usuariozaim_get_default_categories- Lista de categorías predeterminadaszaim_get_default_genres- Lista de géneros predeterminadoszaim_get_currencies- Lista de monedas disponibles
Requisitos
- Docker (recomendado)
- Node.js 22+ (para desarrollo local)
- Credenciales de autenticación OAuth de la API de Zaim
- Clave de consumidor
- Secreto de consumidor
- Token de acceso
- Secreto del token de acceso
Configuración de variables de entorno
# 必須: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
Instalación
Uso con Docker (recomendado)
# リポジトリをクローン
git clone https://github.com/yone-k/zaim-api-mcp.git
cd zaim-api-mcp
# Dockerイメージをビルド
docker build -t zaim-api-mcp .
Desarrollo local
# 依存関係をインストール
npm install
# 開発モードで開始
npm run dev
# テスト実行
npm test
# ビルド
npm run build
Configuración de Claude Desktop
1. Ubicación del archivo de configuración
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
2. Configuración de Docker (recomendado)
{
"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. Configuración de compilación local
{
"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"
}
}
}
}
Ejemplos de uso
Verificación del estado de autenticación
zaim_check_auth_status を使って認証が正しく設定されているか確認してください
Recuperación de datos de contabilidad personal
zaim_get_money_records を使って、2024年1月の支出記録を取得してください
Registro de gastos
zaim_create_payment を使って、本日1,500円の昼食代を食費カテゴリで記録してください
Recuperación de la lista de categorías
zaim_get_user_categories を使って利用可能なカテゴリ一覧を表示してください
Configuración de la API
Se puede configurar en detalle con config/zaim-config.json:
- Configuración de tiempo de espera de la API
- Configuración de límite de velocidad
- Configuración de caché
- Configuración del nivel de registro
Estructura del proyecto
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設定
Guía de desarrollo
Flujo de trabajo con Git
- Crear una rama para cada funcionalidad
- Implementar con TDD (desarrollo guiado por pruebas)
- Confirmar que todas las pruebas pasen
- Crear una solicitud de extracción
Convenciones para mensajes de confirmación
feat: 新機能の追加
fix: バグ修正
docs: ドキュメントの変更
refactor: リファクタリング
test: テストの追加・修正
chore: ビルドプロセスやツールの変更
Scripts disponibles
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起動
Solución de problemas
Errores de autenticación
- Verificar que las variables de entorno estén configuradas correctamente
- Verificar la configuración de la aplicación en el sitio de desarrolladores de Zaim
- Verificar la fecha de vencimiento del token de acceso
Problemas relacionados con Docker
- Verificar que el demonio de Docker esté en ejecución
- Verificar que las variables de entorno se pasen correctamente
- Verificar los mensajes de error detallados en los registros
Contribuciones
- Hacer un fork del repositorio
- Crear una rama de funcionalidad (
git checkout -b feat/amazing-feature) - Confirmar los cambios (
git commit -m 'feat: 素晴らしい機能を追加') - Enviar la rama (
git push origin feat/amazing-feature) - Crear una solicitud de extracción
Licencia
Licencia MIT: consulte el archivo LICENCIA para obtener más detalles.