# Ahrefs MCP

```json
{
  "name": "Ahrefs MCP",
  "slug": "ahrefs_mcp",
  "url": "https://composio.dev/toolkits/ahrefs_mcp",
  "markdown_url": "https://composio.dev/toolkits/ahrefs_mcp.md",
  "logo_url": "https://logos.composio.dev/api/ahrefs_mcp",
  "categories": [
    "analytics & data"
  ],
  "is_composio_managed": false,
  "updated_at": "2026-08-27T05:31:24.868Z"
}
```

![Ahrefs MCP logo](https://logos.composio.dev/api/ahrefs_mcp)

## Description

Securely connect your AI agents and chatbots (Claude, ChatGPT, Cursor, etc) with Ahrefs MCP or direct API to analyze backlinks, track rankings, research keywords, and compare competitors through natural language.

## Summary

Ahrefs MCP is Ahrefs' hosted MCP server for SEO data and insights.
Use it to access backlinks, organic metrics, keyword research, and competitor analysis.

## Categories

- analytics & data

## Toolkit Details

- Tools: 134

## Images

- Logo: https://logos.composio.dev/api/ahrefs_mcp

## Authentication

- **Dcr Oauth**
  - Type: `custom`
  - Description: Dcr Oauth authentication for Ahrefs MCP.
  - Setup:
    - Configure Dcr Oauth credentials for Ahrefs MCP.
    - Use the credentials when creating an auth config in Composio.

## Suggested Prompts

- List top backlinks for example.com
- Compare keyword rankings for two competitors
- Get organic traffic estimates by page

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `AHREFS_MCP_BATCH_ANALYSIS` | Batch-analysis | Performs a batch analysis of multiple URLs, domains, or subdomains to retrieve selected SEO, backlink, organic, and paid traffic metrics. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_AI_RESPONSES` | Brand-radar-ai-responses | Provides questions asked to AI assistants and the corresponding AI-generated responses that mention your brand or competitors’ brands, including cited sources and search volume estimates. Prefer using the equivalent 'brand-radar-ai-responses-entities' tool since the inputs are more descriptive. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_AI_RESPONSES_ENTITIES` | Brand-radar-ai-responses-entities | Provides questions asked to AI assistants and the corresponding AI-generated responses that mention your brand or competitors’ brands, including cited sources and search volume estimates. Prefer using this tool instead of the non '*-entities' tool, since you can more accurately describe brands/competitors with multiple names and/or their websites. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_CITATIONS_HISTORY_ENTITIES` | Brand-radar-citations-history-entities | Provides the historical number of citations for your and competitors' brand URLs in an LLM you specify. Every entity provided in `brands` (and `competitors`, when applicable) must include at least one value in `url_groups`. Entities consisting only of `names` are not supported here because citations are matched against URL groups. Prefer using this tool instead of the non '*-entities' tool, since you can more accurately describe brands/competitors with multiple names and/or their websites. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_CITATIONS_OVERVIEW_ENTITIES` | Brand-radar-citations-overview-entities | Provides the number of citations for your and competitors's brands in an LLM you specify, with filters for locations, query text, URL, and more. Every entity provided in `brands` (and `competitors`, when applicable) must include at least one value in `url_groups`. Entities consisting only of `names` are not supported here because citations are matched against URL groups. Prefer using this tool instead of the non '*-entities' tool, since you can more accurately describe brands/competitors with multiple names and/or their websites. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_CITED_DOMAINS` | Brand-radar-cited-domains | Provides domains cited in AI-generated responses that mention your brand or competitors' brands in an LLM you specify, including how many responses referenced each domain (broken down by brand) and estimated monthly search volume where each domain was mentioned. Prefer using the equivalent 'brand-radar-cited-domains-entities' tool since the inputs are more descriptive. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_CITED_DOMAINS_ENTITIES` | Brand-radar-cited-domains-entities | Provides domains cited in AI-generated responses that mention your brand or competitors' brands in an LLM you specify, including how many responses referenced each domain (broken down by brand) and estimated monthly search volume where each domain was mentioned. Prefer using this tool instead of the non '*-entities' tool, since you can more accurately describe brands/competitors with multiple names and/or their websites. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_CITED_PAGES` | Brand-radar-cited-pages | Provides the pages cited in AI-generated responses that mention your brand or competitors' brands in an LLM you specify, including how many responses referenced each page (broken down by brand) and estimated monthly search volume where each page was mentioned. Prefer using the equivalent 'brand-radar-cited-pages-entities' tool since the inputs are more descriptive. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_CITED_PAGES_ENTITIES` | Brand-radar-cited-pages-entities | Provides the pages cited in AI-generated responses that mention your brand or competitors' brands in an LLM you specify, including how many responses referenced each page (broken down by brand) and estimated monthly search volume where each page was mentioned. Prefer using this tool instead of the non '*-entities' tool, since you can more accurately describe brands/competitors with multiple names and/or their websites. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_IMPRESSIONS_HISTORY` | Brand-radar-impressions-history | Provides the historical number of impressions for your and competitors's brands in an LLM you specify. Prefer using the equivalent 'brand-radar-impressions-history-entities' tool since the inputs are more descriptive. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_IMPRESSIONS_HISTORY_ENTITIES` | Brand-radar-impressions-history-entities | Provides the historical number of impressions for your and competitors's brands in an LLM you specify. Prefer using this tool instead of the non '*-entities' tool, since you can more accurately describe brands/competitors with multiple names and/or their websites. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_IMPRESSIONS_OVERVIEW` | Brand-radar-impressions-overview | Provides the number of impressions for your and competitors's brands in an LLM you specify, with filters for locations, query text, URL, and more. Prefer using the equivalent 'brand-radar-impressions-overview-entities' tool since the inputs are more descriptive. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_IMPRESSIONS_OVERVIEW_ENTITIES` | Brand-radar-impressions-overview-entities | Provides the number of impressions for your and competitors's brands in an LLM you specify, with filters for locations, query text, URL, and more. Prefer using this tool instead of the non '*-entities' tool, since you can more accurately describe brands/competitors with multiple names and/or their websites. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_MENTIONS_HISTORY` | Brand-radar-mentions-history | Provides the historical number of mentions for your and competitors's brands in an LLM you specify. Prefer using the equivalent 'brand-radar-mentions-history-entities' tool since the inputs are more descriptive. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_MENTIONS_HISTORY_ENTITIES` | Brand-radar-mentions-history-entities | Provides the historical number of mentions for your and competitors's brands in an LLM you specify. Prefer using this tool instead of the non '*-entities' tool, since you can more accurately describe brands/competitors with multiple names and/or their websites. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_MENTIONS_OVERVIEW` | Brand-radar-mentions-overview | Provides the number of mentions for your and competitors's brands in an LLM you specify, with filters for locations, query text, URL, and more. Prefer using the equivalent 'brand-radar-mentions-overview-entities' tool since the inputs are more descriptive. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_MENTIONS_OVERVIEW_ENTITIES` | Brand-radar-mentions-overview-entities | Provides the number of mentions for your and competitors's brands in an LLM you specify, with filters for locations, query text, URL, and more. Prefer using this tool instead of the non '*-entities' tool, since you can more accurately describe brands/competitors with multiple names and/or their websites. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_SOV_HISTORY` | Brand-radar-sov-history | Provides the historical share of voice for your and competitors's brands in an LLM you specify. Prefer using the equivalent 'brand-radar-sov-history-entities' tool since the inputs are more descriptive. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_SOV_HISTORY_ENTITIES` | Brand-radar-sov-history-entities | Provides the historical share of voice for your and competitors's brands in an LLM you specify. Prefer using this tool instead of the non '*-entities' tool, since you can more accurately describe brands/competitors with multiple names and/or their websites. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_SOV_OVERVIEW` | Brand-radar-sov-overview | Provides the share of voice for your and competitors's brands in an LLM you specify, with filters for locations, query text, URL, and more. Prefer using the equivalent 'brand-radar-sov-overview-entities' tool since the inputs are more descriptive. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_BRAND_RADAR_SOV_OVERVIEW_ENTITIES` | Brand-radar-sov-overview-entities | Provides the share of voice for your and competitors's brands in an LLM you specify, with filters for locations, query text, URL, and more. Prefer using this tool instead of the non '*-entities' tool, since you can more accurately describe brands/competitors with multiple names and/or their websites. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_DOC` | Doc | Full documentation for Ahrefs API v3 and the corresponding MCP tools. You must use this tool to get the input schema for any other tool. The documentation is returned in OpenAPI format. It can be used to craft a request to the API v3 directly, or to the MCP server. Online documentation for the Ahrefs API v3 is also available at https://docs.ahrefs.com/docs/api/reference/introduction |
| `AHREFS_MCP_GSC_ANONYMOUS_QUERIES` | Gsc-anonymous-queries | Returns organic keywords that rank for the project but are not reported by Google Search Console (anonymized queries), with position, traffic, volume, and CPC data. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_GSC_CTR_BY_POSITION` | Gsc-ctr-by-position | Returns Google Search Console CTR (click-through rate) data by keyword position, showing each keyword's average position, CTR percentage, and click count. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_GSC_KEYWORD_HISTORY` | Gsc-keyword-history | Returns Google Search Console performance history chart data (clicks, impressions, CTR, position) for specific keywords over time, grouped by daily, weekly, or monthly intervals. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_GSC_KEYWORDS` | Gsc-keywords | Returns Google Search Console keywords table data with metrics (clicks, impressions, CTR, position) and associated URLs for a project. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_GSC_METRICS_BY_COUNTRY` | Gsc-metrics-by-country | Returns Google Search Console click metrics grouped by country for a project. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_GSC_PAGE_HISTORY` | Gsc-page-history | Returns Google Search Console performance history chart data (clicks, impressions, CTR, position) for specific pages over time, grouped by daily, weekly, or monthly intervals. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_GSC_PAGES` | Gsc-pages | Returns Google Search Console pages table data with metrics (clicks, impressions, CTR, position) and associated keywords for a project. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_GSC_PAGES_HISTORY` | Gsc-pages-history | Returns Google Search Console pages chart data showing total indexed pages over time for a project. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_GSC_PERFORMANCE_BY_DEVICE` | Gsc-performance-by-device | Returns Google Search Console performance metrics (clicks, impressions, CTR, position) broken down by device type (desktop, mobile, tablet) for a project. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_GSC_PERFORMANCE_BY_POSITION` | Gsc-performance-by-position | Returns Google Search Console performance metrics (clicks, impressions, keyword count) grouped by position ranges (1-3, 4-10, 11-20, 21-50, 51+) for a project. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_GSC_PERFORMANCE_HISTORY` | Gsc-performance-history | Returns Google Search Console performance chart data (clicks, impressions, CTR, position) for a project over time, grouped by daily, weekly, or monthly intervals. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_GSC_POSITIONS_HISTORY` | Gsc-positions-history | Returns Google Search Console keyword count data grouped by position ranges (1-3, 4-10, 11-20, 21-50, 51+) over time for a project. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_KEYWORDS_EXPLORER_MATCHING_TERMS` | Keywords-explorer-matching-terms | Retrieves keyword ideas and their associated SEO metrics by matching input terms or phrases in a specified country, with extensive support for filtering, sorting, and metric selection. Requests will not consume API units if you use only "ahrefs" or "wordcount" in the `keywords` or `keyword` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_KEYWORDS_EXPLORER_OVERVIEW` | Keywords-explorer-overview | Provides an overview of keyword metrics—including search volume, CPC, ranking difficulty, traffic potential, and intent—for specified keywords, domains, or URLs within a given country. Requests will not consume API units if you use only "ahrefs" or "wordcount" in the `keywords` or `keyword` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_KEYWORDS_EXPLORER_RELATED_TERMS` | Keywords-explorer-related-terms | Returns keyword metrics and related terms—such as "also rank for" keywords and "also talk about" keywords—for a given keyword or keyword list, with filtering and sorting options. Requests will not consume API units if you use only "ahrefs" or "wordcount" in the `keywords` or `keyword` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_KEYWORDS_EXPLORER_SEARCH_SUGGESTIONS` | Keywords-explorer-search-suggestions | Provides keyword search suggestions and related keyword metrics (e.g., search volume, difficulty, CPC) for specified queries or keyword lists, with options to filter, sort, and customize returned fields by country. Requests will not consume API units if you use only "ahrefs" or "wordcount" in the `keywords` or `keyword` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_KEYWORDS_EXPLORER_VOLUME_BY_COUNTRY` | Keywords-explorer-volume-by-country | Retrieves search volume metrics for a specified keyword broken down by country. Requests will not consume API units if you use only "ahrefs" or "wordcount" in the `keywords` or `keyword` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_KEYWORDS_EXPLORER_VOLUME_HISTORY` | Keywords-explorer-volume-history | Retrieves historical search volume data for a specified keyword within a given country and date range. Requests will not consume API units if you use only "ahrefs" or "wordcount" in the `keywords` or `keyword` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_MANAGEMENT_BRAND_RADAR_PROMPTS` | Management-brand-radar-prompts | Retrieves custom prompts for a specific brand radar report. Requests to this endpoint are free and do not consume any API units. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_MANAGEMENT_BRAND_RADAR_REPORTS` | Management-brand-radar-reports | Retrieves the list of custom brand radar reports. Requests to this endpoint are free and do not consume any API units. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_MANAGEMENT_KEYWORD_LIST_KEYWORDS` | Management-keyword-list-keywords | Retrieves keywords from a keyword list. Requests to this endpoint are free and do not consume any API units. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_MANAGEMENT_LOCATIONS` | Management-locations | Retrieves a list of management locations filtered by country code and optionally by US state. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_MANAGEMENT_PROJECT_COMPETITORS` | Management-project-competitors | Retrieves the list of competitors associated with a specific Rank Tracker project in Ahrefs, using the project's unique identifier. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_MANAGEMENT_PROJECT_KEYWORDS` | Management-project-keywords | Returns all tracked keywords for a specific Rank Tracker project, including associated tracking metadata. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_MANAGEMENT_PROJECTS` | Management-projects | Retrieves information about existing projects, including ownership, access type, presence of Rank Tracker keywords, and project ID. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_PUBLIC_CRAWLER_IP_RANGES` | Public-crawler-ip-ranges | Returns the IP ranges used by the Ahrefs public web crawler, typically for allowlisting or firewall configuration. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_PUBLIC_CRAWLER_IPS` | Public-crawler-ips | Returns the list of individual IP addresses currently used by the Ahrefs public web crawler. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_PUBLIC_DOMAIN_RATING_FREE` | Public-domain-rating-free | Retrieves the domain rating for a specified domain or URL as of today. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_PUBLIC_DOMAIN_RATING_TOP_DOMAINS` | Public-domain-rating-top-domains | Returns the top 1M domains ranked by Ahrefs Domain Rating, together with each domain's current Domain Rating. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_RANK_TRACKER_COMPETITORS_DOMAINS` | Rank-tracker-competitors-domains | Provides an overview of competitor domains and their share of voice for a specified project and date in Ahrefs Rank Tracker, allowing comparison between current and previous data. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_RANK_TRACKER_COMPETITORS_OVERVIEW` | Rank-tracker-competitors-overview | Provides an overview of competitor rankings and keyword metrics for a specified project and date in Ahrefs Rank Tracker, allowing comparison between current and previous data. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_RANK_TRACKER_COMPETITORS_PAGES` | Rank-tracker-competitors-pages | Provides an overview of competitor pages and keyword metrics for a specified project and date in Ahrefs Rank Tracker, allowing comparison between current and previous data. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_RANK_TRACKER_COMPETITORS_STATS` | Rank-tracker-competitors-stats | Provides an overview of competitor metrics for a specified project and date in Ahrefs Rank Tracker. Metrics include: share of voice, share of traffic value, average position, traffic, traffic value, and positions, and counts of SERP features. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_RANK_TRACKER_OVERVIEW` | Rank-tracker-overview | Provides an overview of tracked keyword rankings and related search metrics for a specified project and date, with support for historical comparison, filtering, column selection, and device type. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_RANK_TRACKER_SERP_OVERVIEW` | Rank-tracker-serp-overview | Returns SERP overview for a specified keyword in a Rank Tracker project, showing detailed information about each position including title, URL, type, backlink metrics, and traffic data. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_RENDER_DATA_TABLE` | Render-data-table | Render an interactive data table widget with sorting, search, and pagination. Accepts column definitions (key and label) and row data. Column types are inferred automatically from the data. IMPORTANT: preserve array values in row data as JSON arrays (e.g. tags: ["tag1", "tag2"]), do not flatten them to comma-separated strings. The source field is optional: set source.tool to the bare tool name without any connector or namespace prefix (e.g. 'site-explorer-all-backlinks' not 'my-connector:site-explorer-all-backlinks'), and source.params to the arguments you passed, to generate an 'Open in Ahrefs' link. |
| `AHREFS_MCP_RENDER_SCORECARD` | Render-scorecard | Render a scorecard widget showing key metrics as a card grid. Accepts metric cards with labels, raw numeric values, optional unit, optional change indicators, and optional grouping. IMPORTANT: 'value' is a raw number (e.g. 1234567 not '1,234,567' or '1.2M'); the frontend handles all display formatting. Use 'unit' for symbols: '$' for currency, '%' for percentages, 's' for duration in seconds (rendered as e.g. '11m 27s'). Monetary values are in USD cents (not dollars), make sure to divide them by 100 first such that they are displayed in USD. Omit 'value' or pass null for N/A. Change indicators: change.value is a positive number (the percentage amount, e.g. 12.4 for a 12.4% change); change.direction is 'up' or 'down'. When there are more than 4 cards, use the 'group' field to organize them into logical sections (e.g. 'Organic' and 'Paid'). Always include the source field when the data came from an Ahrefs tool call. Set source.tool to the bare tool name without any connector or namespace prefix (e.g. 'site-explorer-metrics' not 'my-connector:site-explorer-metrics'), and source.params to the arguments you passed, to generate an 'Open in Ahrefs' link. |
| `AHREFS_MCP_RENDER_TIME_SERIES_CHART` | Render-time-series-chart | Render an interactive time series line chart. Accepts one or more named data series. Supports multi-series with automatic dual Y-axis when 2 series have different units. Features hover tooltip, vertical crosshair, and toggleable legend. IMPORTANT: series names are shown in the chart legend and must be human-readable labels. Convert snake_case identifiers to Title Case (e.g. 'position_1_to_3' becomes 'Position 1 to 3', 'org_traffic' becomes 'Organic Traffic'). Expand abbreviations where possible (e.g. 'ctr' becomes 'CTR', 'org' becomes 'Organic', 'avg' becomes 'Average'). Never pass an empty string as a series name; use a descriptive label like 'Other' or 'Not Set' instead. The source field is optional: set source.tool to the bare tool name without any connector or namespace prefix (e.g. 'brand-radar-sov-history' not 'my-connector:brand-radar-sov-history'), and source.params to the arguments you passed, to generate an 'Open in Ahrefs' link. Unit labels appear next to values in tooltips: only set unit for currencies ('$') or percentages ('%'). Omit unit for all other metrics. Monetary values are in USD cents (not dollars), make sure to divide them by 100 first such that they are displayed in USD. |
| `AHREFS_MCP_SERP_OVERVIEW` | Serp-overview | Returns an overview of the top search results (SERP) for a specified keyword and country, including detailed metrics about each result like position, backlinks, traffic, domain rating, and related keywords. Requests will not consume API units if you use only "ahrefs" or "wordcount" in the `keywords` or `keyword` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_AUDIT_ISSUES` | Site-audit-issues | Returns all issues from your Site Audit crawl. By default, it provides data from the latest available crawl, but you can also specify a crawl date and time to retrieve historical metrics. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_AUDIT_PAGE_CONTENT` | Site-audit-page-content | Returns the HTML and extracted text content of a page from your Site Audit crawl. By default, it provides the latest available snapshot, but you can also specify a crawl date and time to retrieve historical snapshots. You can choose to pull raw HTML, rendered HTML, or page text. The endpoint is available only for projects with verified ownership. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_AUDIT_PAGE_EXPLORER` | Site-audit-page-explorer | Returns detailed information about pages discovered in a Site Audit project, including URLs, crawl metadata, and selected on-page metrics. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_AUDIT_PROJECTS` | Site-audit-projects | Returns Site Audit project summaries (all projects or a specific project), including health scores, issue counts, and crawled page counts for the latest crawl or a specified historical point in time. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_AI_RESPONSES_COUNT` | Site-explorer-ai-responses-count | Returns how often AI search platforms cite the target, with the number of citation links and distinct cited pages per platform as of a given date. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_ALL_BACKLINKS` | Site-explorer-all-backlinks | Retrieves detailed information about all backlinks pointing to a specified URL or domain, with extensive filtering, sorting, selection, and aggregation options. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_ANCHORS` | Site-explorer-anchors | Retrieves anchor text and associated backlink metrics for a specified domain or URL, with filtering and selection options. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_BACKLINKS_STATS` | Site-explorer-backlinks-stats | Provides backlink statistics for a specified URL or domain as of a given date, with options to control protocol and scope. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_BROKEN_BACKLINKS` | Site-explorer-broken-backlinks | Retrieves a list of broken backlinks (i.e., links pointing to non-functioning pages) for a specified domain or URL, with customizable filtering, field selection, and aggregation options. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_CRAWLED_PAGES` | Site-explorer-crawled-pages | Returns a list of pages crawled by Ahrefs for a specified domain or URL, including the page URLs. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_DOMAIN_RATING` | Site-explorer-domain-rating | Retrieves the domain rating and related metrics for a specified domain or URL as of a specific date. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_DOMAIN_RATING_HISTORY` | Site-explorer-domain-rating-history | Retrieves the historical domain rating data for a specified domain or URL over a defined date range and grouping interval. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_KEYWORDS_HISTORY` | Site-explorer-keywords-history | Retrieves historical data on the number of organic keywords a specified website or URL has ranked for, segmented by various search position ranges and grouped by a chosen time interval. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_LINKED_ANCHORS_EXTERNAL` | Site-explorer-linked-anchors-external | Retrieves data about external anchor text (the clickable words in outbound links) used on a specified domain, subdomain, or URL, including metrics like dofollow link counts, distinct linked domains, and other attributes about the links. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_LINKED_ANCHORS_INTERNAL` | Site-explorer-linked-anchors-internal | Retrieves internal anchor text data for a given website or URL, detailing how anchor texts are used in links between pages on the same site. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_LINKED_DOMAINS` | Site-explorer-linked-domains | Retrieves information about external domains that are linked from a specified target domain or URL, allowing for filtering, field selection, and various scopes of analysis. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_METRICS` | Site-explorer-metrics | Provides SEO performance metrics for a specified domain, URL, or site section as of a given date, with options to customize search scope, protocol, country, and search volume mode. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_METRICS_BY_COUNTRY` | Site-explorer-metrics-by-country | Provides organic and paid search performance metrics for a specified website, broken down by country, for a specific date. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_METRICS_HISTORY` | Site-explorer-metrics-history | Retrieves historical data on key organic and paid search traffic and cost metrics for a specified domain, URL, or path over a selectable date range and grouping interval. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_ORGANIC_COMPETITORS` | Site-explorer-organic-competitors | Retrieves a list of organic search competitors for a specified website or URL, providing comparative SEO metrics such as common keywords, traffic estimations, and domain strength for a chosen country and date. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_ORGANIC_KEYWORDS` | Site-explorer-organic-keywords | Retrieves detailed organic keyword data for a given domain, URL, or path, including rankings, search intent, SERP features, traffic and CPC metrics, with the ability to filter, sort, and compare metrics across dates and regions. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_OUTLINKS_STATS` | Site-explorer-outlinks-stats | Retrieves statistical data about the outbound links (outlinks) from a specified URL, domain, or site section. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_PAGES_BY_BACKLINKS` | Site-explorer-pages-by-backlinks | Returns a list of a site's or URL's best-performing pages, ranked by the number of referring external links, with flexible filtering and sorting options. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_PAGES_BY_INTERNAL_LINKS` | Site-explorer-pages-by-internal-links | Retrieves a site's or page's internal link metrics, allowing analysis of how pages within the given domain or URL are interconnected and which pages receive the most internal links. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_PAGES_BY_TRAFFIC` | Site-explorer-pages-by-traffic | Returns the distribution of pages by estimated organic traffic buckets for a specified domain or URL, across all locations or for a specified country. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_PAGES_HISTORY` | Site-explorer-pages-history | Retrieves historical data about pages from a specified domain, URL, or section of a site, grouped by a chosen time interval. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_PAID_PAGES` | Site-explorer-paid-pages | Returns detailed metrics about pages on a specified site or URL that are ranking in paid search results, including traffic, keyword data, ad presence, and changes over time, with powerful filtering and comparison capabilities. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_REFDOMAINS_HISTORY` | Site-explorer-refdomains-history | Provides historical data on referring domains linking to a specified target (domain or URL) over a defined date range, with customizable grouping and analysis scope. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_REFERRING_DOMAINS` | Site-explorer-referring-domains | Retrieves detailed information about referring domains that link to a specified target domain or URL, with flexible filtering, selection, and sorting of backlink-related metrics. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_TOP_PAGES` | Site-explorer-top-pages | Returns a list of the top-performing pages for a specified website or URL, including detailed SEO metrics (such as organic rankings, traffic, top keyword, and changes over time), with support for comparison between two dates and flexible filtering. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_TOTAL_SEARCH_VOLUME_HISTORY` | Site-explorer-total-search-volume-history | Returns historical totals of search volume for keywords that the specified domain or URL ranks for in the top 10 or top 100 results, across all countries or for a specified country. When analyzing a domain name, you must use mode=subdomains. Using mode=domain can exclude www and other subdomains. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SITE_EXPLORER_URL_RATING_HISTORY` | Site-explorer-url-rating-history | Retrieves the historical URL rating data for a specified domain or URL over a defined date range, grouped by a chosen time interval. Requests will not consume API units if you use the "ahrefs.com" or "wordcount.com" domains, or any URL from these domains, in the `target` query parameter. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SOCIAL_MEDIA_ACTIVITY_HISTORY` | Social-media-activity-history | Get the activity history log for posts (published, scheduled, failed, etc.). Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SOCIAL_MEDIA_AUTHORS` | Social-media-authors | List users who have created posts in the account. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SOCIAL_MEDIA_CHANNEL_METRICS` | Social-media-channel-metrics | Get historical follower count data for connected channels. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SOCIAL_MEDIA_CHANNELS` | Social-media-channels | List social media channels with their connection status and metadata. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SOCIAL_MEDIA_POST_METRICS` | Social-media-post-metrics | Get engagement metrics (views, likes, etc.) for a specific post. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SOCIAL_MEDIA_POSTS` | Social-media-posts | List social media posts with filtering by channel, status, and author. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_SUBSCRIPTION_INFO_LIMITS_AND_USAGE` | Subscription-info-limits-and-usage | Retrieves subscription information including limits and usage statistics for API units, workspace quotas, and API key details. This endpoint is free and does not consume any API units. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_BROWSERS` | Web-analytics-browsers | Returns browser statistics for a Web Analytics project, showing visitor counts, bounce rates, and session durations grouped by browser. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_BROWSERS_CHART` | Web-analytics-browsers-chart | Returns time-series chart data grouped by browser for a Web Analytics project, showing visitor counts, bounce rates, and session durations over time. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_BROWSER_VERSIONS` | Web-analytics-browser-versions | Returns browser version statistics for a Web Analytics project, showing visitor counts, bounce rates, and session durations grouped by browser version. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_BROWSER_VERSIONS_CHART` | Web-analytics-browser-versions-chart | Returns time-series chart data grouped by browser version for a Web Analytics project, showing visitor counts, bounce rates, and session durations over time. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_CHART` | Web-analytics-chart | Returns time-series chart data for aggregate statistics of a Web Analytics project, with metrics like pageviews, visitors, visits, bounce rate, and session duration at the specified granularity. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_CITIES` | Web-analytics-cities | Returns visitor data grouped by city for a Web Analytics project, showing visitor counts for each location. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_CITIES_CHART` | Web-analytics-cities-chart | Returns time-series chart data grouped by city for a Web Analytics project, showing visitor counts over time for each location. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_CONTINENTS` | Web-analytics-continents | Returns visitor data grouped by continent for a Web Analytics project, showing visitor counts for each region. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_CONTINENTS_CHART` | Web-analytics-continents-chart | Returns time-series chart data grouped by continent for a Web Analytics project, showing visitor counts over time for each region. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_COUNTRIES` | Web-analytics-countries | Returns visitor data grouped by country for a Web Analytics project, showing visitor counts for each location. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_COUNTRIES_CHART` | Web-analytics-countries-chart | Returns time-series chart data grouped by country for a Web Analytics project, showing visitor counts over time for each location. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_DEVICES` | Web-analytics-devices | Returns device type statistics for a Web Analytics project, showing visitor counts, bounce rates, and session durations grouped by device type. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_DEVICES_CHART` | Web-analytics-devices-chart | Returns time-series chart data grouped by device type for a Web Analytics project, showing visitor counts, bounce rates, and session durations over time. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_ENTRY_PAGES` | Web-analytics-entry-pages | Returns entry page statistics for a Web Analytics project, showing which pages visitors land on first, including visitor counts and entry rates. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_ENTRY_PAGES_CHART` | Web-analytics-entry-pages-chart | Returns time-series chart data for entry pages of a Web Analytics project, showing visitor counts and entry rates over time. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_EXIT_PAGES` | Web-analytics-exit-pages | Returns exit page statistics for a Web Analytics project, showing which pages visitors leave from, including visitor counts and exit rates. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_EXIT_PAGES_CHART` | Web-analytics-exit-pages-chart | Returns time-series chart data for exit pages of a Web Analytics project, showing visitor counts and exit rates over time. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_LANGUAGES` | Web-analytics-languages | Returns visitor data grouped by browser language for a Web Analytics project, showing visitor counts for each language. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_LANGUAGES_CHART` | Web-analytics-languages-chart | Returns time-series chart data grouped by browser language for a Web Analytics project, showing visitor counts over time for each language. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_OPERATING_SYSTEMS` | Web-analytics-operating-systems | Returns operating system statistics for a Web Analytics project, showing visitor counts, bounce rates, and session durations grouped by OS. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_OPERATING_SYSTEMS_CHART` | Web-analytics-operating-systems-chart | Returns time-series chart data grouped by operating system for a Web Analytics project, showing visitor counts, bounce rates, and session durations over time. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_OPERATING_SYSTEMS_VERSIONS` | Web-analytics-operating-systems-versions | Returns OS version statistics for a Web Analytics project, showing visitor counts, bounce rates, and session durations grouped by OS version. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_OPERATING_SYSTEMS_VERSIONS_CHART` | Web-analytics-operating-systems-versions-chart | Returns time-series chart data grouped by OS version for a Web Analytics project, showing visitor counts, bounce rates, and session durations over time. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_REFERRERS` | Web-analytics-referrers | Returns referrer statistics for a Web Analytics project, showing visitor counts, bounce rates, and session durations grouped by referrer URL. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_REFERRERS_CHART` | Web-analytics-referrers-chart | Returns time-series chart data grouped by referrer for a Web Analytics project, showing visitor counts, bounce rates, and session durations over time. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_SOURCE_CHANNELS` | Web-analytics-source-channels | Returns traffic grouped by source channel (e.g., organic, paid, social, direct) for a Web Analytics project, including visitor counts, bounce rates, and session durations. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_SOURCE_CHANNELS_CHART` | Web-analytics-source-channels-chart | Returns time-series chart data grouped by source channel (e.g., organic, paid, social, direct) for a Web Analytics project, showing metrics over time. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_SOURCES` | Web-analytics-sources | Returns traffic source breakdown for a Web Analytics project, showing visitor counts, bounce rates, and session durations grouped by referral source. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_SOURCES_CHART` | Web-analytics-sources-chart | Returns time-series chart data for traffic sources of a Web Analytics project, showing how visitor counts, bounce rates, and session durations change over time for each referral source. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_STATS` | Web-analytics-stats | Returns aggregate statistics for a Web Analytics project, including total visitors, bounce rate, and average session duration without any dimension grouping. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_TOP_PAGES` | Web-analytics-top-pages | Returns the most visited pages for a Web Analytics project, including pageview counts, visitor counts, bounce rates, and average page visit durations. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_TOP_PAGES_CHART` | Web-analytics-top-pages-chart | Returns time-series chart data for the most visited pages of a Web Analytics project, showing how pageviews, visitors, and other metrics change over time. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_UTM_PARAMS` | Web-analytics-utm-params | Returns statistics for a specified UTM paramater for a Web Analytics project, showing visitor counts, bounce rates, and session durations grouped by utm_source. Use doc tool first to get the real input schema. |
| `AHREFS_MCP_WEB_ANALYTICS_UTM_PARAMS_CHART` | Web-analytics-utm-params-chart | Returns time-series chart data grouped by a specified UTM param for a Web Analytics project, showing visitor counts, bounce rates, and session durations over time. Use doc tool first to get the real input schema. |

## Supported Triggers

None listed.

## Installation and MCP Setup

### Path 1: SDK Installation

#### Path 1, Step 1: Install Composio

Install the Composio SDK
```python
pip install composio_openai
```

```typescript
npm install @composio/openai
```

#### Path 1, Step 2: Initialize Composio and Create Tool Router Session

Import and initialize Composio client, then create a Tool Router session
```python
from openai import OpenAI
from composio import Composio
from composio_openai import OpenAIResponsesProvider

composio = Composio(provider=OpenAIResponsesProvider())
openai = OpenAI()
session = composio.create(user_id='your-user-id')
```

```typescript
import OpenAI from 'openai';
import { Composio } from '@composio/core';
import { OpenAIResponsesProvider } from '@composio/openai';

const composio = new Composio({
  provider: new OpenAIResponsesProvider(),
});
const openai = new OpenAI({});
const session = await composio.create('your-user-id');
```

#### Path 1, Step 3: Execute Ahrefs MCP Tools via Tool Router with Your Agent

Get tools from Tool Router session and execute Ahrefs MCP actions with your Agent
```python
tools = session.tools
response = openai.responses.create(
  model='gpt-4.1',
  tools=tools,
  input=[{
    'role': 'user',
    'content': 'YOUR_SPECIFIC_PROMPT_HERE'
  }]
)
result = composio.provider.handle_tool_calls(
  response=response,
  user_id='your-user-id'
)
print(result)
```

```typescript
const tools = session.tools;
const response = await openai.responses.create({
  model: 'gpt-4.1',
  tools: tools,
  input: [{
    role: 'user',
    content: 'YOUR_SPECIFIC_PROMPT_HERE'
  }],
});
const result = await composio.provider.handleToolCalls(
  'your-user-id',
  response.output
);
console.log(result);
```

### Path 2: MCP Server Setup

#### Path 2, Step 1: Install Composio

Install the Composio SDK for Python or TypeScript
```python
pip install composio claude-agent-sdk
```

```typescript
npm install @composio/core ai @ai-sdk/openai @ai-sdk/mcp
```

#### Path 2, Step 2: Initialize Client and Create Tool Router Session

Import and initialize the Composio client, then create a Tool Router session for Ahrefs MCP
```python
from composio import Composio
from claude_agent_sdk import ClaudeSDKClient, ClaudeAgentOptions

composio = Composio(api_key='your-composio-api-key')
session = composio.create(user_id='your-user-id')
url = session.mcp.url
```

```typescript
import { Composio } from '@composio/core';

const composio = new Composio({ apiKey: 'your-api-key' });
const session = await composio.create('your-user-id');
console.log(`Tool Router session created: ${session.mcp.url}`);
```

#### Path 2, Step 3: Connect to AI Agent

Use the MCP server with your AI agent (Anthropic Claude or Mastra)
```python
import asyncio

options = ClaudeAgentOptions(
    permission_mode='bypassPermissions',
    mcp_servers={
        'tool_router': {
            'type': 'http',
            'url': url,
            'headers': {
                'x-api-key': 'your-composio-api-key'
            }
        }
    },
    system_prompt='You are a helpful assistant with access to Ahrefs MCP tools.',
    max_turns=10
)

async def main():
    async with ClaudeSDKClient(options=options) as client:
        await client.query('YOUR_SPECIFIC_PROMPT_HERE')
        async for message in client.receive_response():
            if hasattr(message, 'content'):
                for block in message.content:
                    if hasattr(block, 'text'):
                        print(block.text)

asyncio.run(main())
```

```typescript
import { openai } from '@ai-sdk/openai';
import { experimental_createMCPClient as createMCPClient } from '@ai-sdk/mcp';
import { generateText } from 'ai';

const client = await createMCPClient({
  transport: {
    type: 'http',
    url: session.mcp.url,
    headers: {
      'x-api-key': 'your-composio-api-key',
    },
  },
});

const tools = await client.tools();
const { text } = await generateText({
  model: openai('gpt-4o'),
  tools,
  messages: [{
    role: 'user',
    content: 'YOUR_SPECIFIC_PROMPT_HERE'
  }],
  maxSteps: 5,
});

console.log(`Agent: ${text}`);
```

## Why Use Composio?

### 1. AI Native Ahrefs MCP Integration

- Supports both Ahrefs MCP and direct API based integrations
- Structured, LLM-friendly schemas for reliable tool execution
- Rich coverage for reading, writing, and querying your Ahrefs MCP data

### 2. Managed Auth

- Built-in OAuth handling with automatic token refresh and rotation
- Central place to manage, scope, and revoke Ahrefs MCP access
- Per user and per environment credentials instead of hard-coded keys

### 3. Agent Optimized Design

- Tools are tuned using real error and success rates to improve reliability over time
- Comprehensive execution logs so you always know what ran, when, and on whose behalf

### 4. Enterprise Grade Security

- Fine-grained RBAC so you control which agents and users can access Ahrefs MCP
- Scoped, least privilege access to Ahrefs MCP resources
- Full audit trail of agent actions to support review and compliance

## Use Ahrefs MCP with any AI Agent Framework

Choose a framework you want to connect Ahrefs MCP with:

- [ChatGPT Work](https://composio.dev/toolkits/ahrefs_mcp/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/ahrefs_mcp/framework/claude-cowork)
- [Hermes](https://composio.dev/toolkits/ahrefs_mcp/framework/hermes-agent)

## 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.
- [Audioscrape MCP](https://composio.dev/toolkits/audioscrape_mcp) - Audioscrape MCP lets agents search and retrieve speaker-attributed audio, transcripts, entities, and citations from public and workspace content. Use it to surface searchable, speaker-labeled audio and rich metadata for research, meetings, and content discovery.
- [Baremetrics](https://composio.dev/toolkits/baremetrics) - Baremetrics is a subscription analytics platform for recurring-revenue businesses. It helps teams track MRR, churn, customers, and revenue trends in one place.
- [Bing Webmaster Tools](https://composio.dev/toolkits/bing_webmaster_tools) - Bing Webmaster Tools is Microsoft's search console for site performance, crawling, indexing, URL submission, and verified site management. It helps site owners understand Bing Search visibility and fix issues that affect organic traffic.
- [Bread & Butter](https://composio.dev/toolkits/bread_butter) - Bread & Butter is a lead-intelligence and identity platform for website visitor tracking, user profiles, attribution, authentication, and conversion workflows. It helps teams understand who is visiting, where leads come from, and how users convert.
- [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.
- [BSC Designer](https://composio.dev/toolkits/bsc_designer) - BSC Designer is a strategy execution platform for balanced scorecards, KPIs, dashboards, and strategy maps. It helps teams turn goals into measurable performance plans they can track over time.
- [Chameleon](https://composio.dev/toolkits/chameleon) - Chameleon is a product adoption platform for building in-app experiences, managing customer data, and analyzing user engagement. It helps teams improve onboarding, feature discovery, and product adoption with targeted user experiences.
- [Chartly](https://composio.dev/toolkits/chartly) - Chartly renders Chart.js configurations as PNG or SVG images and creates permanent chart URLs for sharing and embedding. Share and embed charts easily with stable image URLs and downloadable vector graphics.
- [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.
- [ClickHouse MCP](https://composio.dev/toolkits/clickhouse_mcp) - ClickHouse MCP is ClickHouse Cloud's managed observability query service via the ClickStack MCP server. Use it to run fast analytical queries against observability data with managed access.
- [CoinGecko](https://composio.dev/toolkits/coingecko) - CoinGecko is a cryptocurrency data platform that provides prices, market metrics, exchange, NFT, and onchain data. Use it for comprehensive, up-to-date crypto market insights and metadata.

## Frequently Asked Questions

### Do I need my own developer credentials to use Ahrefs MCP with Composio?

Yes, Ahrefs MCP requires you to configure your own Dcr Oauth credentials. Once set up, Composio handles secure credential storage and management for you.

### Can I use multiple toolkits together?

Yes! Composio's Tool Router enables agents to use multiple toolkits. [Learn more](https://docs.composio.dev/tool-router/overview).

### Is Composio secure?

Composio is SOC 2 and ISO 27001 compliant with all data encrypted in transit and at rest. [Learn more](https://trust.composio.dev).

### What if the API changes?

Composio maintains and updates all toolkit integrations automatically, so your agents always work with the latest API versions.

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