Close
Work with your Close CRM — leads, contacts, opportunities, and activities. Sign in with Close to connect.
What Close exposes.
Every tool below is one this server advertised the last time Omniio refreshed it, under the close__ namespace. Your agent never loads them all — it searches, and gets the few that match.
close__activity_search10 arguments
Search for activities. Results are returned ordered by date descending. Examples: - To list activities on a lead, use the lead_ids filter. - To list conversations, filter for calls and meetings. - Filter for Email to get individual messages, or EmailThread to get one result per conversation. An unfiltered search returns both.
close__aggregation6 arguments · 1 required
Perform an aggregation to answer questions like: - How many emails were sent this week? - Calls by user this week (Who made the most?) You MUST first fetch the list of available fields using the `get_fields` tool.
Required
include_typesclose__apply_voice_agent_update1 argument · 1 required
Apply a previously proposed voice agent update. This tool persists the server-stored proposal identified by proposal_id. It does not rerun the feedback processor, and it fails if the proposal has expired or the voice agent changed after the proposal was created.
Required
proposal_idclose__close_product_knowledge_search1 argument · 1 required
Search Close product documentation and knowledge base for relevant information. Use this tool when users ask about: - How to use specific Close features - Close API documentation and integration - Workflow automation and best practices - Product capabilities and limitations - Setup and configuration guidance Example queries: - "How do I set up automated lead assignment?" - "What are Close's API rate limits?" - "How to create custom fields in Close?" - "Best practices for email templates in Close"
Required
queryclose__create_address8 arguments · 7 required
Add a new address to an existing lead (company).
Required
lead_idlabeladdress_1citystatezipcodecountryclose__create_call_task6 arguments · 2 required
Schedule a call task on a lead, assigned to either a user or a voice agent (Chloe). A call task represents a scheduled outbound call that will be made to the specified contact at the given time. The task can be assigned to a specific user or dispatched to a voice agent.
Required
lead_idcontact_idclose__create_comment2 arguments · 2 required
Add a comment to a commentable object (note, call, opportunity, task, custom object, etc.). If the object already has a comment thread, the new comment is appended to it. Otherwise a new thread is started for the object. Use this tool for both starting a conversation and replying to an existing one — the object_id alone determines which. Comments support @-mentions of users and groups. The body is HTML.
Required
object_idbodyclose__create_contact7 arguments · 1 required
Create a new contact for a lead. A contact represents a person associated with a lead (company).
Required
lead_idclose__create_custom_activity_instance9 arguments · 2 required
Create a new custom activity instance on a lead. A custom activity instance is an activity of a custom activity type, holding the custom field values defined by that type. Use the find_custom_activities tool to look up the available custom activity types. If in an interactive session, ask the user for the relevant field values (including custom fields) before creating, even if they are not required.
Required
lead_idcustom_activity_type_idclose__create_custom_object_instance4 arguments · 3 required
Create a new custom object instance on a lead. A custom object instance is a record of a custom object type, attached to a lead and holding the custom field values defined by that type. Use the find_custom_object_types tool to look up the available custom object types. If in an interactive session, ask the user for the relevant field values (including custom fields) before creating, even if they are not required.
Required
lead_idcustom_object_type_idnameclose__create_draft_email10 arguments · 1 required
Create a draft email on a lead. The email is saved as an unsent draft for the user to review, edit, and send from Close; it is never sent automatically. Provide the body as Close rich text (HTML) via body_html; the sender's saved email signature is appended automatically. To create a reply in an existing thread, provide the ID of the email being replied to via in_reply_to_id.
Required
lead_idclose__create_email_template6 arguments · 3 required
Create a new email template. Handling of attachments and unsubscribe links via this tool is currently unsupported. Email template body should be HTML formatted. Use template tags as placeholders, for example: {{ organization.name }} to refer to the sender's organization name. {{ user.first_name }} {{ user.last_name }} {{ user.email }} {{ user.phone }} to refer to the user sending the email. {{ lead.display_name }} to refer to the lead name (recipient's name/company). {{ contact.first_name }} {{ contact.last_name }} to refer to the recipient.
Required
namesubjectbodyclose__create_lead5 arguments
Create a new lead (company). After creating a lead, you should usually add an address or contact (including phone or email) to the lead.
close__create_lead_status1 argument · 1 required
Create a new lead status.
Required
labelclose__create_note8 arguments · 1 required
Create a new note on a lead. A note is a text-based activity attached to a lead. At least one of note (plaintext) or note_html (rich text) must be provided.
Required
lead_idclose__create_opportunity11 arguments · 2 required
Create a new opportunity. Requires a lead ID and status ID. Other fields are optional. The value should be specified in cents (e.g., $100.00 = 10000).
Required
lead_idstatus_idclose__create_opportunity_status_tool3 arguments · 3 required
Create a new opportunity status.
Required
labeltypepipeline_idclose__create_pipeline1 argument · 1 required
Create a new opportunity pipeline. Use the create_opportunity_status tool to add statuses to the pipeline.
Required
nameclose__create_sms_template3 arguments · 2 required
Create a new SMS template. Handling of attachments via this tool is currently unsupported. Use template tags as placeholders, for example: {{ organization.name }} to refer to the sender's organization name. {{ user.first_name }} {{ user.last_name }} {{ user.email }} {{ user.phone }} to refer to the user sending the message. {{ lead.display_name }} to refer to the lead name (recipient's name/company). {{ contact.first_name }} {{ contact.last_name }} to refer to the recipient.
Required
nametextclose__create_task7 arguments · 2 required
Create a new task for a lead. A task represents a to-do item that can be assigned to a user and optionally associated with a contact.
Required
lead_idtextclose__create_workflow4 arguments · 2 required
Create a new workflow (a.k.a. sequence) with Draft status.
Required
namestepsclose__customized_builtin_labelsno arguments
Return the customized builtin labels. Only renamed labels are returned - an empty result means the default names apply.
close__delete_address8 arguments · 7 required
Delete an address from an existing lead (company) if there is an exact match.
Required
lead_idlabeladdress_1citystatezipcodecountryclose__delete_call_task1 argument · 1 required
Delete a call task. Does not affect sibling tasks.
Required
idclose__delete_contact1 argument · 1 required
Permanently delete an existing contact. This will remove the contact from its lead including its email addresses, phone numbers, and URLs will be removed. Activities on the lead are not affected. This action cannot be undone. ONLY call this if the user specifically instructed you to delete the contact.
Required
idclose__delete_custom_activity_instance1 argument · 1 required
Permanently delete an existing custom activity instance. This action cannot be undone. ONLY call this if the user specifically instructed you to delete the custom activity instance.
Required
idclose__delete_custom_object_instance1 argument · 1 required
Permanently delete an existing custom object instance. A custom object instance is a record of a custom object type, attached to a lead and holding the custom field values defined by that type. This action cannot be undone. ONLY call this if the user specifically instructed you to delete the custom object instance.
Required
idclose__delete_email_template1 argument · 1 required
Permanently delete an email template. If the template is used in any workflows (sequences), it cannot be deleted.
Required
idclose__delete_lead1 argument · 1 required
Permanently delete an existing lead (company) by ID including all of its addresses, contacts, opportunities, tasks, and activities. ONLY call this if the user specifically instructed you to delete the lead, and you confirmed what the deletion will entail and that it cannot be reversed.
Required
idclose__delete_lead_smart_view1 argument · 1 required
Permanently delete a lead smart view (saved search).
Required
idclose__delete_lead_status1 argument · 1 required
Permanently delete a lead status. Cannot delete if it's the last lead status in the organization or there are leads currently using this status.
Required
idclose__delete_note1 argument · 1 required
Permanently delete an existing note. This action cannot be undone. ONLY call this if the user specifically instructed you to delete the note.
Required
idclose__delete_opportunity1 argument · 1 required
Permanently delete an opportunity. This action cannot be undone. All data associated with the opportunity will be removed.
Required
idclose__delete_opportunity_status_tool1 argument · 1 required
Permanently delete an opportunity status. Cannot delete if it's the last opportunity status in the organization or there are opportunities currently using this status.
Required
idclose__delete_pipeline1 argument · 1 required
Permanently delete an opportunity pipeline. A pipeline can only be deleted if it has no statuses. The last pipeline cannot be deleted.
Required
idclose__delete_sms_template1 argument · 1 required
Permanently delete an SMS template. If the template is used in any workflows (sequences), it cannot be deleted.
Required
idclose__delete_task1 argument · 1 required
Permanently delete an existing task by ID. This action cannot be undone. ONLY call this if the user specifically instructed you to delete the task.
Required
idclose__enrich_field4 arguments · 3 required
Use AI to determine and set the value of a field on a lead or contact. The field is enriched using available data on the object and external sources, and the enriched value is written back to the object. By default the value is only written if the field is currently empty; set overwrite_existing_value to True to replace an existing value. Returns the enriched value along with the model's reasoning and confidence.
Required
object_typeobject_idfield_idclose__fetch_call1 argument · 1 required
Fetch a single call activity by ID. Returns the call's direction, outcome, participants, and (if available) its transcript.
Required
idclose__fetch_call_task1 argument · 1 required
Fetch a single call task by ID.
Required
idclose__fetch_comment1 argument · 1 required
Fetch a single comment by ID. Returns the comment's rich-text (HTML) body, the thread and lead it belongs to, its @-mentions, and the resolved author and last-editor names.
Required
idclose__fetch_contact1 argument · 1 required
Fetch an existing contact by ID. Returns the contact's details including name, title, email addresses, phone numbers, and URLs.
Required
idclose__fetch_custom_activity_instance1 argument · 1 required
Fetch an existing custom activity instance by ID. A custom activity instance is an activity of a custom activity type, holding the custom field values defined by that type. Returns the full instance, including its custom field values and the resolved lead, contact, and user names.
Required
idclose__fetch_custom_object_instance1 argument · 1 required
Fetch an existing custom object instance by ID. A custom object instance is a record of a custom object type, attached to a lead and holding the custom field values defined by that type. Returns the full instance, including its custom field values and the resolved lead, custom object type, and creator/updater names.
Required
idclose__fetch_custom_object_type1 argument · 1 required
Fetch a single custom object type by its ID. A custom object type defines the shape of a category of custom objects, including the custom fields its instances hold. Returns the type with its custom fields.
Required
idclose__fetch_email3 arguments · 1 required
Fetch a single email activity by ID.
Required
idclose__fetch_email_template1 argument · 1 required
Fetch an email template by ID. Returns the complete email template with all its details.
Required
idclose__fetch_email_thread1 argument · 1 required
Fetch a single Email Thread by ID. Returns thread metadata plus its most recent emails, newest first, with plaintext bodies. Returns only IDs for older messages.
Required
idclose__fetch_lead1 argument · 1 required
Fetch an existing lead (company) by ID.
Required
idclose__fetch_lead_smart_view1 argument · 1 required
Fetch a lead smart view (saved search) by ID.
Required
idclose__fetch_lead_status1 argument · 1 required
Fetch a lead status by ID.
Required
idclose__fetch_meeting_transcript1 argument · 1 required
Fetch a meeting's Notetaker transcript(s) by meeting activity ID. Returns the meeting's speaker breakdown, summary, and full speaker-labeled transcript text. Only covers Notetaker (meeting) transcripts; call transcripts are served by `fetch_call`.
Required
idclose__fetch_membership1 argument · 1 required
Fetch one of the organization's members by user id.
Required
user_idclose__fetch_note1 argument · 1 required
Fetch an existing note by ID. Returns the full note details including title, text, and metadata.
Required
idclose__fetch_opportunity1 argument · 1 required
Fetch a specific opportunity by ID. Returns the complete opportunity with all its details.
Required
idclose__fetch_opportunity_status1 argument · 1 required
Fetch an opportunity status by ID.
Required
idclose__fetch_pipeline_and_opportunity_statuses1 argument · 1 required
Fetch an opportunity pipeline, including its opportunity statuses, by ID.
Required
idclose__fetch_role1 argument · 1 required
Fetch one of the organization's roles by id, with every permission it grants. Use `list_roles` to resolve a role name to its id.
Required
role_idclose__fetch_sms1 argument · 1 required
Fetch a single SMS activity by ID. Returns the complete SMS, including message text and attachments.
Required
idclose__fetch_sms_template1 argument · 1 required
Fetch an SMS template by ID. Returns the complete SMS template with all its details.
Required
idclose__fetch_task1 argument · 1 required
Fetch an existing task by ID. Returns the task's details including the associated lead, contact, assignee, due date, priority, and completion status.
Required
idclose__fetch_workflow1 argument · 1 required
Fetch a single workflow by ID.
Required
idclose__find_call_outcomesno arguments
List all outcomes applicable to calls available in the organization.
close__find_call_tasks9 arguments
Find call tasks based on various filters. You can filter by lead, contact, assignee (a user or a voice agent), completion state, and scheduled/created/updated dates.
close__find_contact_custom_fieldsno arguments
List all contact custom fields defined for the organization. Includes both contact-specific fields and shared fields associated with contacts. Returns each field's ID, name, description, type, allowed choices (for choice fields), whether multiple values are accepted, and whether it is a shared field. Useful for deciding which custom field to read or write when working with contacts.
close__find_custom_activitiesno arguments
List all active (non-archived) Custom Activity Types in the organization, along with the custom fields defined on each type. Call this before creating a workflow with a "custom-activity-event" trigger so you can look up the correct Custom Activity Type ID.
close__find_custom_activity_instances5 arguments · 1 required
Find a lead's custom activity instances based on various filters. A custom activity instance is an activity of a custom activity type, holding the custom field values defined by that type. Always scoped to a single lead; optionally filter by attributed user, one or more custom activity types, or activity date. Results are sorted by most recent activity first and are cursor-paginated.
Required
lead_idclose__find_custom_object_instances3 arguments · 1 required
Find a lead's custom object instances. A custom object instance is a record of a custom object type, attached to a lead and holding the custom field values defined by that type. Always scoped to a single lead; optionally filter to a single custom object type. Results are ordered by creation date (oldest first) and are cursor-paginated.
Required
lead_idclose__find_custom_object_typesno arguments
List all custom object types in the organization, along with the custom fields defined on each type.
close__find_email_templates3 arguments
List or find email templates
close__find_formsno arguments
List all web forms in the organization. Call this before creating a workflow with a "form-submission-event" trigger so you can look up the correct Form ID.
close__find_groupsno arguments
List all groups in the organization.
close__find_lead_custom_fieldsno arguments
List all lead custom fields defined for the organization. Returns each field's ID, name, description, type, allowed choices (for choice fields), whether multiple values are accepted, and whether it is a shared field. Useful for deciding which custom field to read or write when working with leads.
close__find_lead_smart_views3 arguments
List lead smart views (saved searches).
close__find_lead_statusesno arguments
List or find lead statuses for the organization
close__find_meeting_outcomesno arguments
List all outcomes applicable to meetings available in the organization.
close__find_memberships1 argument
List the organization's members with each member's role name, whether the role is built-in or custom, active/inactive status, and join date. Richer than `org_users` — prefer this unless you only need a name or email. Most recent members first.
close__find_notes6 arguments
Find notes based on various filters.
close__find_opportunities11 arguments
Find opportunities by status (active/won/lost), owner, lead, or close-date range, optionally only those needing attention, sorted by soonest close, largest value, or highest confidence. Returns each opportunity with resolved lead, contact, owner, and status names; cursor-paginated.
close__find_opportunity_custom_fieldsno arguments
List all opportunity custom fields defined for the organization. Includes both opportunity-specific fields and shared fields associated with opportunities. Returns each field's ID, name, description, type, allowed choices (for choice fields), whether multiple values are accepted, and whether it is a shared field. Useful for deciding which custom field to read or write when working with opportunities.
close__find_pipelines_and_opportunity_statusesno arguments
List all opportunity pipelines and their opportunity statuses in the organization.
close__find_scheduling_links2 arguments
List available scheduling links for the user and org. User-owned personal links come with a URL. Shared links come with a special template tag. Each can be inserted into generated templates.
close__find_sms_templates3 arguments
List or find SMS templates
close__find_tasks7 arguments
Find tasks based on various filters. You can filter by lead, assignee, completion state, and due/created/ updated dates.
close__find_voice_agentsno arguments
List all voice agents configured for the organization. Voice agents are AI callers that place outbound calls to leads' contacts on the user's behalf. Returns each voice agent's ID and name. Use this to find the right voice agent ID when scheduling a call or assigning a call step in a workflow. Users may refer to voice agents as "voice agents", "Chloe", or by their configured name. When more than one agent exists, pick the most appropriate one based on the name.
close__find_workflows3 arguments
List or find workflows
close__get_fieldsno arguments
Use this tool ONLY to get a list of fields for the aggregation tool.
close__get_voice_agent_overview_report4 arguments
Cross-agent rollup for the Voice Agents list page. Returns one row per **active** agent — agents with completed calls in `date_range` **or** queued upcoming calls. Cumulative funnel counts (`answered`, `engaged`, `objective_met`) plus `total_calls`. `upcoming_calls` is the agent's queued (not yet completed) calls and is **not** bound by `date_range` — open tasks are open regardless of when scheduled (so an agent with only upcoming calls still appears). Use this to compare agents; for one agent's outcomes, sentiment, or time saved use `get_voice_agent_performance_report`. For an inventory of all configured voice agents regardless of activity, use `find_agent_configs`. The Voice Agents list (Agents tab) shows all-time stats, so leave `date_range` at its default (`all_time`) unless the user asks for a specific window. (The Upcoming and Recent tabs are call lists, not this rollup — search Calls for those.) Rows are sorted server-side per the `sort` field (default `most_calls`); pass a different mode rather than re-sorting in your reply. Set `reverse=True` to invert (e.g. `sort=most_calls, reverse=True` for least active first) — necessary to surface the bottom of the ordering, since `rows` are capped before they reach you. `truncated` and `total_agent_count` flag in-scope active agents; `dormant_agent_count` reports in-scope agents with **neither** completed calls in the date range **nor** queued upcoming calls (not included in `rows`).
close__get_voice_agent_performance_report2 arguments · 1 required
Performance metrics for one voice agent. Returns the numbers shown on the Performance tab of a Voice Agent detail page. Passing multiple `agent_config_ids` pools metrics into a single aggregate (not a per-agent breakdown — for that, use `get_voice_agent_overview_report`). For per-call drill-down, search Calls filtered by `agent_config_id`. When the user is on a Voice Agent page, pull `date_range` from `page_context.date_range` so the numbers match the UI. Percentages: `*_pct` is over `total_calls`; `engaged_over_answered_pct` and `objective_met_over_answered_pct` are over `answered` (tier-to-tier conversion). For any other denominator, compute from `*_count`. `funnel_previous_period_deltas` is null when the date range has no defined previous period (e.g. `all_time`).
Required
agent_config_idsclose__get_voice_agents1 argument · 1 required
Return detailed configuration for one or more voice agents. Includes each agent's objective, user instructions, and which skills are enabled. Use this as the follow-up to `find_voice_agents` once one or more agent IDs have been selected.
Required
agent_config_idsclose__lead_search4 arguments
Perform a simple lead search and return the initial set of results. Use this to retrieve all leads, most recent leads, search leads by keyword, or filter by lead status and smart view. For more complex searches use the `search` tool instead. Leads will be returned by last updated first.
close__list_rolesno arguments
List the roles that can be assigned in the organization. Covers Close's built-in roles plus any custom roles the org defines. Use this to resolve a role name to its id, or to see which roles grant organization management access.
close__org_infono arguments
Return general information about the organization and the user.
close__org_usersno arguments
Return active users (memberships) which are part of the current org.
close__paginate_search3 arguments
Paginate a search to retrieve more results. Provide exactly one of: - `search_id`: a `share_*` id from a previous search or shared entry, or - `smart_view_id`: a `save_*` Smart View (saved search) id the user is viewing.
close__propose_voice_agent_update3 arguments · 2 required
Propose a voice agent configuration update from natural-language feedback. This tool does not apply changes to the voice agent. It returns a short behavioral summary and proposal ID when the requested edit is clear. If the feedback is ambiguous, it returns clarification questions instead of making a proposal. Use apply_voice_agent_update with the proposal ID only after the user approves the proposal.
Required
agent_config_idfeedbackclose__schedule_voice_agent_call4 arguments · 2 required
Schedule a voice agent to call a lead's contact. Creates a call task assigned to the voice agent. The voice agent will place the call automatically at the scheduled time, or as soon as the queue picks it up when no time is given. Use `find_voice_agents` first to discover which voice agents are available in this organization.
Required
lead_idagent_config_idclose__search1 argument · 1 required
Perform a natural language search for leads or contacts. If a more specific search tool (like lead_search or activity_search) satisfies the request, use that tool instead. You can reference related objects like activities (such as calls, emails, meetings, notes, custom activities, etc.), opportunities, tasks as long as they are part of a lead query. Example queries: - leads not contacted in the past week - leads assigned to me with uncompleted tasks - leads with an active opportunity over $500 - contacts with CTO title Each returned result will contain a title label, preview text, object ID, and URL. The initial set of results, total count of all results, and a URL to open the results in Close is returned. To retrieve more results, use the returned cursor and call the paginate_search tool using the cursor and search ID returned in this response.
Required
queryclose__update_call_task7 arguments · 1 required
Update a call task. Only fields that are provided will be updated. Reassigning to a user or voice agent (agent_config_id) affects only this task. Completing a call task also completes every sibling task sharing its deduplication key.
Required
idclose__update_contact7 arguments · 1 required
Update an existing contact. You can update a contact's name, title, email addresses, phone numbers, and URLs. Only fields that are provided will be updated.
Required
idclose__update_custom_activity_instance6 arguments · 1 required
Update an existing custom activity instance. A custom activity instance is an activity of a custom activity type, holding the custom field values defined by that type. Only fields that are provided will be updated. For custom fields, only the custom fields included are modified; pass null to clear one. Pass 'clear' for contact_id to detach the contact.
Required
idclose__update_custom_object_instance3 arguments · 1 required
Update an existing custom object instance. A custom object instance is a record of a custom object type, attached to a lead and holding the custom field values defined by that type. Only fields that are provided will be updated. For custom fields, only the custom fields included are modified; pass null to clear one.
Required
idclose__update_draft_email9 arguments · 1 required
Update an existing draft email. Only draft emails can be updated; sent or scheduled emails are rejected. Only fields that are provided are changed. When the body is replaced the sender's saved email signature is appended again. This never sends the email.
Required
idclose__update_email_template8 arguments · 1 required
Update an existing email template. Only fields that are provided and not None will be updated. Handling of attachments and unsubscribe links via this tool is currently unsupported. Email template body should be HTML formatted. Use template tags as placeholders, for example: {{ organization.name }} to refer to the sender's organization name. {{ user.first_name }} {{ user.last_name }} {{ user.email }} {{ user.phone }} to refer to the user sending the email. {{ lead.display_name }} to refer to the lead name (recipient's name/company). {{ contact.first_name }} {{ contact.last_name }} to refer to the recipient.
Required
idclose__update_lead6 arguments · 1 required
Update an existing lead (company). Only fields that are provided and not None will be updated.
Required
idclose__update_lead_smart_view3 arguments · 1 required
Update a lead smart view (saved search). Only fields that are provided and not None will be updated.
Required
idclose__update_lead_status2 arguments · 2 required
Update the label of an existing lead status.
Required
idlabelclose__update_note6 arguments · 1 required
Update an existing note. Only fields that are provided will be updated. Note content is provided as rich text (HTML) via note_html; the plaintext note is automatically derived.
Required
idclose__update_opportunity11 arguments · 1 required
Update an existing opportunity. Only fields that are provided will be updated. The value should be specified in cents (e.g., $100.00 = 10000).
Required
idclose__update_opportunity_status_tool2 arguments · 2 required
Update the label of an existing opportunity status.
Required
idlabelclose__update_pipeline2 arguments · 1 required
Update an existing opportunity pipeline. Only fields that are provided will be updated.
Required
idclose__update_sms_template5 arguments · 1 required
Update an existing SMS template. Only fields that are provided will be updated. Fields that are not provided will remain unchanged. Handling of attachments via this tool is currently unsupported. Use template tags as placeholders, for example: {{ organization.name }} to refer to the sender's organization name. {{ user.first_name }} {{ user.last_name }} {{ user.email }} {{ user.phone }} to refer to the user sending the message. {{ lead.display_name }} to refer to the lead name (recipient's name/company). {{ contact.first_name }} {{ contact.last_name }} to refer to the recipient.
Required
idclose__update_task7 arguments · 1 required
Update an existing task. Only fields that are provided will be updated. Pass 'clear' for contact_id or due_date to clear those values.
Required
id
Three steps, and the last one is not yours.
Point a client at Omniio
One URL, authorized once by your client. If you already use Omniio, this step is done.
Switch Close on
Authorize it from your library; the grant is yours and stays yours.
Ask for what you need
The agent searches, reads the one schema it picked, and runs it. You do not name the tool.
claude mcp add --transport http omniio https://mcp.omniio.devOthers in the same category.
They share the endpoint, so having more than one on costs you nothing in context — the search decides which is relevant.