{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-06T17:19:17.695Z","url":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo","markdownUrl":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo.md","server":{"slug":"io-usefulapi-aryeo","name":"Aryeo MCP by usefulapi","registryName":"io.usefulapi/aryeo","description":"Manage real-estate media orders, appointments, listings, customers and tasks in Aryeo.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"aryeo","type":"remote","identifier":"https://aryeo.usefulapi.io/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo","version":"1.7.4","transport":null,"scoredAt":"2026-11-06T13:01:22.571Z"},"score":{"total":18,"tier":"low","status":"scored","weekDelta":null,"history":[{"date":"2026-11-06","total":18},{"date":"2026-11-05","total":18},{"date":"2026-11-04","total":18},{"date":"2026-11-03","total":18},{"date":"2026-11-02","total":18},{"date":"2026-11-01","total":65},{"date":"2026-10-31","total":64}]},"categories":[{"name":"Endpoint Security","score":46,"verdict":"fail","reasons":["The endpoint's TLS certificate is valid, in date, and uses a strong key.","Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.","HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.","HSTS check failed: the Strict-Transport-Security header is absent.","DNSSEC check failed: this domain isn't protected by DNSSEC."],"codes":[{"code":"tls.valid","args":{}},{"code":"auth.unreachable","args":{}},{"code":"https.inconclusive","args":{"reason":"redirect_not_https"}},{"code":"headers.hsts_absent","args":{}},{"code":"dnssec.absent","args":{}}]},{"name":"Transport & Reachability","score":0,"verdict":"fail","reasons":["Transport check failed: declared streamable-http, but the endpoint redirected instead of responding directly."],"codes":[{"code":"transport.redirected","args":{"transport":"streamable-http"}}]},{"name":"Schema Quality & AI Usability","score":0,"verdict":"unverified","reasons":["Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list."],"codes":[{"code":"schema.unreachable","args":{}}]},{"name":"Stability & Change Management","score":0,"verdict":"unverified","reasons":["Stability not yet verified: not enough scan history yet (needs a 30-day window)."],"codes":[{"code":"stability.insufficient_history","args":{}}]},{"name":"Tool Coverage","score":0,"verdict":"unverified","reasons":["Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list."],"codes":[{"code":"toolquality.unreachable","args":{}}]},{"name":"Tool Safety","score":0,"verdict":"unverified","reasons":["Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list."],"codes":[{"code":"toolsafety.unreachable","args":{}}]},{"name":"Capabilities","score":0,"verdict":"unverified","reasons":["Capabilities not yet verified: we couldn't read the endpoint's capabilities."],"codes":[{"code":"cap.unreachable","args":{}}]}],"inconclusive":["Authorisation not yet verified: we couldn't confirm whether this endpoint requires it.","HTTPS enforcement could not be verified: the plaintext port redirected somewhere other than https, so enforcement is unproven.","Schema not yet verified: we couldn't read the endpoint's schema, or could read only part of its tool list.","Stability not yet verified: not enough scan history yet (needs a 30-day window).","Tool coverage not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.","Tool safety not yet verified: we couldn't read the endpoint's tools, or could read only part of the list.","Capabilities not yet verified: we couldn't read the endpoint's capabilities."],"malware":[],"components":[{"slug":"aryeo","type":"remote","identifier":"https://aryeo.usefulapi.io/mcp","withdrawn":false,"score":18,"current":true,"url":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo","markdownUrl":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo.md"}],"facts":[{"label":"Endpoint","value":"https://aryeo.usefulapi.io/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"1.7.4"}],"install":{"available":true,"bundleSha256":null},"tools":[{"name":"aryeo_list_orders","title":"List orders","description":"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.","inputs":[{"name":"appointment_start_after","type":"string","required":false,"description":"Only orders with an appointment starting after this moment. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."},{"name":"appointment_start_before","type":"string","required":false,"description":"Only orders with an appointment starting before this moment. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."},{"name":"creator_group_id","type":"string","required":false,"description":"Only orders owned by this creator group (UUID)."},{"name":"fulfillment_status","type":"string","required":false,"description":"Only orders with this fulfillment status."},{"name":"include","type":"string","required":false,"description":"Comma-separated relations to expand. Examples: items, listing, customer, appointments, appointments.users, unconfirmed_appointments, order_form, discounts, discounts.coupon. An unknown value makes Ar…"},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"payment_status","type":"string","required":false,"description":"Only orders with this payment status."},{"name":"per_page","type":"integer","required":false,"description":"Results per page, 1-100 (Aryeo default 25)."},{"name":"search","type":"string","required":false,"description":"Orders whose address or customer matches this text, e.g. a street name."},{"name":"sort","type":"string","required":false,"description":"Comma-separated sort fields; a leading - sorts descending. Default -created_at."},{"name":"tag_ids","type":"array","required":false,"description":"Orders carrying any of these tag ids."},{"name":"user_ids","type":"array","required":false,"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)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":400},{"name":"aryeo_get_order","title":"Get order","description":"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}.","inputs":[{"name":"include","type":"string","required":false,"description":"Comma-separated relations to expand. Examples: items, listing, customer, appointments, appointments.users, unconfirmed_appointments, order_form, discounts, discounts.coupon. An unknown value makes Ar…"},{"name":"order_id","type":"string","required":true,"description":"Aryeo order id (UUID)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":118},{"name":"aryeo_update_order_notes","title":"Update order notes","description":"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.","inputs":[{"name":"internal_notes","type":"string","required":true,"description":"The complete new internal notes (max 2550 characters) (replaces the old text)."},{"name":"order_id","type":"string","required":true,"description":"Aryeo order id (UUID)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":104},{"name":"aryeo_list_appointments","title":"List appointments","description":"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.","inputs":[{"name":"include","type":"string","required":false,"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 make…"},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"per_page","type":"integer","required":false,"description":"Results per page, 1-100 (Aryeo default 25)."},{"name":"sort","type":"string","required":false,"description":"Comma-separated sort fields; a leading - sorts descending. Default -start_at."},{"name":"start_after","type":"string","required":false,"description":"Only appointments starting at or after this moment. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."},{"name":"start_before","type":"string","required":false,"description":"Only appointments starting at or before this moment. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."},{"name":"statuses","type":"array","required":false,"description":"Appointment statuses to return (Aryeo default: SCHEDULED)."},{"name":"tense","type":"string","required":false,"description":"Only upcoming or only past appointments."},{"name":"user_ids","type":"array","required":false,"description":"Only appointments of these user ids (user ids = company_user.id from aryeo_list_team_members, not the team member id)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":349},{"name":"aryeo_get_appointment","title":"Get appointment","description":"One appointment by id: status, start/end, duration, assigned users and items. GET /appointments/{id}.","inputs":[{"name":"appointment_id","type":"string","required":true,"description":"Aryeo appointment id (UUID)."},{"name":"include","type":"string","required":false,"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 th…"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":101},{"name":"aryeo_cancel_appointment","title":"Cancel appointment","description":"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.","inputs":[{"name":"appointment_id","type":"string","required":true,"description":"Aryeo appointment id (UUID)."},{"name":"notify","type":"boolean","required":true,"description":"true = notify the order's customer of the cancellation; false = cancel silently. Required: decide explicitly."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":108},{"name":"aryeo_reschedule_appointment","title":"Reschedule appointment","description":"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.","inputs":[{"name":"appointment_id","type":"string","required":true,"description":"Aryeo appointment id (UUID)."},{"name":"end_at","type":"string","required":true,"description":"New end. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."},{"name":"notify","type":"boolean","required":true,"description":"true = notify the order's customer of the new time; false = move silently. Required: decide explicitly."},{"name":"start_at","type":"string","required":true,"description":"New start. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":185},{"name":"aryeo_list_available_timeslots","title":"List available timeslots","description":"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.","inputs":[{"name":"appointment_id","type":"string","required":false,"description":"Existing appointment to find a new time for (UUID)."},{"name":"date","type":"string","required":true,"description":"The day to list, yyyy-mm-dd."},{"name":"duration","type":"integer","required":false,"description":"Appointment length in minutes (required without appointment_id)."},{"name":"interval","type":"integer","required":false,"description":"Slot start interval in minutes (required without appointment_id)."},{"name":"order_id","type":"string","required":false,"description":"Order to calculate availability for (UUID)."},{"name":"order_item_ids","type":"array","required":false,"description":"Order item ids of the proposed appointment."},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"per_page","type":"integer","required":false,"description":"Results per page, 1-100 (Aryeo default 25)."},{"name":"timezone","type":"string","required":true,"description":"Timezone that defines the day (required by Aryeo), e.g. America/Chicago."},{"name":"user_ids","type":"array","required":false,"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)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":272},{"name":"aryeo_list_available_dates","title":"List available dates","description":"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.","inputs":[{"name":"appointment_id","type":"string","required":false,"description":"Existing appointment to find a new date for (UUID)."},{"name":"duration","type":"integer","required":false,"description":"Appointment length in minutes (required without appointment_id)."},{"name":"end_at","type":"string","required":false,"description":"Availability before this moment. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."},{"name":"interval","type":"integer","required":false,"description":"Slot start interval in minutes (required without appointment_id)."},{"name":"order_id","type":"string","required":false,"description":"Order to calculate availability for (UUID)."},{"name":"order_item_ids","type":"array","required":false,"description":"Order item ids of the proposed appointment."},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"per_page","type":"integer","required":false,"description":"Results per page, 1-100 (Aryeo default 25)."},{"name":"start_at","type":"string","required":false,"description":"Availability after this moment. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."},{"name":"timeframe","type":"string","required":false,"description":"A named timeframe instead of start_at/end_at (see Aryeo docs: use page to move through weeks/months)."},{"name":"timezone","type":"string","required":true,"description":"Client timezone (required by Aryeo); results are localized to it, e.g. America/Chicago."},{"name":"user_ids","type":"array","required":false,"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)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":356},{"name":"aryeo_list_listings","title":"List listings","description":"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.","inputs":[{"name":"active","type":"boolean","required":false,"description":"true = only listings with an active status (coming soon, for sale/lease, pending, sold, leased)."},{"name":"address","type":"string","required":false,"description":"Listings whose address matches, e.g. 123 Main St."},{"name":"bathrooms_max","type":"number","required":false,"description":"Maximum bathrooms."},{"name":"bathrooms_min","type":"number","required":false,"description":"Minimum bathrooms."},{"name":"bedrooms_max","type":"integer","required":false,"description":"Maximum bedrooms."},{"name":"bedrooms_min","type":"integer","required":false,"description":"Minimum bedrooms."},{"name":"delivery_status","type":"string","required":false,"description":"Only listings with this media delivery status."},{"name":"include","type":"string","required":false,"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…"},{"name":"list_agent","type":"string","required":false,"description":"Listings whose listing or co-listing agent matches, e.g. John Doe."},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"per_page","type":"integer","required":false,"description":"Results per page, 1-100 (Aryeo default 25)."},{"name":"price_max","type":"number","required":false,"description":"Maximum price."},{"name":"price_min","type":"number","required":false,"description":"Minimum price."},{"name":"search","type":"string","required":false,"description":"Listings with a field matching this text."},{"name":"sort","type":"string","required":false,"description":"Comma-separated sort fields; a leading - sorts descending. Default -created_at."},{"name":"square_feet_max","type":"number","required":false,"description":"Maximum square feet."},{"name":"square_feet_min","type":"number","required":false,"description":"Minimum square feet."},{"name":"status","type":"string","required":false,"description":"Only listings with this status."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":383},{"name":"aryeo_get_listing","title":"Get listing","description":"One listing by id: address, status, price, lot/building details, agents. Add include=images,videos,orders.appointments for media and visits. GET /listings/{id}.","inputs":[{"name":"include","type":"string","required":false,"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…"},{"name":"listing_id","type":"string","required":true,"description":"Aryeo listing id (UUID)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":120},{"name":"aryeo_get_listing_stats","title":"Get listing statistics","description":"Viewing statistics of a listing's property website (visits, views). GET /listings/{id}/stats.","inputs":[{"name":"listing_id","type":"string","required":true,"description":"Aryeo listing id (UUID)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":49},{"name":"aryeo_list_customers","title":"List customers","description":"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.","inputs":[{"name":"customer_team_ids","type":"string","required":false,"description":"Comma-separated customer team ids."},{"name":"email","type":"string","required":false,"description":"Customers with this exact email address."},{"name":"email_domain","type":"string","required":false,"description":"Customers whose email is on this domain, e.g. gmail.com."},{"name":"include","type":"string","required":false,"description":"Comma-separated relations to expand. Example: users. An unknown value makes Aryeo reply with the allowed list."},{"name":"name","type":"string","required":false,"description":"Customers with this name."},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"per_page","type":"integer","required":false,"description":"Results per page, 1-100 (Aryeo default 25)."},{"name":"phone","type":"string","required":false,"description":"Customers with this phone number."},{"name":"search","type":"string","required":false,"description":"Customers matching this text."},{"name":"sort","type":"string","required":false,"description":"Comma-separated sort fields; a leading - sorts descending. Default -created_at."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":234},{"name":"aryeo_create_customer","title":"Create customer","description":"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.","inputs":[{"name":"description","type":"string","required":false,"description":"Description of the customer."},{"name":"email","type":"string","required":true,"description":"Email address of the customer owner."},{"name":"license_number","type":"string","required":false,"description":"Real estate license number."},{"name":"office_name","type":"string","required":false,"description":"Name of the office or brokerage."},{"name":"owner_first_name","type":"string","required":true,"description":"First name of the customer owner."},{"name":"owner_last_name","type":"string","required":true,"description":"Last name of the customer owner."},{"name":"phone","type":"string","required":false,"description":"Phone number, e.g. 555-123-4567."},{"name":"team_name","type":"string","required":false,"description":"Name of the customer's team."},{"name":"timezone","type":"string","required":false,"description":"Default timezone, e.g. America/Chicago."},{"name":"website_url","type":"string","required":false,"description":"Website URL."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":205},{"name":"aryeo_list_products","title":"List products","description":"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.","inputs":[{"name":"category_ids","type":"array","required":false,"description":"Only products in these category ids."},{"name":"include_inactive","type":"boolean","required":false,"description":"true = also return inactive products."},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"per_page","type":"integer","required":false,"description":"Results per page, 1-100 (Aryeo default 25)."},{"name":"search","type":"string","required":false,"description":"Products with a field matching this text."},{"name":"sort","type":"string","required":false,"description":"Comma-separated sort fields; a leading - sorts descending. Default title."},{"name":"type","type":"string","required":false,"description":"Only main products or only add-ons."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":171},{"name":"aryeo_list_product_categories","title":"List product categories","description":"List the product categories (use the ids to filter aryeo_list_products). GET /product-categories.","inputs":[{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"per_page","type":"integer","required":false,"description":"Results per page, 1-100 (Aryeo default 25)."},{"name":"search","type":"string","required":false,"description":"Categories with a field matching this text."},{"name":"sort","type":"string","required":false,"description":"Comma-separated sort fields; a leading - sorts descending. Default title."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":116},{"name":"aryeo_list_coupons","title":"List coupons","description":"List discount coupons (name, percent or amount off, active state, times redeemed). GET /coupons.","inputs":[{"name":"include","type":"string","required":false,"description":"Comma-separated relations to expand. Examples: promotion_codes, discountables. An unknown value makes Aryeo reply with the allowed list."},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"per_page","type":"integer","required":false,"description":"Results per page, 1-100 (Aryeo default 25)."},{"name":"search","type":"string","required":false,"description":"Coupons whose name matches."},{"name":"sort","type":"string","required":false,"description":"Comma-separated sort fields; a leading - sorts descending. Default -created_at."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":149},{"name":"aryeo_list_order_forms","title":"List order forms","description":"List your order forms (the public booking forms customers use), with title, URL and scheduling settings. GET /order-forms.","inputs":[{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"per_page","type":"integer","required":false,"description":"Results per page, 1-100 (Aryeo default 25)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":85},{"name":"aryeo_list_team_members","title":"List team members","description":"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.","inputs":[{"name":"include","type":"string","required":false,"description":"Comma-separated relations to expand. Default: company_user. Example: company_user. An unknown value makes Aryeo reply with the allowed list."},{"name":"page","type":"integer","required":false,"description":"Page number, from 1 (default 1). Pass the previous reply's next_page."},{"name":"per_page","type":"integer","required":false,"description":"Results per page, 1-100 (Aryeo default 25)."},{"name":"search","type":"string","required":false,"description":"Team members matching this text."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":198},{"name":"aryeo_list_team_member_events","title":"List team member calendar","description":"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.","inputs":[{"name":"end","type":"string","required":false,"description":"End of the window. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."},{"name":"include_unscheduled","type":"boolean","required":false,"description":"true = include unscheduled appointments."},{"name":"start","type":"string","required":false,"description":"Start of the window. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."},{"name":"team_member_id","type":"string","required":true,"description":"Company team member id (UUID)."},{"name":"type","type":"string","required":false,"description":"Only events of this type."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":172},{"name":"aryeo_list_tasks","title":"List tasks","description":"List tasks (to-dos such as editing or delivery steps) with assignee, due date and completion state. GET /tasks.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":38},{"name":"aryeo_get_task","title":"Get task","description":"One task by id. GET /tasks/{id}.","inputs":[{"name":"task_id","type":"string","required":true,"description":"Aryeo task id (UUID)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":36},{"name":"aryeo_create_task","title":"Create task","description":"Create a task, optionally with a description, due date and an assignee (a company team member id). POST /tasks.","inputs":[{"name":"company_team_member_id","type":"string","required":false,"description":"Company team member to assign the task to (UUID)."},{"name":"description","type":"string","required":false,"description":"Task description."},{"name":"due_at","type":"string","required":false,"description":"Due date. ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."},{"name":"name","type":"string","required":true,"description":"Task name."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":113},{"name":"aryeo_complete_task","title":"Complete task","description":"Mark a task completed (now, or at the given time). PUT /tasks/{id}/complete.","inputs":[{"name":"completed_at","type":"string","required":false,"description":"Completion time (default: now). ISO 8601 date-time with a timezone, e.g. 2026-10-01T13:00:00Z."},{"name":"task_id","type":"string","required":true,"description":"Aryeo task id (UUID)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":88}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-06T13:01:22.000Z","track":"remote","endpoint":"https://aryeo.usefulapi.io/mcp","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=usefulapi.io","issuer":"CN=WE1,O=Google Trust Services,C=US","notBefore":"2026-09-13T08:55:39Z","notAfter":"2026-12-12T09:54:12Z","keyType":"ECDSA","keyBits":256,"isCa":false},{"subject":"CN=WE1,O=Google Trust Services,C=US","issuer":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","notBefore":"2023-12-13T09:00:00Z","notAfter":"2029-02-20T14:00:00Z","keyType":"ECDSA","keyBits":256,"isCa":true},{"subject":"CN=GTS Root R4,O=Google Trust Services LLC,C=US","issuer":"CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE","notBefore":"2023-11-15T03:43:21Z","notAfter":"2028-01-28T00:00:42Z","keyType":"ECDSA","keyBits":384,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"aryeo.usefulapi.io.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"io.","outcome":"verified","label":"Verified"},{"zone":"usefulapi.io.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"inconclusive","label":"Inconclusive","gate":null,"gateLabel":null,"status":302,"authorizationServers":[]},"httpsRedirect":{"outcome":"inconclusive","label":"Inconclusive","status":302},"transports":[{"transport":"streamable-http","outcome":"redirected","label":"Redirected","status":302,"followed":false}],"provenance":null,"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-31","recent":[{"id":"chg_01a1af76-5eb3-71bb-b800-83567afaceae","kind":"score.rubric_changed","summary":"We updated how we score, so this day's move reflects our rubric, not a change to the server","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-11-06","url":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo#chg-chg_01a1af76-5eb3-71bb-b800-83567afaceae"},{"id":"chg_01a19adc-d187-7e87-a558-f8363aee9a12","kind":"check.unverifiable","summary":"Tool safety (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo#chg-chg_01a19adc-d187-7e87-a558-f8363aee9a12"},{"id":"chg_01a19adc-d189-7155-bb8f-094b7becef15","kind":"check.unverifiable","summary":"Authorization (pass → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo#chg-chg_01a19adc-d189-7155-bb8f-094b7becef15"},{"id":"chg_01a19adc-d18b-7bd3-b658-a4de62d2349d","kind":"check.unverifiable","summary":"Stability (0.03 → unverified)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo#chg-chg_01a19adc-d18b-7bd3-b658-a4de62d2349d"},{"id":"chg_01a19adc-d18c-7138-9be7-8a3b04ab70a5","kind":"check.unverifiable","summary":"Schema quality (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo#chg-chg_01a19adc-d18c-7138-9be7-8a3b04ab70a5"},{"id":"chg_01a19adc-d18c-75a1-bda2-a4d9672eb319","kind":"check.unverifiable","summary":"Capabilities (pass → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo#chg-chg_01a19adc-d18c-75a1-bda2-a4d9672eb319"},{"id":"chg_01a19adc-d18c-7a87-8ea8-6419a66f9c12","kind":"check.unverifiable","summary":"Tool coverage (100 → unverified)","materiality":"functional","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo#chg-chg_01a19adc-d18c-7a87-8ea8-6419a66f9c12"},{"id":"chg_01a19adc-d18c-7e4c-864c-f63d24a18774","kind":"capture.status_changed","summary":"Endpoint reachability (reachable → not serving MCP)","materiality":"security","direction":"regression","scoreDelta":null,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo#chg-chg_01a19adc-d18c-7e4c-864c-f63d24a18774"},{"id":"chg_01a19adc-d18d-7357-a8be-2549d0a30b73","kind":"score.total_changed","summary":"Trust score (65 → 18)","materiality":"functional","direction":"regression","scoreDelta":-47,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo#chg-chg_01a19adc-d18d-7357-a8be-2549d0a30b73"},{"id":"chg_01a195b6-00af-7939-8f07-9f4dea481c64","kind":"check.reverified","summary":"Stability (unverified → 0.03)","materiality":"functional","direction":"improvement","scoreDelta":null,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo#chg-chg_01a195b6-00af-7939-8f07-9f4dea481c64"},{"id":"chg_01a195b6-00b0-7665-9fc1-543fef0a582a","kind":"score.total_changed","summary":"Trust score (64 → 65)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-01","url":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo#chg-chg_01a195b6-00b0-7665-9fc1-543fef0a582a"},{"id":"chg_01a193fa-6072-72fe-8ae1-31d10ad0b139","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo#chg-chg_01a193fa-6072-72fe-8ae1-31d10ad0b139"},{"id":"chg_01a19056-ecdf-7196-9939-a0fc44e05c1f","kind":"score.first_scored","summary":"First indexed and scored","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo#chg-chg_01a19056-ecdf-7196-9939-a0fc44e05c1f"}],"truncated":false,"feedUrl":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo/changelog.json"},"links":{"html":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo","markdown":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo.md","changelogJson":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo/changelog.json","changelogRss":"https://verifymcp.io/servers/io-usefulapi-aryeo/aryeo.xml","external":[{"label":"Remote endpoint","href":"https://aryeo.usefulapi.io/mcp"},{"label":"Repository","href":"https://github.com/m190/usefulapi-mcp"},{"label":"Website","href":"https://usefulapi.io/aryeo/"}]}}