ArborNote MCP by usefulapi

Read proposals and work orders; create clients and update proposals in ArborNote.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
88%
이름 품질
80%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~2,673토큰 (도구 정의)
~1.1 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 2.09%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`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"
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 16개