ArborNote MCP by usefulapi
Read proposals and work orders; create clients and update proposals in ArborNote.
사용해야 할까요
품질 및 안전성
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"arbornote": {
"url": "https://arbornote.usefulapi.io/mcp"
}
}
}원격 엔드포인트
https://arbornote.usefulapi.io/mcpstreamable-http할 수 있는 일
도구 목록
도구 (16)
🟢arbornote_list_clients
List all clients (customers) in the ArborNote account, with name, address and contact. ArborNote API: GET /v1/clients.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arbornote_get_client(client_id)
Get one client by id, with its name, address, contact and client id. ArborNote API: GET /v1/clients/{id}.
입력 스키마
{
"type": "object",
"properties": {
"client_id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Numeric ArborNote id."
}
},
"required": [
"client_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴arbornote_create_client(name, address1, address2, city, state, ...)
Create a new client (customer) record in ArborNote. Returns the new clientID. Adds a record; it does not change existing ones. ArborNote API: POST /v1/clients.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Client name (required)."
},
"address1": {
"description": "Street address, line 1.",
"type": "string"
},
"address2": {
"description": "Street address, line 2.",
"type": "string"
},
"city": {
"description": "City.",
"type": "string"
},
"state": {
"description": "State or region.",
"type": "string"
},
"zip": {
"description": "Postal code.",
"type": "string"
},
"contactName": {
"description": "Contact person.",
"type": "string"
},
"email": {
"description": "Contact email.",
"type": "string"
},
"phone": {
"description": "Contact phone.",
"type": "string"
}
},
"required": [
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arbornote_list_projects
List projects (job sites) with name, address, tree count and date created. ArborNote API: GET /v1/projects.
입력 스키마
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arbornote_get_project(project_id)
Get one project by id, with its details and the associated client. ArborNote API: GET /v1/projects/{id}.
입력 스키마
{
"type": "object",
"properties": {
"project_id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Numeric ArborNote id."
}
},
"required": [
"project_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arbornote_list_project_tags(project_id)
List the tagged trees and items of one project: species, dimensions, location, health and work objectives. ArborNote API: GET /v1/projects/{id}/tags.
입력 스키마
{
"type": "object",
"properties": {
"project_id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Numeric ArborNote id."
}
},
"required": [
"project_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🔴arbornote_create_project(project, client)
Create a new project (job site) with its client details in ArborNote. Returns the new projectID. Adds a record. ArborNote API: POST /v1/projects.
입력 스키마
{
"type": "object",
"properties": {
"project": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"description": "Project name (required)."
},
"address1": {
"description": "Street address, line 1.",
"type": "string"
},
"address2": {
"description": "Street address, line 2.",
"type": "string"
},
"city": {
"description": "City.",
"type": "string"
},
"state": {
"description": "State or region.",
"type": "string"
},
"zip": {
"description": "Postal code.",
"type": "string"
},
"contactName": {
"description": "Contact person.",
"type": "string"
},
"email": {
"description": "Contact email.",
"type": "string"
},
"phone": {
"description": "Contact phone.",
"type": "string"
},
"notes": {
"description": "Internal notes.",
"type": "string"
},
"proposalNote": {
"description": "Note printed on the proposal.",
"type": "string"
},
"workOrderNote": {
"description": "Note printed on the work order.",
"type": "string"
},
"lat": {
"description": "Latitude.",
"type": "number"
},
"lon": {
"description": "Longitude.",
"type": "number"
},
"market": {
"description": "Market, e.g. Commercial or Residential.",
"type": "string"
}
},
"required": [
"name"
],
"description": "Project details."
},
"client": {
"description": "Client details for this project.",
"type": "object",
"properties": {
"name": {
"description": "Name.",
"type": "string"
},
"address1": {
"description": "Street address, line 1.",
"type": "string"
},
"address2": {
"description": "Street address, line 2.",
"type": "string"
},
"city": {
"description": "City.",
"type": "string"
},
"state": {
"description": "State or region.",
"type": "string"
},
"zip": {
"description": "Postal code.",
"type": "string"
},
"contactName": {
"description": "Contact person.",
"type": "string"
},
"email": {
"description": "Contact email.",
"type": "string"
},
"phone": {
"description": "Contact phone.",
"type": "string"
}
}
}
},
"required": [
"project"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arbornote_list_proposals(startDate, endDate)
List proposals (estimates) created or modified in a date range. Use startDate and endDate together. ArborNote API: GET /v1/proposals.
입력 스키마
{
"type": "object",
"properties": {
"startDate": {
"type": "string",
"minLength": 10,
"description": "ISO 8601 date-time, e.g. 2024-07-23T00:00:00-07:00."
},
"endDate": {
"type": "string",
"minLength": 10,
"description": "ISO 8601 date-time, e.g. 2024-07-23T00:00:00-07:00."
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arbornote_get_proposal(proposal_id)
Get one proposal by id: summary, status, total, account, project, client and line items, plus its approve URL. ArborNote API: GET /v1/proposals/{id}.
입력 스키마
{
"type": "object",
"properties": {
"proposal_id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Numeric ArborNote id."
}
},
"required": [
"proposal_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡arbornote_set_proposal_number(proposal_id, number)
Set the job number on a proposal's estimate. Replaces any earlier job number. The account behind the key must own the proposal. ArborNote API: POST /v1/proposals/{id}/number.
입력 스키마
{
"type": "object",
"properties": {
"proposal_id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Numeric ArborNote id."
},
"number": {
"type": "string",
"minLength": 1,
"description": "Job number, e.g. JOB-10234."
}
},
"required": [
"proposal_id",
"number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡arbornote_set_proposal_status(proposal_id, status)
Set the status of a proposal, e.g. Draft, Submitted, Approved, Scheduled, Competed or Billed. This changes the proposal in the customer's ArborNote account. ArborNote API: POST /v1/proposals/{id}/status.
입력 스키마
{
"type": "object",
"properties": {
"proposal_id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Numeric ArborNote id."
},
"status": {
"type": "string",
"minLength": 1,
"description": "New status, e.g. Approved."
}
},
"required": [
"proposal_id",
"status"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡arbornote_set_proposal_tax(proposal_id, taxRatePercent)
Set the tax rate on a proposal's estimate and recalculate the tax amount from the pre-tax subtotal. Replaces any earlier rate. ArborNote API: POST /v1/proposals/{id}/tax.
입력 스키마
{
"type": "object",
"properties": {
"proposal_id": {
"type": "string",
"pattern": "^\\d+$",
"description": "Numeric ArborNote id."
},
"taxRatePercent": {
"type": "number",
"minimum": 0,
"maximum": 100,
"description": "Tax rate in percent, e.g. 8.25."
}
},
"required": [
"proposal_id",
"taxRatePercent"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arbornote_list_work_orders(startDate, endDate)
List GTC work orders with name, project, schedule, cost and progress. Without dates, completed orders show the last 7 days and all in-progress orders show. ArborNote API: GET /v1/work-orders.
입력 스키마
{
"type": "object",
"properties": {
"startDate": {
"type": "string",
"minLength": 10,
"description": "ISO 8601 date-time, e.g. 2024-07-23T00:00:00-07:00."
},
"endDate": {
"type": "string",
"minLength": 10,
"description": "ISO 8601 date-time, e.g. 2024-07-23T00:00:00-07:00."
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arbornote_list_phc_work_orders(startDate, endDate)
List PHC (plant health care) work orders with treatment, price, item count and percent complete. Same date rules as the GTC list. ArborNote API: GET /v1/work-orders/phc.
입력 스키마
{
"type": "object",
"properties": {
"startDate": {
"type": "string",
"minLength": 10,
"description": "ISO 8601 date-time, e.g. 2024-07-23T00:00:00-07:00."
},
"endDate": {
"type": "string",
"minLength": 10,
"description": "ISO 8601 date-time, e.g. 2024-07-23T00:00:00-07:00."
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arbornote_list_crew_hours(startDate, endDate)
List crew members' arrival and departure times and roles for work orders in a date range. ArborNote API: GET /v1/crew-hours.
입력 스키마
{
"type": "object",
"properties": {
"startDate": {
"type": "string",
"minLength": 10,
"description": "ISO 8601 date-time, e.g. 2024-07-23T00:00:00-07:00."
},
"endDate": {
"type": "string",
"minLength": 10,
"description": "ISO 8601 date-time, e.g. 2024-07-23T00:00:00-07:00."
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢arbornote_list_appointments(startDate, endDate)
List estimator appointments in a date range, with the project and the arborist assigned. ArborNote API: GET /v1/appointments.
입력 스키마
{
"type": "object",
"properties": {
"startDate": {
"type": "string",
"minLength": 10,
"description": "ISO 8601 date-time, e.g. 2024-07-23T00:00:00-07:00."
},
"endDate": {
"type": "string",
"minLength": 10,
"description": "ISO 8601 date-time, e.g. 2024-07-23T00:00:00-07:00."
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}커뮤니티
증거