fortnox について
Fortnox MCP サーバーは、スウェーデンの会計システム Fortnox の API に LLM を接続するサーバーです。請求書、顧客、仕入先、受注、勘定科目、伝票の管理に加え、経営分析にも対応します。リモートモードはブラウザでの認可のみで利用でき、ローカルモードでは自社の Fortnox アプリ認証情報を使ってセルフホストできます。
主な機能
- 01顧客、請求書、仕入先、伝票などの主要オブジェクトを網羅
- 02請求書の記帳、取消、貸方票の作成
- 03買掛金の年齢分析と未払い請求書のレポート
- 04キャッシュフロー予測と販売ファネルの分析ツール
- 05Fortnox API に合わせた組み込みのレート制限
活用シーン
- 01LLM に未払い請求書の一覧と督促文の作成を依頼
- 02自然言語による顧客請求書や手動伝票の作成
- 03期間ごとの売上、粗利率、経費の比較
- 04仕入先請求書の承認状況と買掛金の確認
MCP 対応
本サーバーはリモート MCP サーバーとして Claude に追加できるほか、stdio や HTTP でローカル実行もでき、Fortnox 関連のツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y fortnox-mcp-serverFORTNOX_CLIENT_IDシークレットYour Fortnox app client ID from developer.fortnox.seFORTNOX_CLIENT_SECRETシークレットYour Fortnox app client secretFORTNOX_REFRESH_TOKENシークレットOAuth2 refresh token obtained from Fortnox authorization flowローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
28掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| page | integer | いいえ | ページ分割のページ番号 |
| limit | integer | いいえ | 返す結果の最大数(1-100) |
| filter | enum | いいえ | 顧客ステータスで絞り込みますactive | inactive |
| search_name | string | いいえ | 名前で顧客を検索します(部分一致) |
| customer_number | string | いいえ | 指定した顧客番号で絞り込みます |
| response_format | enum | いいえ | 出力形式:'markdown' または 'json'markdown | json |
| organisation_number | string | いいえ | 組織番号で絞り込みます |
詳細
Fortnox MCP Server
Fortnox のスウェーデン会計システムと連携する MCP(Model Context Protocol)サーバーです。このサーバーを使うと、LLM が Fortnox と連携して請求書、顧客、仕入先、注文、勘定科目、伝票を管理できるほか、ビジネスインテリジェンス分析も利用できます。
2 つの利用方法
| モード | 最適な利用者 | セットアップ |
|---|---|---|
| リモートモード | エンドユーザー | URL を追加して、ブラウザーで認証するだけです |
| ローカルモード | 開発者、セルフホストする方 | 環境変数を設定します |
クイックスタート:リモートモード(推奨)
Fortnox MCP を最も簡単に利用できる方法です。認証情報は不要で、ブラウザーで認証するだけです。
オプション A:Claude.ai(Web)に追加する
- claude.ai にアクセスします
- 設定 → インテグレーション → インテグレーションを追加 に移動します
- URL を入力します:
https://fortnox-mcp.vercel.app/mcp - 読み込みが完了するまで待ち、接続をクリックしてアクセスを許可します
オプション B:Claude Desktop に追加する
Claude Desktop の設定ファイルを開きます:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
次の設定を追加します:
{
"mcpServers": {
"fortnox": {
"url": "https://fortnox-mcp.vercel.app/mcp"
}
}
}
Claude Desktop を再起動します。Fortnox で何かするよう Claude に初めて依頼すると、Fortnox アカウントへのアクセスを許可するためのブラウザーウィンドウが開きます。認証が完了すれば、準備完了です!
クイックスタート:ローカルモード(セルフホスト)
サーバーをローカルで実行したい開発者や、自分の Fortnox アプリの認証情報を使いたい方に適しています。
1. Fortnox の認証情報を取得する
- Fortnox Developer Portal に登録します
- アプリケーションを作成して、Client ID と Client Secret を取得します
- OAuth2 フローを完了して、Refresh Token を取得します
2. Claude Desktop に追加する
Claude Desktop の設定ファイルを開きます:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
次の設定を追加します:
{
"mcpServers": {
"fortnox": {
"command": "npx",
"args": ["-y", "fortnox-mcp-server"],
"env": {
"FORTNOX_CLIENT_ID": "your-client-id",
"FORTNOX_CLIENT_SECRET": "your-client-secret",
"FORTNOX_REFRESH_TOKEN": "your-refresh-token"
}
}
}
}
3. Claude Desktop を再起動する
これで完了です!Claude に依頼して、Fortnox の請求書、顧客などを管理できるようになります。
機能
顧客管理
fortnox_list_customers- 顧客の一覧表示と検索fortnox_get_customer- 顧客の詳細を取得fortnox_create_customer- 新しい顧客を作成fortnox_update_customer- 顧客を更新fortnox_delete_customer- 顧客を削除
請求書管理
fortnox_list_invoices- 絞り込み条件を指定して請求書を一覧表示fortnox_get_invoice- 明細項目を含む請求書の詳細を取得fortnox_create_invoice- 新しい請求書を作成fortnox_update_invoice- 下書きの請求書を更新fortnox_bookkeep_invoice- 請求書を記帳fortnox_cancel_invoice- 請求書をキャンセルfortnox_credit_invoice- クレジットノートを作成fortnox_send_invoice_email- 請求書をメールで送信
仕入先管理
fortnox_list_suppliers- 仕入先の一覧表示と検索fortnox_get_supplier- 仕入先の詳細を取得fortnox_create_supplier- 新しい仕入先を作成fortnox_update_supplier- 仕入先を更新fortnox_delete_supplier- 仕入先を削除
仕入先請求書管理
fortnox_list_supplier_invoices- 絞り込み条件を指定して仕入先請求書を一覧表示fortnox_get_supplier_invoice- 仕入先請求書の詳細を取得fortnox_approve_supplier_invoice- 支払いに向けて仕入先請求書を承認fortnox_payables_report- 買掛金の年齢分析レポートを取得
注文管理
fortnox_list_orders- 絞り込み条件を指定して販売注文を一覧表示fortnox_list_offers- 絞り込み条件を指定してオファー/見積もりを一覧表示
勘定科目管理
fortnox_list_accounts- 勘定科目一覧を表示fortnox_get_account- 勘定科目の詳細を取得fortnox_create_account- 新しい勘定科目を作成fortnox_update_account- 勘定科目を更新fortnox_delete_account- 勘定科目を削除
伝票管理
fortnox_list_vouchers- 伝票(仕訳)を一覧表示しますfortnox_get_voucher- 明細行を含む伝票の詳細を取得しますfortnox_create_voucher- 手動伝票を作成しますfortnox_list_voucher_series- 利用可能な伝票シリーズを一覧表示しますfortnox_account_activity- 特定の勘定科目の取引状況を取得しますfortnox_search_vouchers- 説明、勘定科目、または金額で伝票を検索します
会社情報
fortnox_get_company_info- 会社の詳細を取得しますfortnox_list_financial_years- 会社の会計年度を一覧表示します
分析
fortnox_invoice_summary- 期間別の請求書統計を取得しますfortnox_top_customers- 売上高上位の顧客を取得しますfortnox_unpaid_report- 未払い請求書の詳細レポートを取得します
ビジネスインテリジェンス
fortnox_cash_flow_forecast- 請求書と買掛金に基づいてキャッシュフローを予測しますfortnox_order_pipeline- 受注パイプラインを分析しますfortnox_sales_funnel- 見積もりから請求書までの販売ファネルを分析しますfortnox_product_performance- 商品/品目の実績を分析しますfortnox_period_comparison- 期間ごとの財務指標を比較しますfortnox_customer_growth- 顧客の獲得と成長を分析しますfortnox_project_profitability- プロジェクトの収益性を分析します(プロジェクトを利用している場合)fortnox_cost_center_analysis- コストセンター別にコストを分析しますfortnox_expense_analysis- カテゴリ別に経費を分析しますfortnox_yearly_comparison- 前年比の実績を比較しますfortnox_gross_margin_trend- 粗利益率の推移を追跡します
インストール
npx 経由(推奨)
インストールは不要です。上記の設定を Claude Desktop に追加するだけです。
手動インストール
npm install -g fortnox-mcp-server
ソースからインストール
git clone https://github.com/jakobwennberg/fortnox-mcp.git
cd fortnox-mcp
npm install
npm run build
設定
環境変数
ローカルモード(デフォルト)
| 変数 | 必須 | 説明 |
|---|---|---|
FORTNOX_CLIENT_ID | はい | Fortnox アプリのクライアント ID |
FORTNOX_CLIENT_SECRET | はい | Fortnox アプリのクライアントシークレット |
FORTNOX_REFRESH_TOKEN | はい | OAuth2 リフレッシュトークン(初回設定時のみ必要です。初回使用後は自動的に保存されます) |
FORTNOX_ACCESS_TOKEN | いいえ | 現在のアクセストークン(自動更新) |
TRANSPORT | いいえ | stdio(デフォルト)または http |
PORT | いいえ | HTTP ポート(デフォルト:3000) |
リモートモード(AUTH_MODE=remote)
| 変数 | 必須 | 説明 |
|---|---|---|
AUTH_MODE | はい | remote に設定します |
SERVER_URL | はい | サーバーの公開 URL |
JWT_SECRET | はい | JWT トークンの署名に使用するシークレット |
FORTNOX_CLIENT_ID | はい | Fortnox アプリのクライアント ID |
FORTNOX_CLIENT_SECRET | はい | Fortnox アプリのクライアントシークレット |
UPSTASH_REDIS_REST_URL | はい* | トークン保存用の Upstash Redis URL |
UPSTASH_REDIS_REST_TOKEN | はい* | Upstash Redis トークン |
PORT | いいえ | HTTP ポート(デフォルト:3000) |
*指定されていない場合はインメモリストレージにフォールバックします(本番環境での使用は推奨されません)。
OAuth 認証情報の取得
- Fortnox Developer Portal で開発者として登録します
- 新しいアプリケーションを作成し、Client ID と Client Secret を取得します
- OAuth2 認可フローを完了して、リフレッシュトークンを取得します
- 環境変数を設定します
使用方法
Claude Desktop で使用する場合
上記のクイックスタートを参照してください。
HTTP サーバーとして使用する場合
TRANSPORT=http PORT=3000 node dist/index.js
その後、http://localhost:3000/mcp に接続します。
ツールの使用例
未払い請求書の一覧表示
{
"tool": "fortnox_list_invoices",
"arguments": {
"filter": "unpaid",
"limit": 20
}
}
請求書の作成
{
"tool": "fortnox_create_invoice",
"arguments": {
"customer_number": "1001",
"rows": [
{
"description": "Consulting services",
"quantity": 10,
"price": 1000
}
]
}
}
伝票の作成
{
"tool": "fortnox_create_voucher",
"arguments": {
"voucher_series": "A",
"description": "Office supplies",
"transaction_date": "2025-01-24",
"rows": [
{ "account_number": 6110, "debit": 500 },
{ "account_number": 1910, "credit": 500 }
]
}
}
レート制限
Fortnox API では、5 秒あたり 25 件のリクエストが許可されています。このサーバーには、制限を超過しないよう自動レート制限機能が組み込まれています。
開発
# Run in development mode with auto-reload
npm run dev
# Build for production
npm run build
# Clean build artifacts
npm run clean
公開と配布
このサーバーは、簡単にインストールできるよう複数のレジストリで公開されています。
| レジストリ | URL | 用途 |
|---|---|---|
| npm | npmjs.com/package/fortnox-mcp-server | npx によるパッケージ配布 |
| MCP Registry | registry.modelcontextprotocol.io | MCP サーバーの公式ディスカバリー |
| GitHub | github.com/jakobwennberg/fortnox-mcp | ソースコード |
動作の仕組み
- ユーザーが設定を追加し、Claude Desktop に
npx fortnox-mcp-serverを指定します - Claude Desktop が npx 経由でサーバーを起動します(npm から最新バージョンをダウンロードします)
- サーバーが認証を行います。環境変数の OAuth2 認証情報を使用して Fortnox に接続します
- Claude がツールを使用できるようになります。たとえば、
fortnox_list_invoices、fortnox_create_customerなどです - サーバーが Fortnox への API 呼び出しを処理します。トークンの自動更新とレート制限も含まれます
トークンの永続化(ローカルモード)
Fortnox のリフレッシュトークンは使い捨てです。トークンを更新するたびに新しいトークンが返されます。サーバーは最新のリフレッシュトークンを ~/.fortnox-mcp/tokens.json に自動的に永続化するため、手動で設定を更新しなくても、プロセスの再起動後も使用できます。
- 初回起動時、サーバーは環境変数または設定から
FORTNOX_REFRESH_TOKENを読み込みます - トークンの更新後、新しいリフレッシュトークンが
~/.fortnox-mcp/tokens.jsonに保存されます - 以降の再起動では、永続化されたトークン(常に最新のもの)が使用されます
- 永続化されたファイルが存在しない場合や破損している場合、サーバーは環境変数にフォールバックします
セキュリティのため、トークンファイルは制限付き権限(0600)で作成されます。
新しいバージョンのリリース
新しいバージョンをリリースするには、リリーススクリプトを使用します。
# Bug fixes (1.0.0 → 1.0.1)
npm run release:patch
# New features (1.0.0 → 1.1.0)
npm run release:minor
# Breaking changes (1.0.0 → 2.0.0)
npm run release:major
リリーススクリプトは次の処理を自動的に行います。
package.jsonのバージョンを更新します- MCP Registry 向けに
server.jsonを更新します - プロジェクトをビルドします
- リリースをコミットしてタグ付けします
- npm に公開します
- MCP Registry に公開します
- GitHub にプッシュします
リリースの前提条件:
npm login- npm にログイン済みであることmcp-publisher login github- MCP Registry にログイン済みであること- Git の作業ディレクトリがクリーンであること
ユーザーは自動的に更新を受け取ります
新しいバージョンを公開すると、npx -y fortnox-mcp-server を実行しているユーザーは、次回 Claude Desktop を再起動したときに自動的に最新バージョンを取得します。
独自のリモートサーバーをデプロイする
Fortnox MCP サーバーの独自インスタンスをホストしたい場合は、以下の手順に従ってください。
Vercel にデプロイする
1. 前提条件
- Vercel アカウント
- Upstash Redis データベース(トークンの保存用)
- アプリが作成済みの Fortnox Developer アカウント
2. 環境変数を設定する
Vercel プロジェクトの設定で、次の環境変数を追加します。
| 変数 | 説明 |
|---|---|
AUTH_MODE | remote に設定します |
SERVER_URL | Vercel のデプロイ URL(例:https://your-app.vercel.app) |
JWT_SECRET | トークンへの署名に使用するランダムなシークレット文字列(openssl rand -hex 32 で生成します) |
FORTNOX_CLIENT_ID | Fortnox アプリのクライアント ID |
FORTNOX_CLIENT_SECRET | Fortnox アプリのクライアントシークレット |
UPSTASH_REDIS_REST_URL | Upstash Redis の REST URL |
UPSTASH_REDIS_REST_TOKEN | Upstash Redis の REST トークン |
3. Fortnox の OAuth コールバックを設定する
Fortnox アプリの設定に、次のリダイレクト URI を追加します。
https://your-app.vercel.app/oauth/fortnox/callback
4. デプロイする
vercel --prod
サーバーエンドポイント
| エンドポイント | 説明 |
|---|---|
GET /health | ヘルスチェック |
GET /.well-known/oauth-authorization-server | OAuth メタデータ |
POST /authorize | OAuth フローを開始 |
POST /token | コードをトークンと交換 |
GET /oauth/fortnox/callback | Fortnox OAuth コールバック |
POST /mcp | 保護された MCP エンドポイント |
アーキテクチャ
┌─────────────────────────────────────────────────────────────┐
│ fortnox-mcp-server │
├─────────────────────────────────────────────────────────────┤
│ Mode: AUTH_MODE=local | remote │
├─────────────────────────────────────────────────────────────┤
│ │
│ LOCAL MODE REMOTE MODE │
│ ─────────── ─────────── │
│ • Env var tokens • OAuth flow │
│ • Single user • Multi-user │
│ • stdio or HTTP • HTTP only │
│ • Auto-persisted tokens • Token storage (Redis) │
│ (~/.fortnox-mcp/) │
│ │
└─────────────────────────────────────────────────────────────┘
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。