Bilflo MCP by usefulapi

Read Bilflo clients, contract jobs, contractors and reports; update jobs, terminate or reopen them.

使うべきか

品質と安全性

A
説明の品質
96%
スキーマの完全性
93%
命名の品質
78%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

検出事項(3)

  • LOWTool 'bilflo_list_client_contract_pos' name length outside 3-30 rangebilflo_list_client_contract_pos 内
  • LOWTool 'bilflo_list_client_invoice_groups' name length outside 3-30 rangebilflo_list_client_invoice_groups 内
  • LOWTool 'bilflo_list_job_purchase_orders' name length outside 3-30 rangebilflo_list_job_purchase_orders 内

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~4,651トークン数(ツール定義)
~1.0 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 3.63%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "bilflo": {
      "url": "https://bilflo.usefulapi.io/mcp"
    }
  }
}

リモートエンドポイント

https://bilflo.usefulapi.io/mcpstreamable-http

できること

ツール一覧

ツール(26)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢bilflo_list_clients(search, active_only, include_details, limit, offset)

The staffing company's clients (the customers contractors are placed with): id, business name, client code, phone, active flag. Each row carries the number of addresses and contacts; set include_details for the full address and contact lists. Bilflo returns every client at once, so this tool filters and pages the list itself. GET /v1/Clients.

入力スキーマ

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Only clients whose business name or client code contains this text (case-insensitive).",
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "active_only": {
      "description": "Only active clients.",
      "type": "boolean"
    },
    "include_details": {
      "description": "Include each client's addresses and contacts (large; use with a small limit).",
      "type": "boolean"
    },
    "limit": {
      "description": "Rows to return, 1-200 (default 50).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 200
    },
    "offset": {
      "description": "Rows to skip (default 0). Bilflo does not page, so the list is cut here.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bilflo_get_client(client_id)

One client with its addresses and contacts. GET /v1/Clients/{clientId}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "client_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo client id (from bilflo_list_clients)."
    }
  },
  "required": [
    "client_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bilflo_list_client_contacts(client_id)

The contacts (people at the client: name, title, phone, email, active flag) of one client. GET /v1/Clients/contact/{clientId}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "client_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo client id."
    }
  },
  "required": [
    "client_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bilflo_list_client_addresses(client_id)

The addresses (work sites and billing addresses) of one client. GET /v1/Clients/addresses/{clientId}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "client_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo client id."
    }
  },
  "required": [
    "client_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bilflo_list_client_agreements(client_id)

The agreements (billing terms) on file for one client. GET /v1/Clients/agreements/{clientId}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "client_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo client id."
    }
  },
  "required": [
    "client_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bilflo_list_client_contract_pos(client_id)

The contract purchase orders of one client (PO numbers and amounts used for billing). GET /v1/Clients/contractPOs/{clientId}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "client_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo client id."
    }
  },
  "required": [
    "client_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bilflo_list_client_invoice_groups(client_id)

The contract invoice groups of one client (which jobs are invoiced together). GET /v1/Clients/contractInvoiceGroups/{clientId}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "client_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo client id."
    }
  },
  "required": [
    "client_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bilflo_get_contract_job(job_id)

One contract job (a contractor placed with a client): client, contractor, title, start/end dates, status, overtime rule, timecard method, per-diem/expense/sick-time flags, workers' comp code and burden. GET /v1/ContractJobs/{jobId}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo contract job id."
    }
  },
  "required": [
    "job_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bilflo_list_job_pay_bill_items(job_id)

The pay and bill rates (pay/bill items such as Regular, Overtime) of one contract job. GET /v1/ContractJobs/{jobId}/payBillItems.

入力スキーマ

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo contract job id."
    }
  },
  "required": [
    "job_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bilflo_list_job_approvers(job_id)

Who approves the timecards of one contract job. GET /v1/ContractJobs/{jobId}/approvers.

入力スキーマ

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo contract job id."
    }
  },
  "required": [
    "job_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bilflo_list_job_purchase_orders(job_id)

The purchase orders attached to one contract job. GET /v1/ContractJobs/{jobId}/purchaseOrders.

入力スキーマ

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo contract job id."
    }
  },
  "required": [
    "job_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bilflo_get_job_custom_fields(job_id)

The custom field values of one contract job. GET /v1/ContractJobs/{jobId}/customFields.

入力スキーマ

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo contract job id."
    }
  },
  "required": [
    "job_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bilflo_get_direct_hire(job_id)

One direct hire (a permanent placement): header, fee/split data, contacts and custom fields as Bilflo returns them. GET /v1/DirectHires/{jobId}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo direct hire job id."
    }
  },
  "required": [
    "job_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bilflo_get_contractor(contractor_id)

One contractor: profile (name, email, phone, address, W2/1099), jobs, checks paid, work status, benefit settings and custom fields. Social security number, date of birth and bank details are removed from the reply. GET /v1/Users/contractors/{contractorId}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "contractor_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo contractor id."
    }
  },
  "required": [
    "contractor_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bilflo_get_team_member(team_member_id)

One back-office team member (staffing company user): profile, roles and compensation settings. Government ids and bank details are removed. GET /v1/Users/teamMember/{id}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "team_member_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo team member (user) id."
    }
  },
  "required": [
    "team_member_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bilflo_list_overtime_rules

The company's overtime rules (id, name, state). Use the ids with bilflo_update_contract_job. GET /v1/OvertimeRules.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bilflo_get_company_setting(setting)

One of the company's lookup lists: workers_comp_codes, payment_terms, remittances, burden_settings, benefit_rules, states or pay_bill_items. GET /v1/CompanySettings/{setting}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "setting": {
      "type": "string",
      "enum": [
        "workers_comp_codes",
        "payment_terms",
        "remittances",
        "burden_settings",
        "benefit_rules",
        "states",
        "pay_bill_items"
      ],
      "description": "Which list to read."
    }
  },
  "required": [
    "setting"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bilflo_list_custom_fields

The company's custom fields (active and inactive) with type, requiredness per service offering and, for list fields, the selectable items. GET /v1/CustomFields.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bilflo_list_custom_field_items(custom_field_id)

The selectable items of one custom list field (id from bilflo_list_custom_fields). Items of a field named like personal data (SSN, date of birth, bank account, password) are not shown. GET /v1/CustomFields/items.

入力スキーマ

{
  "type": "object",
  "properties": {
    "custom_field_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Custom field id (from bilflo_list_custom_fields)."
    }
  },
  "required": [
    "custom_field_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢bilflo_run_report(report_id, parameters)

Run one of the company's saved custom reports and return its rows. Report parameters are report specific key/value pairs, for example {"Start": "2026-01-01", "End": "2026-01-31"}. Reads data only. POST /v1/Reports/{reportId}/Execute.

入力スキーマ

{
  "type": "object",
  "properties": {
    "report_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo custom report id."
    },
    "parameters": {
      "description": "Report parameters as key/value pairs.",
      "type": "object",
      "propertyNames": {
        "type": "string",
        "minLength": 1,
        "maxLength": 60
      },
      "additionalProperties": {
        "anyOf": [
          {
            "type": "string",
            "maxLength": 500
          },
          {
            "type": "number"
          },
          {
            "type": "boolean"
          }
        ]
      }
    }
  },
  "required": [
    "report_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡bilflo_create_client(business_name)

WRITE: creates a new client (customer) in Bilflo with the given business name and returns its id. It is visible to the whole staffing company and used for billing, so check bilflo_list_clients first to avoid a duplicate. POST /v1/Clients.

入力スキーマ

{
  "type": "object",
  "properties": {
    "business_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200,
      "description": "Business name of the new client."
    }
  },
  "required": [
    "business_name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴bilflo_update_client(client_id, business_name, client_code, phone, fax, ...)

WRITE: changes only the client fields you pass (business name, client code, phone, fax, active flag); the rest stay as they are. Setting is_active=false deactivates the client. PATCH /v1/Clients/{clientId}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "client_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo client id."
    },
    "business_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "client_code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50
    },
    "phone": {
      "type": "string",
      "minLength": 1,
      "maxLength": 40
    },
    "fax": {
      "type": "string",
      "minLength": 1,
      "maxLength": 40
    },
    "is_active": {
      "description": "false deactivates the client, true reactivates it.",
      "type": "boolean"
    }
  },
  "required": [
    "client_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴bilflo_update_contract_job(job_id, job_title, overtime_rule_id, workers_comp_code_id, burden_manual, ...)

WRITE: changes only the contract job fields you pass (title, overtime rule, workers' comp code, burden, per-diem/expenses/sick-time/meal-period flags); the rest stay as they are. Pay and bill rates change payroll and invoices, so confirm values with the user. Client, contractor, dates and status cannot be changed here. PATCH /v1/ContractJobs/{jobId}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo contract job id."
    },
    "job_title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "overtime_rule_id": {
      "description": "Overtime rule id (bilflo_list_overtime_rules).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "workers_comp_code_id": {
      "description": "Workers' comp code id (bilflo_get_company_setting workers_comp_codes).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991
    },
    "burden_manual": {
      "description": "Manual burden value.",
      "type": "number",
      "minimum": 0,
      "maximum": 1000
    },
    "is_per_diem_enabled": {
      "type": "boolean"
    },
    "is_sick_time_enabled": {
      "type": "boolean"
    },
    "is_expenses_enabled": {
      "type": "boolean"
    },
    "is_waive_meal_period": {
      "type": "boolean"
    },
    "is_allow_skip_lunch": {
      "type": "boolean"
    }
  },
  "required": [
    "job_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴bilflo_terminate_contract_job(job_id, end_date)

WRITE: ends a contract job on the given date (the contractor stops being placed with the client; no more timecards are expected after it). Affects payroll and invoicing. A terminated job can be brought back with bilflo_reopen_contract_job. POST /v1/ContractJobs/terminate.

入力スキーマ

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo contract job id."
    },
    "end_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Last day of the job, yyyy-mm-dd."
    }
  },
  "required": [
    "job_id",
    "end_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡bilflo_reopen_contract_job(job_id, reopen_date)

WRITE: reopens a terminated contract job (like the Open Job button): the job becomes active again, the end date is cleared, the contractor is made active and the missing timecards from the reopen date's week are created. Fails if the job is not terminated or the company plan has no room for another active job. POST /v1/ContractJobs/{jobId}/reopen.

入力スキーマ

{
  "type": "object",
  "properties": {
    "job_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo contract job id."
    },
    "reopen_date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Date to reopen from, yyyy-mm-dd (not before the job start)."
    }
  },
  "required": [
    "job_id",
    "reopen_date"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴bilflo_update_contractor(contractor_id, first_name, middle_name, last_name, title, ...)

WRITE: changes only the contractor contact fields you pass (name, title, email, phone, address, company); the rest stay as they are. Tax, bank, social security number and activation are not changeable here. PATCH /v1/Users/contractors/{contractorId}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "contractor_id": {
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 9007199254740991,
      "description": "Bilflo contractor id."
    },
    "first_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "middle_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "last_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "email_address": {
      "type": "string",
      "maxLength": 256,
      "format": "email",
      "pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
    },
    "phone": {
      "type": "string",
      "minLength": 1,
      "maxLength": 40
    },
    "phone_ext": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20
    },
    "address1": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "address2": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "city": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100
    },
    "zip_code": {
      "type": "string",
      "minLength": 1,
      "maxLength": 20
    },
    "state_code": {
      "description": "Two-letter state code.",
      "type": "string",
      "minLength": 2,
      "maxLength": 2
    },
    "contractor_company": {
      "description": "The contractor's own company name (1099).",
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    }
  },
  "required": [
    "contractor_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 26 件