Claudeジョブカン連携 — 非公式MCPサーバーの導入手順
ジョブカン経費精算/ワークフローに公式MCPは無く、コミュニティ製サーバーで接続します。導入手順とできないことをまとめました。
ジョブカンには公式MCPサーバーが無い
ジョブカン経費精算/ワークフロー(workflow.jobcan.ne.jp)には、公式のMCPサーバーが提供されていません。Claudeから使うには、コミュニティが開発した非公式コネクタを使う必要があります。
本記事で扱うのはmcp-jpという日本のSMB向けSaaSコネクタ集に含まれるjobcan-workflowです。Anthropic公式でもジョブカン公式でもない、第三者が公開しているOSSです。導入は自己責任になりますが、ソースコードが公開されているため何をしているかを自分で確認できます。公式のコネクタが用意されているサービスも同じコレクションに含まれますが、そちらは対象外です。
対象はあくまでジョブカン経費精算/ワークフローです。ジョブカン勤怠管理など同じ「ジョブカン」ブランドの別製品はAPIが異なるため、この手順の対象外です。導入前に、自分の会社がどのジョブカン製品を契約しているかを確認しておくと迷いません。同じ人事労務領域でSmartHRの従業員データをClaudeに任せる場合は、SmartHR従業員データをClaudeで確認・更新する人事効率化で入退社対応や部署異動をどこまで自動化できるかを扱っています。
前提: このコネクタでできること・できないこと
接続する前に、できることの範囲を把握しておきます。jobcan-workflowはすべて読み取り専用(GET)のツールのみを実装しており、書き込み系の操作は一切ありません。
| 種別 | 内容 |
|---|---|
| できる | 内容申請書一覧・詳細、フォーム一覧、ユーザー・部署・役職・プロジェクト・取引先・汎用マスタの参照 |
| できない | 内容申請の承認・却下・差し戻し、新規申請の作成、各種マスタの作成・更新・削除 |
承認・却下ができないのは実装が意図的に見送っているからではなく、ジョブカン経費精算/ワークフローAPI自体にそれらのエンドポイントが存在しないためです。承認操作は今後もWeb画面でのみ行うことになります。
一方でマスタ側は事情が違います。プロジェクト作成(POST /v1/projects/)やグループ更新(PUT /v1/groups/{group_code}/)、ユーザー無効化(DELETE /v1/users/{user_code}/)といった書き込みエンドポイントはAPI自体には存在します。jobcan-workflowはこれらを実装していません。データの上書き・削除や、べき等でない新規作成による誤操作のリスクを避けるための判断です。マスタを編集したいときはジョブカンのWeb管理画面を使います。
ステップ1: APIトークンを発行する
ジョブカン経費精算/ワークフローの管理者画面で、APIトークンを発行します。
APIトークンの発行手順
- ジョブカン経費精算/ワークフローに管理者としてログインする
- 管理者画面の「共通ID連携・API管理」タブを開く
- 「認証コード発行」画面で「発行する」をクリックする
発行したトークンは環境変数JOBCAN_API_TOKENとしてコネクタに渡します。レート制限はトークン1つあたり1時間5,000リクエストです。通常の利用でこの上限に触れることはまずありませんが、超過するとHTTP 429相当のエラーが返ります。一覧系のツールを大量のページにわたって連続取得するような使い方をすると発生しうるため、エラーが出たら少し時間を置いてから再試行します。
ステップ2: コネクタをインストールする
jobcan-workflowはPython製で、リポジトリごとクローンしてインストールします。npm経由の一発インストールコマンドは無いため、手元でセットアップする作業が発生します。
git clone https://github.com/mediiiiium/mcp-jp.git
cd mcp-jp/jobcan-workflow
pip install -e .インストールが終わるとjobcan-workflow-mcpという実行コマンドが使えるようになります。次のステップのClaude Code・Claude Desktopどちらの設定でも、起動コマンドとしてこの名前をそのまま指定します。
ステップ3: Claude Codeに接続する
jobcan-workflowはローカルで動くstdioサーバーです。この形式が使えるのはClaude CodeとClaude Desktopで、claude.aiのカスタムコネクタ機能はリモートのHTTP/SSEエンドポイントを前提にしているため、この形のサーバーは登録できません。まずはClaude Codeでの追加方法です。
claude mcp add --env JOBCAN_API_TOKEN=your_api_token_here --scope user jobcan-workflow -- jobcan-workflow-mcp--scope userにしているのは、APIトークンをプロジェクトの.mcp.jsonに書いて誤ってGit管理下に入れてしまう事故を避けるためです。個人の認証情報が絡むMCPサーバーは、ローカルスコープかユーザースコープで登録するのが基本です。Claude Codeのclaude mcp add構文とスコープの違いはClaude Code MCP設定ガイドにまとめています。
Claude Desktopで使う場合は、設定ファイルに次のブロックを追加します。
{
"mcpServers": {
"jobcan-workflow": {
"command": "jobcan-workflow-mcp",
"env": {
"JOBCAN_API_TOKEN": "your_api_token_here"
}
}
}
}接続できたか確認するには、Claudeに「APIトークンがちゃんと使えるか確認して」と話しかけます。validate_tokenツールが呼ばれ、成功か失敗かがすぐに分かります。
使えるツール一覧
list_requestsとget_requestが申請書、それ以外はマスタ情報の参照です。絞り込みができるのはlist_requestsとlist_formsだけで、ユーザー・部署・役職・プロジェクト・取引先の一覧はページ番号以外の絞り込みパラメータに対応していません。
| ツール | 取得できる情報 |
|---|---|
list_requests | 取得できる情報申請書一覧(ステータス・申請者・部署・日付範囲などで絞り込み可) |
get_request | 取得できる情報申請書1件の詳細 |
list_forms | 取得できる情報申請フォーム(様式)一覧 |
list_users / get_user | 取得できる情報ユーザー一覧・詳細(承認権限・所属・振込口座など) |
list_groups / list_positions / list_projects | 取得できる情報部署・役職・プロジェクトの一覧 |
list_companies / get_company | 取得できる情報取引先一覧・詳細 |
get_generic_master | 取得できる情報費目・勘定科目などの汎用マスタ |
validate_token | 取得できる情報APIトークンの接続テスト |
list_formsは種別・精算種別・名前・公開範囲でフォームを絞り込め、list_requestsに渡すform_idを調べる起点として使えます。経費精算のフォームが複数ある会社では、まずlist_formsで使えるフォームを確認してから申請の絞り込みに進むと迷いません。get_userは承認権限・所属・役職に加えて振込口座も返し、get_companyは取引先の振込先口座やインボイス登録番号まで取得できます。経理担当者が振込先の確認作業を任せる場面でも使えます。
list_groupsとlist_projectsも同じ役割を持ちます。list_requestsで使うgroup_codeやproject_codeが分からないとき、まずこれらの一覧を呼んでコードを確認してから絞り込みに進む流れです。list_positionsは役職の一覧だけで、他ツールのパラメータを調べる起点にはなりません。
get_generic_masterは費目や勘定科目のような、会社ごとに独自定義したマスタの中身を確認するツールです。「交通費の費目コードを教えて」のように話しかければ、対応するマスタコードのレコードを返します。ただしコードそのものの一覧を取得するエンドポイントはAPIに存在しないため、コードの見当が付かないときはジョブカンの管理画面を先に確認する必要があります。
具体的な申請状況の追い方はジョブカン経費精算Claudeで申請・承認状況を確認する方法で扱っています。
一覧系のツールはすべて共通のページネーション方式を使います。1ページ100件固定で、レスポンスのnextフィールドがnullでなければ次のページが存在します。件数が多い部署のデータを扱うときは、Claudeに「次のページも見て」と続けて依頼すれば、Claude側がページ番号を1つずつ増やして取得を続けます。
よくあるつまずき
claude.aiのConnectorsに追加しようとして見つからない: jobcan-workflowはローカルで動くstdioサーバーです。claude.aiのカスタムコネクタはリモートサーバー専用のため、この形式のまま追加することはできません。Claude CodeかClaude Desktopで使ってください。
--scopeを指定せずローカルスコープのまま使い続けてしまう: 既定ではプロジェクトのみで有効なローカルスコープになります。複数のプロジェクトで使うなら--scope userを、チームで共有するなら.mcp.jsonではなく各自のユーザースコープを検討してください(トークンをコミットしないため)。
get_requestが将来動かなくなる可能性がある: β版APIドキュメントには申請書1件を取得する単体エンドポイントが明記されておらず、コネクタの実装側が独自に維持している状態です。仕様変更で動かなくなった場合はlist_requestsをid指定で呼び出す方法に切り替えられます。
日付の絞り込みが効かない: list_requestsの日付パラメータはyyyy/mm/dd形式で指定する必要があります。ハイフン区切りのYYYY-MM-DDでは絞り込めません。
よくある質問
ジョブカン勤怠管理でも同じ手順が使えますか
使えません。jobcan-workflowが対応するのはジョブカン経費精算/ワークフローのAPIのみです。勤怠管理は別サービス・別APIのため、このコネクタでは接続できません。同じ「ジョブカン」ブランドでも製品ごとに別物と考えてください。
承認や却下をClaudeにやらせることはできますか
できません。ジョブカン経費精算/ワークフローAPIには承認・却下・差し戻しのエンドポイントが存在せず、これらの操作はWeb画面でのみ可能です。jobcan-workflowは申請の閲覧に対応するだけです。
汎用マスタのコード一覧を取得できますか
get_generic_masterで個別のマスタコードの中身は取得できますが、「どんなマスタコードが存在するか」を一覧できるエンドポイントはAPIに存在しません。費目や勘定科目のコードは、ジョブカンの「汎用マスタ」画面で先に確認しておく必要があります。
β版APIというのはどういう意味ですか
ジョブカンが公開しているAPIドキュメント自体が「β版」の扱いで、仕様が予告なく変更される可能性があります。本番運用に組み込む前に、想定どおりの結果が返るか一度確認しておくと安心です。
まとめ
ジョブカン経費精算/ワークフローには公式MCPサーバーが無く、コミュニティ製のjobcan-workflowで接続します。読み取り専用の12ツールで申請・マスタ情報を参照できますが、承認・却下やマスタ編集はできません。ローカルのstdioサーバーのため、使えるのはClaude CodeとClaude Desktopに限られます。
導入自体はAPIトークンの発行とコマンド1つで終わりますが、β版APIという性質上、想定どおりの結果が返るかは自分の環境で一度確認してから業務フローに組み込むのが安全です。
SmartHR・kintoneなど他の人事労務SaaSとの連携方法や、どこまで自社製・非公式かの違いを横断的に比較したい場合は、Claude人事労務連携ガイド — SmartHR・ジョブカン・kintoneにまとめています。