{"apiVersion":"v1","directorySlug":"relyonone-mcp-3d619bf60d","title":"Relyonone","description":null,"pageUrl":"https://www.mcpbundles.com/skills/relyonone-mcp-3d619bf60d","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.relyonone.com/mcp","hostedMcpUrl":null,"toolCount":19,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.relyonone/relyonone-mcp-3d619bf60d","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"find_objects_by_plate_data","description":"Find the installations that match the identifiers read off an object's type/rating plate (typeplaatje) in a photo. Pass EVERY identifier you read — serial number, barcode, model/type code, article/part number, manufacturer/brand and product line — each with the label the plate showed next to it and the value exactly as printed, separators included. Pass them all in ONE call: the tool ranks candidates on how much of the plate agrees, so more identifiers give a better answer, and calling it once p","inputSchema":{"type":"object","required":["plateIdentifiers"],"properties":{"locationId":{"type":["string","null"],"default":null},"maxResults":{"type":"integer","default":10},"fieldMappings":{"type":["array","null"],"items":{"type":["object","null"],"properties":{"field":{"type":["string","null"]},"label":{"type":["string","null"]}}},"default":null},"categoryMappings":{"type":["array","null"],"items":{"type":["object","null"],"properties":{"label":{"type":["string","null"]},"level":{"type":"integer"}}},"default":null},"plateIdentifiers":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}}}}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"find_objects_by_plate_data","displayName":"find_objects_by_plate_data","title":"find_objects_by_plate_data"},{"name":"who_am_i","description":"Return the current user's identity: name, email, tenant, roles and whether they are the support account. Answers questions like 'who am I' or 'which user am I logged in as'.","inputSchema":{"type":"object","properties":{}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"who_am_i","displayName":"who_am_i","title":"who_am_i"},{"name":"get_order_materials","description":"Fetch the required and used materials for a work order (subOrder). Returns a list of articles, counts, types (Used/ToOrder/Return) and serial numbers. Use the Oid of L2SubOrder as returned by GetEmployeePlanning. Any {nl,en,fr} value is a localized label; use the conversation language, never translate it.","inputSchema":{"type":"object","required":["subOrderId"],"properties":{"subOrderId":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_order_materials","displayName":"get_order_materials","title":"get_order_materials"},{"name":"get_object_history","description":"Fetch the full work-order timeline for an installation by Oid. Returns installation details + chronological list of all visits with type, date, status and technician. Use search_objects first to obtain the Oid. Any {nl,en,fr} value is a localized label; use the conversation language, never translate it.","inputSchema":{"type":"object","required":["objectId"],"properties":{"objectId":{"type":"string"},"maxResults":{"type":"integer","default":20},"excludeWorkOrderId":{"type":["string","null"],"default":null}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_object_history","displayName":"get_object_history","title":"get_object_history"},{"name":"download_attachment","description":"Return a temporary, secure download link for an attachment — exactly like the backoffice: a SAS URL to the blob in Azure Storage that expires after a short time. Use the AttachmentId from the object dossier (Attachments). The link opens/saves the file with the original filename. Set includeImageForModel=true when the attachment is a photo you need to LOOK AT: the image is then also attached inline (downscaled) so you can interpret it, not just link to it.","inputSchema":{"type":"object","required":["attachmentId"],"properties":{"attachmentId":{"type":"string"},"expiryMinutes":{"type":"integer","default":15},"includeImageForModel":{"type":"boolean","default":false}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"download_attachment","displayName":"download_attachment","title":"download_attachment"},{"name":"search_work_orders","description":"Find a work order (one visit of an order) by its number: the order number, optionally with the counter, e.g. '12345' or '12345.2'. Returns the work order's Oid, date, technician and state — pass the Oid to work-order tools such as get_order_materials; never ask the user for an Oid. On several or uncertain matches the result is a choice the user answers; never pick one yourself.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string"},"orderOid":{"type":["string","null"],"default":null}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_work_orders","displayName":"search_work_orders","title":"search_work_orders"},{"name":"map_plate_data_to_object_fields","description":"Map the identifiers read off an object's type/rating plate (typeplaatje) onto the object fields they can fill — standard fields plus this environment's custom fields, choice lists constrained to their allowed options. Pass EVERY identifier you read, each with the label the plate showed next to it and the value exactly as printed, in ONE call. Deterministic: the mapping happens in code, not by you. The app reads the result directly from the stream — after calling, answer with one short sentence o","inputSchema":{"type":"object","required":["plateIdentifiers"],"properties":{"categoryMappings":{"type":["array","null"],"items":{"type":["object","null"],"properties":{"label":{"type":["string","null"]},"level":{"type":"integer"}}},"default":null},"plateIdentifiers":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"value":{"type":"string"}}}}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"map_plate_data_to_object_fields","displayName":"map_plate_data_to_object_fields","title":"map_plate_data_to_object_fields"},{"name":"search_objects","description":"Find an object (installation, equipment) by description, code, ERP number, serial number, barcode or article number when the user refers to one. Returns the object's Oid — pass it to other tools such as get_object_history or get_custom_fields; never ask the user for an Oid. On several or uncertain matches the result is a choice the user answers; never pick one yourself.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string"},"locationOid":{"type":["string","null"],"default":null}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_objects","displayName":"search_objects","title":"search_objects"},{"name":"get_order_control_data","description":"Load an order and everything the AI order-control check needs to reason about it, in one call. Pass the L2Order Oid and the stage ('Ready' or 'ToCheck'). ToCheck adds invoice lines, cost lines, and warranty/contract context on top of what Ready returns. Use DownloadAttachmentTool for the bytes of any attachment listed in the returned index. Hours are rounded to two decimals; material quantities stay exact. Enum fields keep their raw token; the 'Captions.Enums' block maps each token to {nl,en,fr}","inputSchema":{"type":"object","required":["orderId","stage"],"properties":{"stage":{"type":"string"},"orderId":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_order_control_data","displayName":"get_order_control_data","title":"get_order_control_data"},{"name":"get_activity_registration","description":"Read one activity registration (L2SubActivity) by its Oid: activity type, complaint, performed-work notes, additional information, the current details, the used materials, this registration's completed forms with their labelled answers, and the registration's photos (attached inline so you can look at them). Use this as grounding data for the 'Uitgevoerde werkzaamheden' text — only what is returned here (plus any recorded data in the message) is known about this registration. Any {nl,en,fr} valu","inputSchema":{"type":"object","required":["subActivityId"],"properties":{"subActivityId":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_activity_registration","displayName":"get_activity_registration","title":"get_activity_registration"},{"name":"get_object_dossier","description":"Fetch the FULL dossier of one installation/object by Oid: object fields, attachments, orders, work orders, activity registrations, used materials and forms. Each item includes a source reference (date + type of registration). Use this as the only data source for questions about the history of this object — anything not in here is not known for this object. Any {nl,en,fr} value is a localized label; use the conversation language, never translate it.","inputSchema":{"type":"object","required":["objectId"],"properties":{"objectId":{"type":"string"},"maxPerCategory":{"type":"integer","default":20},"excludeWorkOrderId":{"type":["string","null"],"default":null}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_object_dossier","displayName":"get_object_dossier","title":"get_object_dossier"},{"name":"get_custom_forms","description":"Return the environment's custom forms for a parent record: for each active form definition applicable to this parent type, the field metadata (label per language, data type, mandatory, group, ordering) AND every filled-in submission linked to this parent (field values, created-on, created-by). Use this to answer 'what forms exist here and what has already been captured'. parentType is 'SubOrder', 'SubActivity' or 'Appointment'. Use the search tools to obtain the parent oid. IsRequired already ac","inputSchema":{"type":"object","required":["parentType","oid"],"properties":{"oid":{"type":"string"},"parentType":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_custom_forms","displayName":"get_custom_forms","title":"get_custom_forms"},{"name":"get_location_history","description":"Fetch the full work-order timeline for a location by Oid. Returns location details + chronological list of all visits with type, date, status, technician and object. Use search_locations first to obtain the Oid. Any {nl,en,fr} value is a localized label; use the conversation language, never translate it.","inputSchema":{"type":"object","required":["locationId"],"properties":{"locationId":{"type":"string"},"maxResults":{"type":"integer","default":20},"excludeWorkOrderId":{"type":["string","null"],"default":null}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_location_history","displayName":"get_location_history","title":"get_location_history"},{"name":"get_field_labels","description":"Return the localized screen names (captions) of the persistent members of a FieldBuddy entity type. Use this to translate JSON property names in other tool outputs back to the labels the end user sees in the UI. Pass the short type name (e.g. 'L2Order', 'L2SubOrder'). Captions are returned as {nl,en,fr} dicts (plus the entity's own type caption); when writing your reply, use the entry matching the user's language. Optionally restrict to a subset via a comma-separated 'properties' list. Only memb","inputSchema":{"type":"object","required":["entityType"],"properties":{"entityType":{"type":"string"},"properties":{"type":["string","null"],"default":null}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_field_labels","displayName":"get_field_labels","title":"get_field_labels"},{"name":"get_sub_order_control_data","description":"Load a work order (L2SubOrder) and everything the AI work-order control check needs to reason about it, in one call: planning and time registrations, quick sign-off and signature status, the technician's own remark (TechnicianRemark) next to the back office's instruction (BackOfficeRemark), activity registrations with sign-off codes and materials, attachment and custom-form indexes, invoice and cost lines with the quantity the price agreement produces for each hour-based line, and a summary of t","inputSchema":{"type":"object","required":["subOrderId"],"properties":{"subOrderId":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_sub_order_control_data","displayName":"get_sub_order_control_data","title":"get_sub_order_control_data"},{"name":"search_debtors","description":"Find a debtor (customer) by name, code or ERP number when the user refers to one. Returns the debtor's Oid — pass it to other tools; never ask the user for an Oid. On several or uncertain matches the result is a choice the user answers; never pick one yourself.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_debtors","displayName":"search_debtors","title":"search_debtors"},{"name":"get_custom_fields","description":"Fetch the customer-specific custom fields (custom panels) of an entity — e.g. inspection fields, dimensions, type-specific data configured per environment. These fields are NOT in the standard fields. Returns per field the label, type and value. entityType is 'installation', 'order', 'location', 'debtor' or 'user'. Optionally pass 'filter' (search term) to only return fields whose label matches — useful when you are looking for one specific value (e.g. 'pressure', 'maintenance'). Use the search","inputSchema":{"type":"object","required":["entityType","oid"],"properties":{"oid":{"type":"string"},"filter":{"type":["string","null"],"default":null},"entityType":{"type":"string"}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_custom_fields","displayName":"get_custom_fields","title":"get_custom_fields"},{"name":"search_orders","description":"Find an order (the order level, not a work order) by order number or customer reference. Returns the order's Oid, debtor and location — pass the Oid to other tools; never ask the user for an Oid. For a specific visit/work order (order number plus a counter, e.g. 12345.2) use search_work_orders. On several or uncertain matches the result is a choice the user answers; never pick one yourself.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string"},"debtorOid":{"type":["string","null"],"default":null},"locationOid":{"type":["string","null"],"default":null}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_orders","displayName":"search_orders","title":"search_orders"},{"name":"search_locations","description":"Find a location (site) by name, code, ERP number, street, city or zipcode when the user refers to one. Returns the location's Oid — pass it to other tools, such as get_location_history for its visits; never ask the user for an Oid. On several or uncertain matches the result is a choice the user answers; never pick one yourself.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string"},"debtorOid":{"type":["string","null"],"default":null}}},"annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_locations","displayName":"search_locations","title":"search_locations"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Relyonone&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AucmVseW9ub25lLmNvbS9tY3AifQ%3D%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Relyonone%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.relyonone.com%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Relyonone%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.relyonone.com%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Relyonone&connectorUrl=https%3A%2F%2Fmcp.relyonone.com%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Relyonone\" --url \"https://mcp.relyonone.com/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/relyonone-mcp-3d619bf60d","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/relyonone-mcp-3d619bf60d/tools/{tool}","mcpServerUrl":"https://mcp.relyonone.com/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/relyonone-mcp-3d619bf60d?live=1"}