# How to integrate Control d MCP with Hermes

```json
{
  "title": "How to integrate Control d MCP with Hermes",
  "toolkit": "Control d",
  "toolkit_slug": "control_d",
  "framework": "Hermes",
  "framework_slug": "hermes-agent",
  "url": "https://composio.dev/toolkits/control_d/framework/hermes-agent",
  "markdown_url": "https://composio.dev/toolkits/control_d/framework/hermes-agent.md",
  "updated_at": "2026-05-06T08:07:14.685Z"
}
```

## Introduction

Hermes is a 24/7 autonomous agent that lives on your computer or server — it remembers what it learns and evolves as your usage grows.
This guide explains the easiest and most robust way to connect your Control d account to Hermes. You can do this through either Composio Connect CLI or Composio Connect MCP. For personal use we recommend the CLI, but you won't go wrong with MCP either.

## Also integrate Control d with

- [OpenAI Agents SDK](https://composio.dev/toolkits/control_d/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/control_d/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/control_d/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/control_d/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/control_d/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/control_d/framework/openclaw)
- [CLI](https://composio.dev/toolkits/control_d/framework/cli)
- [Google ADK](https://composio.dev/toolkits/control_d/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/control_d/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/control_d/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/control_d/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/control_d/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/control_d/framework/crew-ai)

## TL;DR

### What is Composio Connect?
Composio Connect is a consumer offering that lets anyone plug 1,000+ applications directly into their agent harness — including Hermes. It can:
- Search and load tools from relevant toolkits on-demand, reducing context usage.
- Chain multiple tools to accomplish complex workflows via a remote workbench, without excessive back-and-forth with the LLM.
- Manage app authentication end-to-end with zero manual overhead.

## Connect Control d to Hermes

### Integrating Control d with Hermes
### Using Composio Connect CLI
1. Install the Composio CLI
Run the install script directly, or paste https://composio.dev/hermes into your Hermes chat box to have it installed for you.

```bash
curl -fsSL https://composio.dev/install | bash
```

## What is the Control d MCP server, and what's possible with it?

The Control d MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Control d account. It provides structured and secure access to your DNS filtering and device management environment, so your agent can perform actions like managing devices, enforcing policies, retrieving analytics, and monitoring network access on your behalf.
- Device inventory management: Easily list all devices on your account or remove specific devices by their identifier for streamlined device control.
- Profile and rule administration: Direct your agent to delete profiles, custom rules, or schedules—helping you maintain and enforce up-to-date network policies.
- Network access monitoring: Retrieve a list of known access IPs to keep tabs on which endpoints are connecting to your network infrastructure.
- Analytics endpoints discovery: Quickly fetch available analytics storage regions and endpoints so you can integrate and analyze DNS traffic data efficiently.
- Organization details access: Have the agent fetch and present your organization's account details for easy reference and auditing.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `CONTROL_D_DELETE_DEVICES_DEVICE_ID` | Delete Device by ID | Tool to delete a Control-D device. Use when you need to remove a device by its identifier after confirming the device_id. |
| `CONTROL_D_DELETE_PROFILES_PROFILE_ID` | Delete Profile by ID | Tool to delete a profile. Use when you need to remove a profile by its ID after ensuring it is not enforced by any device. |
| `CONTROL_D_DELETE_PROFILES_PROFILE_ID_RULES_HOSTNAME` | Delete Profile Rule by Hostname | Tool to delete a specific custom rule by hostname from a profile. Use after confirming profile_id and hostname. |
| `CONTROL_D_DELETE_PROFILES_PROFILE_ID_RULES_RULE_ID` | Delete Profile Rule by Rule ID | Tool to delete a specific custom rule by its ID within a profile. Use after confirming profile_id and rule_id. |
| `CONTROL_D_DELETE_PROFILES_PROFILE_ID_RULES_RULE_ID_FOLDER_ID` | Delete Profile Rule in Folder | Tool to delete a specific custom rule within a folder. Use after confirming profile_id, rule_id, and folder_id. |
| `CONTROL_D_DELETE_PROFILES_PROFILE_ID_SCHEDULES_SCHEDULE_ID` | Delete Profile Schedule | Tool to delete a specific schedule within a profile. Use after confirming profile_id and schedule_id. |
| `CONTROL_D_GET_ACCESS` | List Known Access IPs | Tool to list known IPs associated with the account. Use when you need to retrieve recent access IPs for device resolver queries. |
| `CONTROL_D_GET_ANALYTICS_ENDPOINTS` | Get Analytics Endpoints | Tool to list analytics storage regions and their endpoints. Use after authenticating to retrieve available analytics regions. |
| `CONTROL_D_GET_DEVICES` | Get Devices | Tool to list all devices associated with the account. Use when you need to retrieve device inventory after authentication. |
| `CONTROL_D_GET_ORGANIZATIONS_ORGANIZATION` | Get Organization Details | Tool to view the authenticated organization's details. Use after confirming a valid API token. |
| `CONTROL_D_GET_PROFILES` | Get Profiles | Tool to list all profiles associated with the authenticated account. Use when you need an overview of accessible profiles. |
| `CONTROL_D_GET_PROFILES_OPTIONS` | Get Profile Options | Tool to get all available profile options. Use when you need to retrieve the possible configurations for profiles after authenticating. |
| `CONTROL_D_GET_PROFILES_PROFILE_ID` | Get Profile by ID | Tool to retrieve details of a specific profile by its ID. Use when you need full profile details after confirming the profile_id. |
| `CONTROL_D_GET_PROFILES_PROFILE_ID_ANALYTICS` | Get Profile Analytics | Tool to retrieve analytics data for a specific profile. Use after the profile has accrued usage data to fetch analytics. |
| `CONTROL_D_GET_PROFILES_PROFILE_ID_ANALYTICS_LOGS` | Get Profile Analytics Logs | Tool to list analytics log entries for a given profile. Use after confirming profile ID and optional date filters to fetch logs. |
| `CONTROL_D_GET_PROFILES_PROFILE_ID_ANALYTICS_LOGS_LOG_ID` | Get Analytics Log Entry | Tool to retrieve a specific analytics log entry by its ID. Use when you need details of an analytics log for a given profile. |
| `CONTROL_D_GET_PROFILES_PROFILE_ID_ANALYTICS_SUMMARY` | Get Profile Analytics Summary | Tool to fetch a summary of analytics data for a given profile. Use after confirming profile ID and desired date range. |
| `CONTROL_D_GET_PROFILES_PROFILE_ID_ANALYTICS_TOP_DOMAINS` | Get Profile Analytics Top Domains | Tool to fetch top domains accessed within a specific profile. Use after confirming profile ID. |
| `CONTROL_D_GET_PROFILES_PROFILE_ID_ANALYTICS_TOP_SERVICES` | Get Profile Top Services | Tool to fetch top services accessed within a profile. Use after confirming the profile ID and desired date range. |
| `CONTROL_D_GET_PROFILES_PROFILE_ID_FILTERS` | Get Profile Filters | Tool to list native filters associated with a specific profile. Use when you have a profile ID and need to retrieve its filters and their states. |
| `CONTROL_D_GET_PROFILES_PROFILE_ID_FILTERS_EXTERNAL` | List External Filters for Profile | Tool to list third-party filters for a specific profile. Use when you need to retrieve all external filters and their states after confirming the profile ID. |
| `CONTROL_D_GET_PROFILES_PROFILE_ID_FOLDERS` | Get Profile Folders | Tool to list rule folders (groups) within a profile. Use when you need to retrieve all folders for a given profile after confirming the profile ID. |
| `CONTROL_D_GET_PROFILES_PROFILE_ID_RULES` | List Custom Rules for Profile | Tool to retrieve custom rules associated with a specific profile. Use after confirming the profile ID. Omit `folder_id` to list rules in the root folder. |
| `CONTROL_D_GET_PROFILES_PROFILE_ID_RULES_FOLDER_ID` | List Custom Rules in Folder | Tool to retrieve custom rules in a specific folder of a profile. Use after confirming both profile ID and folder ID. |
| `CONTROL_D_GET_PROFILES_PROFILE_ID_RULES_RULE_ID` | Get Custom Rule by Rule ID | Tool to retrieve details of a specific custom rule by its ID. Use after confirming the profile_id and rule_id to fetch that rule's metadata. |
| `CONTROL_D_GET_PROFILES_PROFILE_ID_RULES_RULE_ID_FOLDER_ID` | Get Specific Rule in Folder | Tool to retrieve a specific rule within a folder by its ID. Use when you need full details of a custom rule in a profile's folder. |
| `CONTROL_D_GET_PROFILES_PROFILE_ID_SCHEDULES` | Get Profile Schedules | Tool to list schedules associated with a specific profile. Use after confirming the profile ID. |
| `CONTROL_D_GET_PROFILES_PROFILE_ID_SCHEDULES_SCHEDULE_ID` | Get Profile Schedule | Tool to retrieve a specific schedule by its ID within a profile. Use when you need details of a profile schedule after confirming the profile_id and schedule_id. |
| `CONTROL_D_GET_PROFILES_PROFILE_ID_SERVICES` | Get Profile Services | Tool to list services associated with a specific profile. Use when you need to retrieve all services that have any associated rules after confirming the profile ID. |
| `CONTROL_D_GET_SERVICES_CATEGORIES` | Get Service Categories | Tool to list all service categories. Use when you need to retrieve available categories before filtering or assigning services. |
| `CONTROL_D_GET_SERVICES_CATEGORIES_CATEGORY` | List Services by Category | Tool to list all services within a specific category. Use after confirming a valid category identifier. |
| `CONTROL_D_GET_USERS` | Get Users | Tool to retrieve user account data. Use when you need account details after authentication. |
| `CONTROL_D_POST_DEVICES` | Create Device | Tool to create a new device. Use when you need to provision devices and retrieve their DNS resolvers. |
| `CONTROL_D_POST_PROFILES` | Create Profile | Tool to create a new blank profile or clone an existing one. Use when you need to provision a profile before assigning rules or devices. |
| `CONTROL_D_POST_PROFILES_PROFILE_ID_RULES` | Create Custom Rules for Profile | Tool to create custom rules for a profile. Use after confirming the profile ID and preparing rule definitions. Provide a list of rule objects matching the API schema. |
| `CONTROL_D_POST_PROFILES_PROFILE_ID_RULES_FOLDER_ID` | Create Custom Rules in Profile Folder | Tool to create custom rules within a specific folder for a profile. Use after confirming the profile and folder IDs and preparing rule definitions. |
| `CONTROL_D_POST_PROFILES_PROFILE_ID_SCHEDULES` | Create Profile Schedule | Tool to create a new schedule within a specific profile. Use after gathering profile_id and schedule details. |
| `CONTROL_D_PUT_DEVICES_DEVICE_ID` | Modify Device | Tool to modify an existing device. Use when you need to update device settings by providing its ID. |
| `CONTROL_D_PUT_ORGANIZATIONS` | Modify Organization | Tool to modify organization settings and limits. Use when you need to change organization limits such as max_users or max_routers. Changing these fields is a billable event. |
| `CONTROL_D_PUT_PROFILES_PROFILE_ID` | Update Profile by ID | Tool to modify an existing profile by ID. Use when you need to update profile fields after confirming the current profile. Example: Update profile '123abc' with new name and settings. |
| `CONTROL_D_PUT_PROFILES_PROFILE_ID_FILTERS` | Bulk Update Profile Filters | Tool to bulk update filters on a specific profile. Use when you need to enable or disable multiple filters at once. Provide a list of filter IDs with desired states. |
| `CONTROL_D_PUT_PROFILES_PROFILE_ID_FILTERS_EXTERNAL` | Update External Filters for Profile | Tool to update external filters for a specific profile. Use when toggling third-party filters after listing them. |
| `CONTROL_D_PUT_PROFILES_PROFILE_ID_FILTERS_FILTER_FILTER` | Modify Profile Filter | Tool to modify the enabled state of a specific filter on a profile. Use when you need to enable or disable a particular filter. |
| `CONTROL_D_PUT_PROFILES_PROFILE_ID_RULES` | Modify Custom Rules for Profile | Tool to modify existing custom rule(s) for a profile. Use when you need to update rule details such as name, description, severity, or enabled status. Ensure to include the rule IDs to modify. |
| `CONTROL_D_PUT_PROFILES_PROFILE_ID_RULES_RULE_ID` | Update Custom Rule by Rule ID | Tool to update an existing custom rule by its ID. Use when modifying details like name, description, severity, or enabled status for a specific rule. |
| `CONTROL_D_PUT_PROFILES_PROFILE_ID_RULES_RULE_ID_FOLDER_ID` | Move Profile Rule to Folder | Tool to move a specific custom rule into a different folder. Use after confirming profile_id, rule_id, and folder_id. |
| `CONTROL_D_PUT_PROFILES_PROFILE_ID_SCHEDULES_SCHEDULE_ID` | Update Profile Schedule | Tool to update a specific schedule within a profile. Use when you need to modify schedule details after confirming profile_id and schedule_id. |
| `CONTROL_D_PUT_PROFILES_PROFILE_ID_SERVICES_SERVICE` | Modify Service for Profile | Tool to modify a specific service rule for a profile. Use when you need to update blocking, bypassing, spoofing, or proxy-redirect settings after reviewing existing rules. |

## Supported Triggers

None listed.

## Creating MCP Server - Stand-alone vs Composio SDK

The Control d MCP server provides comprehensive access to Control d operations through Composio. Once connected, Hermes can perform all major Control d actions on your behalf using natural language commands.

## Complete Code

None listed.

## Conclusion

### Way Forward
With Control d connected, Hermes can now act on your behalf whenever it detects a relevant task or you ask it to.
From here, you can extend Hermes further:
- Connect more apps: Calendar, Slack, Notion, Linear, and hundreds of others are available through the same Composio Connect setup. Each new integration compounds what Hermes can do for you.
- Build workflows across tools: Once multiple apps are connected, Hermes can chain actions together — turn an email into a calendar invite, a Slack message into a Linear ticket, or a meeting note into a follow-up draft.
- Let it learn your patterns: The more you use Hermes, the better it gets at anticipating how you'd handle recurring tasks. Give it feedback on drafts and decisions, and it will adapt.
If you run into trouble or want to share what you've built, join the [community](https://discord.com/invite/composio) or check out the [Docs](https://docs.composio.dev?utm_source=toolkits&utm_medium=framework_template&utm_campaign=hermes&utm_content=docs) for deeper configuration options.

## How to build Control d MCP Agent with another framework

- [OpenAI Agents SDK](https://composio.dev/toolkits/control_d/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/control_d/framework/claude-agents-sdk)
- [Claude Code](https://composio.dev/toolkits/control_d/framework/claude-code)
- [Claude Cowork](https://composio.dev/toolkits/control_d/framework/claude-cowork)
- [Codex](https://composio.dev/toolkits/control_d/framework/codex)
- [OpenClaw](https://composio.dev/toolkits/control_d/framework/openclaw)
- [CLI](https://composio.dev/toolkits/control_d/framework/cli)
- [Google ADK](https://composio.dev/toolkits/control_d/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/control_d/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/control_d/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/control_d/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/control_d/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/control_d/framework/crew-ai)

## Related Toolkits

- [Firecrawl](https://composio.dev/toolkits/firecrawl) - Firecrawl automates large-scale web crawling and data extraction. It helps organizations efficiently gather, index, and analyze content from online sources.
- [Tavily](https://composio.dev/toolkits/tavily) - Tavily offers powerful search and data retrieval from documents, databases, and the web. It helps teams locate and filter information instantly, saving hours on research.
- [Exa](https://composio.dev/toolkits/exa) - Exa is a data extraction and search platform for gathering and analyzing information from websites, APIs, or databases. It helps teams quickly surface insights and automate data-driven workflows.
- [Serpapi](https://composio.dev/toolkits/serpapi) - SerpApi is a real-time API for structured search engine results. It lets you automate SERP data collection, parsing, and analysis for SEO and research.
- [Peopledatalabs](https://composio.dev/toolkits/peopledatalabs) - Peopledatalabs delivers B2B data enrichment and identity resolution APIs. Supercharge your apps with accurate, up-to-date business and contact data.
- [Snowflake](https://composio.dev/toolkits/snowflake) - Snowflake is a cloud data warehouse built for elastic scaling, secure data sharing, and fast SQL analytics across major clouds.
- [Posthog](https://composio.dev/toolkits/posthog) - PostHog is an open-source analytics platform for tracking user interactions and product metrics. It helps teams refine features, analyze funnels, and reduce churn with actionable insights.
- [Amplitude](https://composio.dev/toolkits/amplitude) - Amplitude is a digital analytics platform for product and behavioral data insights. It helps teams analyze user journeys and make data-driven decisions quickly.
- [Bright Data MCP](https://composio.dev/toolkits/brightdata_mcp) - Bright Data MCP is an AI-powered web scraping and data collection platform. Instantly access public web data in real time with advanced scraping tools.
- [Browseai](https://composio.dev/toolkits/browseai) - Browseai is a web automation and data extraction platform that turns any website into an API. It's perfect for monitoring websites and retrieving structured data without manual scraping.
- [ClickHouse](https://composio.dev/toolkits/clickhouse) - ClickHouse is an open-source, column-oriented database for real-time analytics and big data processing using SQL. Its lightning-fast query performance makes it ideal for handling large datasets and delivering instant insights.
- [Coinmarketcal](https://composio.dev/toolkits/coinmarketcal) - CoinMarketCal is a community-powered crypto calendar for upcoming events, announcements, and releases. It helps traders track market-moving developments and stay ahead in the crypto space.
- [Databox](https://composio.dev/toolkits/databox) - Databox is a business analytics platform that connects your data from any tool and device. It helps you track KPIs, build dashboards, and discover actionable insights.
- [Databricks](https://composio.dev/toolkits/databricks) - Databricks is a unified analytics platform for big data and AI on the lakehouse architecture. It empowers data teams to collaborate, analyze, and build scalable solutions efficiently.
- [Datagma](https://composio.dev/toolkits/datagma) - Datagma delivers data intelligence and analytics for business growth and market discovery. Get actionable market insights and track competitors to inform your strategy.
- [Delighted](https://composio.dev/toolkits/delighted) - Delighted is a customer feedback platform based on the Net Promoter System®. It helps you quickly gather, track, and act on customer sentiment.
- [Dovetail](https://composio.dev/toolkits/dovetail) - Dovetail is a research analysis platform for transcript review and insight generation. It helps teams code interviews, analyze feedback, and create actionable research summaries.
- [Dub](https://composio.dev/toolkits/dub) - Dub is a short link management platform with analytics and API access. Use it to easily create, manage, and track branded short links for your business.
- [Elasticsearch](https://composio.dev/toolkits/elasticsearch) - Elasticsearch is a distributed, RESTful search and analytics engine for all types of data. It delivers fast, scalable search and powerful analytics across massive datasets.
- [Fireflies](https://composio.dev/toolkits/fireflies) - Fireflies.ai is an AI-powered meeting assistant that records, transcribes, and analyzes voice conversations. It helps teams capture call notes automatically and search or summarize meetings effortlessly.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Control d MCP?

With a standalone Control d MCP server, the agents and LLMs can only access a fixed set of Control d tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Control d and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with Hermes?

Yes, you can. Hermes fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Control d tools.

### Can I manage the permissions and scopes for Control d while using Tool Router?

Yes, absolutely. You can configure which Control d scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Control d data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
