Integrations
Provides access to QuickBooks Time API functionality through a single interface, including JobCode Tools, Reports & Core Tools, Timesheet Tools, and User Tools. Allows querying and managing various aspects of the QuickBooks Time service.
QuickBooks Time MCP サーバー (V2 アップデート)
これは、単一のインターフェースからすべてのQuickBooks Time API機能にアクセスできる統合MCPサーバーです。4つの独立したサーバーの機能を統合しています。
- ジョブコードツール
- レポートとコアツール
- タイムシートツール
- ユーザーツール
このプロジェクトの改善にご協力いただけると嬉しいです!ようやく何かお返しできることができて嬉しいです!
このプロジェクト全体は、人工知能(Anthropic、OpenAI、Llama/META)を用いて開発・公開されています。私自身、支援なしではコードをほとんど書けないためです。品質と機能性を保証するためにあらゆる努力を払っておりますが、不完全な点や改善の余地があるかもしれません。コミュニティの皆様からのフィードバック、修正、ご提案をお待ちしております。
- 依存関係をインストールします:
- QuickBooks Time アクセス トークンを使用して
.env
ファイルを作成します。
クロードデスクトップ構成
このサーバーをClaude Desktopで使用するには、Claude Desktopの設定で設定する必要があります。設定例を以下に示します。
利用可能なツール
ジョブコードツール
get_jobcodes
: 高度なフィルタリングオプションを使用してジョブコードを取得する- 基本フィルター:
ids
: (数値の配列、オプション) ジョブコードIDのコンマ区切りリストname
: (文字列、オプション) ジョブコード名でフィルタリング、文字列の先頭からのワイルドカード (*) マッチングをサポートactive
: (文字列、オプション) ステータスでフィルタリング: 「はい」、「いいえ」、「両方」(デフォルト: 「はい」)
- タイプと階層フィルター:
type
: (文字列、オプション) タイプでフィルタリング: "regular"、"pto"、"paid_break"、"unpaid_break"、"all" (デフォルト: "regular")parent_ids
: (数値の配列、オプション) 親ジョブコードIDでフィルタリングします。特殊値: 0 (最上位レベルのみ)、-1 (全レベル)
- 追加フィルター:
customfields
: (ブール値、オプション) レスポンスにカスタムフィールドを含めるmodified_before
: (文字列、オプション) 変更日でフィルタリング (ISO 8601 形式)modified_since
: (文字列、オプション) 変更日でフィルタリング (ISO 8601 形式)page
: (数字) ページ番号limit
: (数値) ページあたりの結果数 (最大 200 件)
- 基本フィルター:
get_jobcode
: IDで特定のジョブコードを取得する- 必須パラメータ:
id
: (数値) 取得するジョブコードのID
- 必須パラメータ:
get_jobcode_hierarchy
: 完全なジョブコード階層構造を取得する- パラメータ:
parent_ids
: (数値の配列、オプション) 親IDでフィルタリングします。値: 0 (最上位)、-1 (すべて)、または特定のIDactive
: (文字列、オプション) ステータスでフィルタリング: 「はい」、「いいえ」、「両方」(デフォルト: 「はい」)type
: (文字列、オプション) タイプでフィルタリング: "regular"、"pto"、"paid_break"、"unpaid_break"、"all" (デフォルト: "regular")customfields
: (ブール値、オプション) レスポンスにカスタムフィールドを含める
- パラメータ:
タイムシートツール
get_timesheets
: フィルタリングしてタイムシートを取得する- 必須パラメータ(少なくとも1つ):
ids
: (数値の配列) タイムシートIDのコンマ区切りリストstart_date
: (文字列) この日付以降のタイムシートを返します (YYYY-MM-DD)modified_before
: (文字列) この時間より前に変更されたタイムシートを返します (ISO 8601)modified_since
: (文字列) この時刻以降に変更されたタイムシートを返します (ISO 8601)
- オプションパラメータ:
end_date
: (文字列) この日付以前のタイムシートを返します (YYYY-MM-DD)user_ids
: (数値の配列) 特定のユーザーIDでフィルタリングするgroup_ids
: (数値の配列) 特定のグループIDでフィルタリングするjobcode_ids
: (数値の配列) 特定のジョブコードIDでフィルタリングする(子を含む)payroll_ids
: (数値の配列) 特定の給与IDでフィルタリングon_the_clock
: (文字列) 現在の作業ステータスでフィルタリング: 「yes」、「no」、「both」(デフォルト: 「no」)jobcode_type
: (文字列) タイプでフィルタリング: "regular"、"pto"、"paid_break"、"unpaid_break"、"all" (デフォルト: "all")page
: (数字) ページ番号limit
: (数) ページあたりの結果数
- 必須パラメータ(少なくとも1つ):
get_timesheet
: IDで特定のタイムシートを取得する- 必須パラメータ:
id
: (数値) 取得するタイムシートのID
- 必須パラメータ:
get_current_timesheets
: 現在アクティブなタイムシートを取得する- 必須パラメータ:
on_the_clock
: (文字列) 「yes」に設定する必要があります
- オプションパラメータ:
user_ids
: (数値の配列) 特定のユーザーのアクティブなタイムシートをフィルタリングしますgroup_ids
: (数値の配列) 特定のグループ内のユーザーのアクティブなタイムシートをフィルタリングしますjobcode_ids
: (数値の配列) 特定のジョブコードのアクティブなタイムシートをフィルタリングしますsupplemental_data
: (文字列) 補足データを含める: "yes", "no" (デフォルト: "yes")
- 必須パラメータ:
ユーザーツール
get_users
: フィルタリングしてすべてのユーザーを取得する- ユーザー識別フィルター:
ids
: (数値の配列、オプション) 特定のユーザーIDでフィルタリングnot_ids
: (数値の配列、オプション) 特定のユーザーIDを除外するemployee_numbers
: (数値の配列、オプション) 従業員番号でフィルタリングusernames
: (文字列の配列、オプション) 特定のユーザー名でフィルタリング
- グループフィルター:
group_ids
: (数値の配列、オプション) グループメンバーシップでフィルタリングnot_group_ids
: (数値の配列、オプション) 特定のグループからユーザーを除外する
- ステータスと識別フィルター:
payroll_ids
: (文字列の配列、オプション) 給与識別番号でフィルタリングactive
: (文字列、オプション) ステータスでフィルタリング: 「はい」、「いいえ」、「両方」(デフォルト: 「はい」)
- 名前フィルター:
first_name
: (文字列、オプション) 名でフィルタリング (ワイルドカード * をサポート)last_name
: (文字列、オプション) 姓でフィルタリング (ワイルドカード * をサポート)
- 時間ベースのフィルター:
modified_before
: (文字列、オプション) 変更日でフィルタリング (ISO 8601)modified_since
: (文字列、オプション) 変更日でフィルタリング (ISO 8601)
- ページ番号:
page
: (数値、オプション) ページ番号 (デフォルト: 1)per_page
: (数値、オプション) ページあたりの結果数 (デフォルト: 50、最大: 50)
- ユーザー識別フィルター:
get_user
: IDで特定のユーザーを取得する- 必須パラメータ:
id
: (数値) 取得するユーザーのID
- 必須パラメータ:
get_current_user
: 現在認証されているユーザーを取得する- パラメータは必要ありません
- 以下を含む詳細なユーザー情報を返します:
- 基本的なプロフィール情報
- 会社詳細
- PTO残高
- 権限
- カスタムフィールド
get_groups
: QuickBooks Timeからすべてのグループを取得する- オプションパラメータ:
ids
: (数値の配列) 特定のグループIDでフィルタリングactive
: (文字列) ステータスでフィルタリング: 「はい」、「いいえ」、「両方」(デフォルト: 「はい」)manager_ids
: (数値の配列) マネージャーユーザーIDでグループをフィルタリングするsupplemental_data
: (文字列) 補足データを含める: "yes", "no" (デフォルト: "yes")
- 以下のグループ情報を返します:
- 基本的なグループの詳細
- マネージャーの割り当て
- タイムシート設定
- 時間入力設定
- ブレーク設定
- オプションパラメータ:
プロジェクト管理ツール
get_projects
: フィルタリングしてプロジェクトを取得する- オプションパラメータ:
ids
: (数値の配列) 特定のプロジェクトIDでフィルタリングactive
: (文字列) ステータスでフィルタリング: 「はい」、「いいえ」、「両方」(デフォルト: 「はい」)client_id
: (数値) クライアントIDでフィルタリングjobcode_id
: (数値) 関連するジョブコードIDでフィルタリングmodified_before
: (文字列) 変更日によるフィルタリング (ISO 8601)modified_since
: (文字列) 変更日でフィルタリング (ISO 8601)page
: (数値) ページ番号 (デフォルト: 1)per_page
: (数値) ページあたりの結果数 (デフォルト: 50、最大: 50)
- 以下のプロジェクト情報を返します:
- 基本的なプロジェクトの詳細
- クライアントとジョブコードの関連付け
- 予算情報
- 日付とステータス
- カスタムフィールド
- オプションパラメータ:
get_project_activities
: プロジェクトアクティビティログを取得する- オプションパラメータ:
project_ids
: (数値の配列) 特定のプロジェクトにアクティビティをフィルタリングしますuser_ids
: (数値の配列) 特定のユーザーによるアクティビティのフィルタリングactivity_types
: (文字列の配列) アクティビティの種類でフィルタリング: "status_change", "note_added", "budget_change", "date_change", "custom_field_change"modified_before
: (文字列) 変更日によるフィルタリング (ISO 8601)modified_since
: (文字列) 変更日でフィルタリング (ISO 8601)page
: (数値) ページ番号 (デフォルト: 1)per_page
: (数値) ページあたりの結果数 (デフォルト: 50、最大: 50)
- 以下のアクティビティ情報を返します:
- アクティビティの種類と詳細
- 変更を行ったユーザー
- 古い価値観と新しい価値観
- タイムスタンプ
- オプションパラメータ:
レポートツール
get_current_totals
: シフトと日の合計を含む現在の合計のスナップショットを取得します。- オプションパラメータ:
user_ids
: (数値の配列) 特定のユーザーの合計をフィルタリングしますgroup_ids
: (数値の配列) 特定のグループ内のユーザーの合計をフィルタリングしますjobcode_ids
: (数値の配列) 特定のジョブコードの合計をフィルタリングするcustomfield_query
: (文字列) 次の形式でカスタム フィールド値でフィルターします: <customfield_id>||
- 戻り値:
- アクティブ時間エントリのリアルタイム合計
- 期間と開始時間
- 関連するジョブコードとユーザー情報
- カスタムフィールド値
- オプションパラメータ:
get_payroll
: 給与レポートを取得する- 必須パラメータ:
start_date
: (文字列) 給与期間の開始日 (YYYY-MM-DD)end_date
: (文字列) 給与期間の終了日 (YYYY-MM-DD)
- オプションパラメータ:
user_ids
: (数値の配列) 特定のユーザーの給与をフィルタリングするgroup_ids
: (数値の配列) 特定のグループ内のユーザーの給与をフィルタリングしますinclude_zero_time
: (ブール値) 時間エントリのないユーザーを含める (デフォルト: false)
- 戻り値:
- 種類別の合計時間(通常、残業、倍額、PTO)
- ユーザーごとの日別内訳
- タイムシート数
- 必須パラメータ:
get_payroll_by_jobcode
: ジョブコード別にグループ化された給与レポートを取得する- 必須パラメータ:
start_date
: (文字列) 給与期間の開始日 (YYYY-MM-DD)end_date
: (文字列) 給与期間の終了日 (YYYY-MM-DD)
- オプションパラメータ:
user_ids
: (数値の配列) 特定のユーザーの給与をフィルタリングするgroup_ids
: (数値の配列) 特定のグループ内のユーザーの給与をフィルタリングしますjobcode_ids
: (数値の配列) 特定のジョブコードの給与をフィルタリングするjobcode_type
: (文字列) タイプでフィルタリング: "regular"、"pto"、"paid_break"、"unpaid_break"include_zero_time
: (ブール値) 時間エントリのないジョブコードを含める (デフォルト: false)
- 戻り値:
- ジョブコード別の時間合計
- 各ジョブコード内のユーザー別の内訳
- ジョブコードごとの1日の合計
- 必須パラメータ:
get_project_report
: 時間エントリを含む詳細なプロジェクトレポートを取得します。- 必須パラメータ:
start_date
: (文字列) 開始日(YYYY-MM-DD形式)end_date
: (文字列) 終了日(YYYY-MM-DD形式)
- オプションパラメータ:
user_ids
: (数値の配列) 特定のユーザーによる時間エントリのフィルタリングgroup_ids
: (数値の配列) 特定のグループで時間エントリをフィルタリングしますjobcode_ids
: (数値の配列) 特定のジョブコードで時間エントリをフィルタリングしますjobcode_type
: (文字列) タイプでフィルタリング: "regular"、"pto"、"unpaid_break"、"paid_break"、"all" (デフォルト: "all")customfielditems
: (オブジェクト) 次の形式でカスタムフィールド値でフィルタリングします: {"customfield_id": ["value1", "value2"]}
- 戻り値:
- プロジェクト時間合計
- ユーザーとグループ別の内訳
- 基準に基づいてフィルタリングされた時間エントリ
- 必須パラメータ:
追加ツール
get_custom_fields
: タイムカードに設定されたカスタム追跡フィールドを取得する- パラメータ:
ids
: (数値の配列) 特定のカスタムフィールドIDでフィルタリングactive
: (文字列) ステータスでフィルタリング: 「はい」、「いいえ」、「両方」applies_to
: (文字列) アプリケーションの種類でフィルタリング:「タイムシート」、「ジョブコード」、「ユーザー」value_type
: (文字列) 値の種類でフィルタリング: "managed-list", "free-form"page
: (数字) ページ番号limit
: (数) ページあたりの結果数
- パラメータ:
get_last_modified
: オブジェクトの最終更新日時を取得する- パラメータ:
types
: (文字列の配列) チェックするオブジェクトのタイプ (例: ["timesheets", "jobcodes", "users"])
- パラメータ:
get_notifications
: 通知を受け取る- パラメータ:
page
: (数字) ページ番号limit
: (数) ページあたりの結果数
- パラメータ:
get_managed_clients
: 管理対象クライアントを取得する- パラメータ:
page
: (数字) ページ番号limit
: (数) ページあたりの結果数
- パラメータ:
サーバーの実行
サーバーが起動し、stdin/stdout で JSON-RPC リクエストをリッスンします。
ライセンス
MITライセンス - 詳細はLICENSEファイルを参照
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。このプロジェクトはAIの支援を受けて開発されているため、コミュニティからの意見はコードベースの改善と保守に特に役立ちます。
サポート
問題や機能のリクエストについては、GitHub の問題ページを使用するか、github.com/aallsbury で直接ご連絡ください。
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
QuickBooks Time API機能への統合アクセスを提供します。このサーバーは、複数のQuickBooks Timeサービスを単一の効率的なインターフェースに統合します。
Related MCP Servers
- -securityAlicense-qualityProvides Excel file manipulation capabilities. This server enables workbook creation, data manipulation, formatting, and advanced Excel features.Last updated -414PythonMIT License
- -securityFlicense-qualityAn MCP server providing timezone conversions and time-related operations via RESTful API endpoints, featuring comprehensive error handling and timezone database integration.Last updated -Python
- AsecurityAlicenseAqualityIntegration with Timeplus, a database for streaming data, such as Apache Kafka/PulsarLast updated -67PythonApache 2.0
- -securityFlicense-qualityProvides a standardized interface for interacting with Quickbase's JSON RESTful API through Claude and other MCP clients, supporting operations like querying records, managing table relationships, and handling file attachments.Last updated -Python