ArborNote MCP by usefulapi
Read proposals and work orders; create clients and update proposals in ArborNote.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"arbornote": {
"url": "https://arbornote.usefulapi.io/mcp"
}
}
}Puntos de conexión remotos
https://arbornote.usefulapi.io/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (16)
🟢arbornote_list_clients
List all clients (customers) in the ArborNote account, with name, address and contact. ArborNote API: GET /v1/clients.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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}.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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"
}Comunidad
Evidencia