Aryeo MCP by usefulapi

Manage real-estate media orders, appointments, listings, customers and tasks in Aryeo.

使うべきか

品質と安全性

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

検出事項(1)

  • LOWTool 'aryeo_complete_task' description lacks action verbaryeo_complete_task 内

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

コンテキストコスト

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

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

インストール

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

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

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

リモートエンドポイント

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

できること

ツール一覧

ツール(24)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢aryeo_list_orders(search, payment_status, fulfillment_status, appointment_start_after, appointment_start_before, ...)

List the orders of your Aryeo company (newest first by default), with payment status, fulfillment status, totals and links. Filter by search text (address or customer), payment/fulfillment status, appointment date range, tags or assigned users. GET /orders.

入力スキーマ

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Orders whose address or customer matches this text, e.g. a street name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "payment_status": {
      "description": "Only orders with this payment status.",
      "type": "string",
      "enum": [
        "PAID",
        "PARTIALLY_PAID",
        "UNPAID"
      ]
    },
    "fulfillment_status": {
      "description": "Only orders with this fulfillment status.",
      "type": "string",
      "enum": [
        "FULFILLED",
        "PARTIALLY_FULFILLED",
        "UNFULFILLED"
      ]
    },
    "appointment_start_after": {
      "type": "string",
      "description": "Only orders with an appointment starting after this moment. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."
    },
    "appointment_start_before": {
      "type": "string",
      "description": "Only orders with an appointment starting before this moment. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."
    },
    "creator_group_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Only orders owned by this creator group (UUID)."
    },
    "tag_ids": {
      "description": "Orders carrying any of these tag ids.",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
      }
    },
    "user_ids": {
      "description": "Orders that have appointments with any of these user ids (user ids = company_user.id from aryeo_list_team_members, not the team member id).",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
      }
    },
    "sort": {
      "description": "Comma-separated sort fields; a leading - sorts descending. Default -created_at.",
      "type": "string",
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9_.,-]+$"
    },
    "include": {
      "description": "Comma-separated relations to expand. Examples: items, listing, customer, appointments, appointments.users, unconfirmed_appointments, order_form, discounts, discounts.coupon. An unknown value makes Aryeo reply with the allowed list.",
      "type": "string",
      "maxLength": 255,
      "pattern": "^[A-Za-z0-9_.,]+$"
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (Aryeo default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢aryeo_get_order(order_id, include)

One order by id: customer, address, status, totals, payment and invoice links. Add include=items,appointments,listing,customer for the line items and visits. GET /orders/{id}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Aryeo order id (UUID)."
    },
    "include": {
      "description": "Comma-separated relations to expand. Examples: items, listing, customer, appointments, appointments.users, unconfirmed_appointments, order_form, discounts, discounts.coupon. An unknown value makes Aryeo reply with the allowed list.",
      "type": "string",
      "maxLength": 255,
      "pattern": "^[A-Za-z0-9_.,]+$"
    }
  },
  "required": [
    "order_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴aryeo_update_order_notes(order_id, internal_notes)

REPLACE the internal notes of an order (visible to your team only, not to the customer). The whole note is overwritten: read the order first and send the full new text. An empty string clears the notes. PUT /orders/{id}/notes.

入力スキーマ

{
  "type": "object",
  "properties": {
    "order_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Aryeo order id (UUID)."
    },
    "internal_notes": {
      "type": "string",
      "maxLength": 2550,
      "description": "The complete new internal notes (max 2550 characters) (replaces the old text)."
    }
  },
  "required": [
    "order_id",
    "internal_notes"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢aryeo_list_appointments(tense, statuses, start_after, start_before, user_ids, ...)

List appointments (shoots/visits), by default the SCHEDULED ones, newest start first. Filter by upcoming/past, status, a start-time window or the assigned users. Use include=order,order.address,users to see where and who. GET /appointments.

入力スキーマ

{
  "type": "object",
  "properties": {
    "tense": {
      "description": "Only upcoming or only past appointments.",
      "type": "string",
      "enum": [
        "UPCOMING",
        "PAST"
      ]
    },
    "statuses": {
      "description": "Appointment statuses to return (Aryeo default: SCHEDULED).",
      "maxItems": 3,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "SCHEDULED",
          "UNSCHEDULED",
          "CANCELED"
        ]
      }
    },
    "start_after": {
      "type": "string",
      "description": "Only appointments starting at or after this moment. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."
    },
    "start_before": {
      "type": "string",
      "description": "Only appointments starting at or before this moment. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."
    },
    "user_ids": {
      "description": "Only appointments of these user ids (user ids = company_user.id from aryeo_list_team_members, not the team member id).",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
      }
    },
    "sort": {
      "description": "Comma-separated sort fields; a leading - sorts descending. Default -start_at.",
      "type": "string",
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9_.,-]+$"
    },
    "include": {
      "description": "Comma-separated relations to expand. Examples: owner, items, users, order, order.address, order.customer, order.customerGroup, order.listing, order.items, items.product_variant. An unknown value makes Aryeo reply with the allowed list.",
      "type": "string",
      "maxLength": 255,
      "pattern": "^[A-Za-z0-9_.,]+$"
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (Aryeo default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢aryeo_get_appointment(appointment_id, include)

One appointment by id: status, start/end, duration, assigned users and items. GET /appointments/{id}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "appointment_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Aryeo appointment id (UUID)."
    },
    "include": {
      "description": "Comma-separated relations to expand. Examples: owner, items, users, order, order.address, order.customer, order.listing, order.items, items.product_variant. An unknown value makes Aryeo reply with the allowed list.",
      "type": "string",
      "maxLength": 255,
      "pattern": "^[A-Za-z0-9_.,]+$"
    }
  },
  "required": [
    "appointment_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴aryeo_cancel_appointment(appointment_id, notify)

CANCEL an appointment. With notify=true Aryeo sends a cancellation notice to the order's customer (an email/message to a third party); with notify=false nobody is told. Cancelling can trigger fees or free the slot for other bookings. PUT /appointments/{id}/cancel.

入力スキーマ

{
  "type": "object",
  "properties": {
    "appointment_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Aryeo appointment id (UUID)."
    },
    "notify": {
      "type": "boolean",
      "description": "true = notify the order's customer of the cancellation; false = cancel silently. Required: decide explicitly."
    }
  },
  "required": [
    "appointment_id",
    "notify"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴aryeo_reschedule_appointment(appointment_id, start_at, end_at, notify)

MOVE an appointment to a new start and end time. With notify=true Aryeo sends a reschedule notice to the order's customer (a message to a third party). Check availability first (aryeo_list_available_timeslots). PUT /appointments/{id}/reschedule.

入力スキーマ

{
  "type": "object",
  "properties": {
    "appointment_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Aryeo appointment id (UUID)."
    },
    "start_at": {
      "type": "string",
      "description": "New start. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."
    },
    "end_at": {
      "type": "string",
      "description": "New end. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."
    },
    "notify": {
      "type": "boolean",
      "description": "true = notify the order's customer of the new time; false = move silently. Required: decide explicitly."
    }
  },
  "required": [
    "appointment_id",
    "start_at",
    "end_at",
    "notify"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢aryeo_list_available_timeslots(date, timezone, appointment_id, order_id, order_item_ids, ...)

Bookable timeslots for ONE day (in the given timezone) for a proposed or existing appointment. Give either appointment_id, or duration + interval (minutes). Optionally restrict to users and tie it to an order. GET /scheduling/available-timeslots.

入力スキーマ

{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "The day to list, yyyy-mm-dd."
    },
    "timezone": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "Timezone that defines the day (required by Aryeo), e.g. America/Chicago."
    },
    "appointment_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Existing appointment to find a new time for (UUID)."
    },
    "order_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Order to calculate availability for (UUID)."
    },
    "order_item_ids": {
      "description": "Order item ids of the proposed appointment.",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
      }
    },
    "user_ids": {
      "description": "Only slots where all of these users are free (user ids = company_user.id from aryeo_list_team_members, not the team member id).",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
      }
    },
    "duration": {
      "description": "Appointment length in minutes (required without appointment_id).",
      "type": "integer",
      "minimum": 1,
      "maximum": 360
    },
    "interval": {
      "description": "Slot start interval in minutes (required without appointment_id).",
      "type": "integer",
      "minimum": 1,
      "maximum": 360
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (Aryeo default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "required": [
    "date",
    "timezone"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢aryeo_list_available_dates(start_at, end_at, timeframe, timezone, appointment_id, ...)

Days that still have availability for a proposed or existing appointment: give a start/end range or a timeframe, plus either appointment_id or duration + interval (minutes). GET /scheduling/available-dates.

入力スキーマ

{
  "type": "object",
  "properties": {
    "start_at": {
      "type": "string",
      "description": "Availability after this moment. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."
    },
    "end_at": {
      "type": "string",
      "description": "Availability before this moment. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."
    },
    "timeframe": {
      "description": "A named timeframe instead of start_at/end_at (see Aryeo docs: use page to move through weeks/months).",
      "type": "string",
      "enum": [
        "DAY",
        "WEEK",
        "MONTH",
        "YEAR"
      ]
    },
    "timezone": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50,
      "description": "Client timezone (required by Aryeo); results are localized to it, e.g. America/Chicago."
    },
    "appointment_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Existing appointment to find a new date for (UUID)."
    },
    "order_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Order to calculate availability for (UUID)."
    },
    "order_item_ids": {
      "description": "Order item ids of the proposed appointment.",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
      }
    },
    "user_ids": {
      "description": "Only dates where all of these users are free (user ids = company_user.id from aryeo_list_team_members, not the team member id).",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
      }
    },
    "duration": {
      "description": "Appointment length in minutes (required without appointment_id).",
      "type": "integer",
      "minimum": 1,
      "maximum": 360
    },
    "interval": {
      "description": "Slot start interval in minutes (required without appointment_id).",
      "type": "integer",
      "minimum": 1,
      "maximum": 360
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (Aryeo default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "required": [
    "timezone"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢aryeo_list_listings(search, address, list_agent, status, active, ...)

List the property listings of your Aryeo company (address, status, price, bedrooms, delivery status, thumbnails). Filter by search text, address, listing agent, status, price/size ranges or delivery status. GET /listings.

入力スキーマ

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Listings with a field matching this text.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "address": {
      "description": "Listings whose address matches, e.g. 123 Main St.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "list_agent": {
      "description": "Listings whose listing or co-listing agent matches, e.g. John Doe.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "status": {
      "description": "Only listings with this status.",
      "type": "string",
      "enum": [
        "DRAFT",
        "COMING_SOON",
        "FOR_LEASE",
        "FOR_SALE",
        "PENDING_SALE",
        "PENDING_LEASE",
        "FOR_RENT",
        "SOLD",
        "LEASED",
        "OFF_MARKET"
      ]
    },
    "active": {
      "description": "true = only listings with an active status (coming soon, for sale/lease, pending, sold, leased).",
      "type": "boolean"
    },
    "price_min": {
      "description": "Minimum price.",
      "type": "number",
      "minimum": 0
    },
    "price_max": {
      "description": "Maximum price.",
      "type": "number",
      "minimum": 0
    },
    "square_feet_min": {
      "description": "Minimum square feet.",
      "type": "number",
      "minimum": 0
    },
    "square_feet_max": {
      "description": "Maximum square feet.",
      "type": "number",
      "minimum": 0
    },
    "bedrooms_min": {
      "description": "Minimum bedrooms.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "bedrooms_max": {
      "description": "Maximum bedrooms.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "bathrooms_min": {
      "description": "Minimum bathrooms.",
      "type": "number",
      "minimum": 0
    },
    "bathrooms_max": {
      "description": "Maximum bathrooms.",
      "type": "number",
      "minimum": 0
    },
    "delivery_status": {
      "description": "Only listings with this media delivery status.",
      "type": "string",
      "enum": [
        "DELIVERED",
        "UNDELIVERED",
        "SCHEDULED"
      ]
    },
    "sort": {
      "description": "Comma-separated sort fields; a leading - sorts descending. Default -created_at.",
      "type": "string",
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9_.,-]+$"
    },
    "include": {
      "description": "Comma-separated relations to expand. Examples: list_agent, co_list_agent, images, files, videos, floor_plans, interactive_content, property_website, orders.appointments. An unknown value makes Aryeo reply with the allowed list.",
      "type": "string",
      "maxLength": 255,
      "pattern": "^[A-Za-z0-9_.,]+$"
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (Aryeo default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢aryeo_get_listing(listing_id, include)

One listing by id: address, status, price, lot/building details, agents. Add include=images,videos,orders.appointments for media and visits. GET /listings/{id}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "listing_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Aryeo listing id (UUID)."
    },
    "include": {
      "description": "Comma-separated relations to expand. Examples: list_agent, co_list_agent, images, files, videos, floor_plans, interactive_content, property_website, orders.appointments. An unknown value makes Aryeo reply with the allowed list.",
      "type": "string",
      "maxLength": 255,
      "pattern": "^[A-Za-z0-9_.,]+$"
    }
  },
  "required": [
    "listing_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢aryeo_get_listing_stats(listing_id)

Viewing statistics of a listing's property website (visits, views). GET /listings/{id}/stats.

入力スキーマ

{
  "type": "object",
  "properties": {
    "listing_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Aryeo listing id (UUID)."
    }
  },
  "required": [
    "listing_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢aryeo_list_customers(search, name, email, email_domain, phone, ...)

List your customers (the agents, brokerages and teams who order from you) with contact details and balances. Filter by name, email, email domain, phone or search text. GET /customers.

入力スキーマ

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Customers matching this text.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "name": {
      "description": "Customers with this name.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "email": {
      "description": "Customers with this exact email address.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "email_domain": {
      "description": "Customers whose email is on this domain, e.g. gmail.com.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "phone": {
      "description": "Customers with this phone number.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "customer_team_ids": {
      "description": "Comma-separated customer team ids.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "sort": {
      "description": "Comma-separated sort fields; a leading - sorts descending. Default -created_at.",
      "type": "string",
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9_.,-]+$"
    },
    "include": {
      "description": "Comma-separated relations to expand. Example: users. An unknown value makes Aryeo reply with the allowed list.",
      "type": "string",
      "maxLength": 255,
      "pattern": "^[A-Za-z0-9_.,]+$"
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (Aryeo default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡aryeo_create_customer(owner_first_name, owner_last_name, email, phone, team_name, ...)

Create a customer (an agent or brokerage that can place orders) in your Aryeo company from an owner name and email. Look the email up with aryeo_list_customers first to avoid duplicates. Aryeo may email the new customer an invitation. POST /customers.

入力スキーマ

{
  "type": "object",
  "properties": {
    "owner_first_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "First name of the customer owner."
    },
    "owner_last_name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 100,
      "description": "Last name of the customer owner."
    },
    "email": {
      "type": "string",
      "maxLength": 255,
      "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,}$",
      "description": "Email address of the customer owner."
    },
    "phone": {
      "description": "Phone number, e.g. 555-123-4567.",
      "type": "string",
      "maxLength": 50
    },
    "team_name": {
      "description": "Name of the customer's team.",
      "type": "string",
      "maxLength": 200
    },
    "office_name": {
      "description": "Name of the office or brokerage.",
      "type": "string",
      "maxLength": 200
    },
    "website_url": {
      "description": "Website URL.",
      "type": "string",
      "maxLength": 255,
      "format": "uri"
    },
    "license_number": {
      "description": "Real estate license number.",
      "type": "string",
      "maxLength": 100
    },
    "description": {
      "description": "Description of the customer.",
      "type": "string",
      "maxLength": 2000
    },
    "timezone": {
      "description": "Default timezone, e.g. America/Chicago.",
      "type": "string",
      "maxLength": 50
    }
  },
  "required": [
    "owner_first_name",
    "owner_last_name",
    "email"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢aryeo_list_products(search, include_inactive, type, category_ids, sort, ...)

List your services/products (main products and add-ons) with type, active state and variants. Inactive products are hidden unless include_inactive is true. GET /products.

入力スキーマ

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Products with a field matching this text.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "include_inactive": {
      "description": "true = also return inactive products.",
      "type": "boolean"
    },
    "type": {
      "description": "Only main products or only add-ons.",
      "type": "string",
      "enum": [
        "MAIN",
        "ADDON"
      ]
    },
    "category_ids": {
      "description": "Only products in these category ids.",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
      }
    },
    "sort": {
      "description": "Comma-separated sort fields; a leading - sorts descending. Default title.",
      "type": "string",
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9_.,-]+$"
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (Aryeo default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢aryeo_list_product_categories(search, sort, page, per_page)

List the product categories (use the ids to filter aryeo_list_products). GET /product-categories.

入力スキーマ

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Categories with a field matching this text.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "sort": {
      "description": "Comma-separated sort fields; a leading - sorts descending. Default title.",
      "type": "string",
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9_.,-]+$"
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (Aryeo default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢aryeo_list_coupons(search, sort, include, page, per_page)

List discount coupons (name, percent or amount off, active state, times redeemed). GET /coupons.

入力スキーマ

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Coupons whose name matches.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "sort": {
      "description": "Comma-separated sort fields; a leading - sorts descending. Default -created_at.",
      "type": "string",
      "maxLength": 100,
      "pattern": "^[A-Za-z0-9_.,-]+$"
    },
    "include": {
      "description": "Comma-separated relations to expand. Examples: promotion_codes, discountables. An unknown value makes Aryeo reply with the allowed list.",
      "type": "string",
      "maxLength": 255,
      "pattern": "^[A-Za-z0-9_.,]+$"
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (Aryeo default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢aryeo_list_order_forms(page, per_page)

List your order forms (the public booking forms customers use), with title, URL and scheduling settings. GET /order-forms.

入力スキーマ

{
  "type": "object",
  "properties": {
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (Aryeo default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢aryeo_list_team_members(search, include, page, per_page)

List your company's team members (photographers and staff) with role, status, service-provider flag and permissions. Each member has two ids: the member `id` (for aryeo_list_team_member_events and as the task assignee company_team_member_id) and `company_user.id` (the USER id, for the user_ids filters of orders, appointments, timeslots and dates). company_user is included by default. GET /company-team-members.

入力スキーマ

{
  "type": "object",
  "properties": {
    "search": {
      "description": "Team members matching this text.",
      "type": "string",
      "minLength": 1,
      "maxLength": 255
    },
    "include": {
      "description": "Comma-separated relations to expand. Default: company_user. Example: company_user. An unknown value makes Aryeo reply with the allowed list.",
      "type": "string",
      "maxLength": 255,
      "pattern": "^[A-Za-z0-9_.,]+$"
    },
    "page": {
      "description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100000
    },
    "per_page": {
      "description": "Results per page, 1-100 (Aryeo default 25).",
      "type": "integer",
      "exclusiveMinimum": 0,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢aryeo_list_team_member_events(team_member_id, start, end, type, include_unscheduled)

A team member's calendar between two moments: appointments, blocks, external events and buffers. Use aryeo_list_team_members for the id. GET /company-team-members/{id}/events.

入力スキーマ

{
  "type": "object",
  "properties": {
    "team_member_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Company team member id (UUID)."
    },
    "start": {
      "type": "string",
      "description": "Start of the window. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."
    },
    "end": {
      "type": "string",
      "description": "End of the window. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."
    },
    "type": {
      "description": "Only events of this type.",
      "type": "string",
      "enum": [
        "APPOINTMENT",
        "CALENDAR_BLOCK",
        "EXTERNAL",
        "BUFFER",
        "DECLINED_APPOINTMENT",
        "UNSCHEDULED_APPOINTMENT"
      ]
    },
    "include_unscheduled": {
      "description": "true = include unscheduled appointments.",
      "type": "boolean"
    }
  },
  "required": [
    "team_member_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢aryeo_list_tasks

List tasks (to-dos such as editing or delivery steps) with assignee, due date and completion state. GET /tasks.

入力スキーマ

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

One task by id. GET /tasks/{id}.

入力スキーマ

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Aryeo task id (UUID)."
    }
  },
  "required": [
    "task_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡aryeo_create_task(name, description, due_at, company_team_member_id)

Create a task, optionally with a description, due date and an assignee (a company team member id). POST /tasks.

入力スキーマ

{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 255,
      "description": "Task name."
    },
    "description": {
      "description": "Task description.",
      "type": "string",
      "maxLength": 5000
    },
    "due_at": {
      "type": "string",
      "description": "Due date. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."
    },
    "company_team_member_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Company team member to assign the task to (UUID)."
    }
  },
  "required": [
    "name"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴aryeo_complete_task(task_id, completed_at)

Mark a task completed (now, or at the given time). PUT /tasks/{id}/complete.

入力スキーマ

{
  "type": "object",
  "properties": {
    "task_id": {
      "type": "string",
      "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$",
      "description": "Aryeo task id (UUID)."
    },
    "completed_at": {
      "type": "string",
      "description": "Completion time (default: now). ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."
    }
  },
  "required": [
    "task_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

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