Skip to main content
Glama
osherai

AgencyAnalytics MCP Server

by osherai

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
AGENCYANALYTICS_API_KEYYesYour AgencyAnalytics API key (Admin Settings > Company Details)
AGENCYANALYTICS_BASE_URLNoAPI endpoint URL (override for testing)https://apirequest.app/query

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_campaignsA

List campaigns (clients) from AgencyAnalytics.

Retrieves campaigns with pagination. Note: "Campaign" in the API corresponds to "Client" in the AgencyAnalytics UI (renamed Feb 2025).

Args: offset: Pagination offset (default: 0) limit: Maximum number of results (default: 50)

Returns: JSON array of campaigns with metadata

Examples: - list_campaigns() - Get first 50 campaigns - list_campaigns(offset=50, limit=50) - Get next page of campaigns

get_campaignA

Get a single campaign (client) by ID.

Retrieves detailed information about a specific campaign.

Args: campaign_id: The AgencyAnalytics campaign ID

Returns: JSON object with campaign details

Examples: - get_campaign(campaign_id=123) - Get campaign with ID 123

create_campaignA

Create a new campaign (client) in AgencyAnalytics.

Args: url: The website URL for the campaign company: The company/client name

Returns: JSON object with created campaign data

Examples: - create_campaign(url="https://example.com", company="Acme Corp")

update_campaignA

Update an existing campaign (client).

Args: campaign_id: The campaign ID to update url: New website URL (optional) company: New company name (optional)

Returns: JSON object with update result

Examples: - update_campaign(campaign_id=123, company="New Name") - update_campaign(campaign_id=123, url="https://new-site.com")

delete_campaignA

Delete a campaign (client) from AgencyAnalytics.

Args: campaign_id: The campaign ID to delete

Returns: JSON object with deletion result

Examples: - delete_campaign(campaign_id=123) - Delete campaign 123

list_usersA

List users from AgencyAnalytics.

Retrieves all platform users with their details and roles.

Args: offset: Pagination offset (default: 0) limit: Maximum number of results (default: 50)

Returns: JSON array of users with metadata

Examples: - list_users() - Get first 50 users - list_users(limit=100) - Get up to 100 users

get_userA

Get a single user by ID.

Retrieves detailed information about a specific user including their role, status, and campaign access.

Args: user_id: The AgencyAnalytics user ID

Returns: JSON object with user details

Examples: - get_user(user_id=456) - Get user with ID 456

create_userA

Create a new user in AgencyAnalytics.

Args: email: User email address first_name: User first name last_name: User last name role: User role (default: 'client') campaign_access: Access level - 'restricted' or 'all' (default: 'restricted') campaign_id: Campaign ID to grant access to (for restricted users)

Returns: JSON object with created user data

Examples: - create_user(email="john@example.com", first_name="John", last_name="Doe") - create_user(email="jane@acme.com", first_name="Jane", last_name="Smith", campaign_id=123)

update_userA

Update an existing user.

Args: user_id: The user ID to update email: New email address (optional) first_name: New first name (optional) last_name: New last name (optional) role: New role (optional) campaign_access: New access level (optional)

Returns: JSON object with update result

Examples: - update_user(user_id=456, first_name="Jane") - update_user(user_id=456, role="admin")

delete_userA

Delete a user from AgencyAnalytics.

Args: user_id: The user ID to delete

Returns: JSON object with deletion result

Examples: - delete_user(user_id=456) - Delete user 456

list_backlinksA

List backlinks from AgencyAnalytics.

Retrieves custom backlinks with optional filtering by campaign.

Args: campaign_id: Filter by campaign ID (optional) offset: Pagination offset (default: 0) limit: Maximum number of results (default: 50)

Returns: JSON array of backlinks with metadata

Examples: - list_backlinks() - Get all backlinks - list_backlinks(campaign_id=123) - Get backlinks for campaign 123 - list_backlinks(offset=50, limit=50) - Get next page

create_backlinkA

Create a new backlink in AgencyAnalytics.

Args: campaign_id: The campaign to associate the backlink with title: Backlink title url: The page URL where the link appears target_url: The URL the link points to target_anchor: Anchor text of the link (optional) link_type: Type of link (optional) status: Backlink status (optional) notes: Additional notes (optional)

Returns: JSON object with created backlink data

Examples: - create_backlink(campaign_id=123, title="Blog Post", url="https://blog.com/post", target_url="https://client.com")

update_backlinkA

Update an existing backlink.

Args: backlink_id: The backlink ID to update title: New title (optional) url: New page URL (optional) target_url: New target URL (optional) target_anchor: New anchor text (optional) status: New status (optional) notes: New notes (optional)

Returns: JSON object with update result

Examples: - update_backlink(backlink_id=789, status="active") - update_backlink(backlink_id=789, notes="Confirmed live")

delete_backlinkB

Delete a backlink from AgencyAnalytics.

Args: backlink_id: The backlink ID to delete

Returns: JSON object with deletion result

Examples: - delete_backlink(backlink_id=789) - Delete backlink 789

list_keywordsA

List keywords for a campaign.

Retrieves keywords tracked for a specific campaign. Keywords can only be queried one campaign at a time.

Args: campaign_id: The campaign ID (required) offset: Pagination offset (default: 0) limit: Maximum number of results (default: 50)

Returns: JSON array of keywords with metadata

Examples: - list_keywords(campaign_id=123) - Get keywords for campaign 123 - list_keywords(campaign_id=123, limit=100) - Get more keywords

get_keyword_rankingsA

Get keyword rankings for a campaign.

Retrieves detailed keyword ranking data including Google, Google Mobile, Google Places, and Bing rankings with change tracking.

Args: campaign_id: The campaign ID (required) offset: Pagination offset (default: 0) limit: Maximum number of results (default: 50)

Returns: JSON array of keyword rankings with search engine positions, ranking changes, SERP URLs, and search volume data

Examples: - get_keyword_rankings(campaign_id=123) - Get rankings for campaign 123 - get_keyword_rankings(campaign_id=123, limit=100) - Get more rankings

get_campaign_rankingsA

Get aggregate campaign ranking data over time.

Retrieves historical ranking trends for a campaign including average positions, ranking distribution (1-3, 4-10, 11-20, etc.), and changes across Google, Google Mobile, Google Places, and Bing.

Args: campaign_id: The campaign ID (required) offset: Pagination offset (default: 0) limit: Maximum number of results (default: 50)

Returns: JSON array of campaign ranking snapshots over time with distribution breakdowns and competitor data

Examples: - get_campaign_rankings(campaign_id=123) - Get ranking trends - get_campaign_rankings(campaign_id=123, limit=30) - Get last 30 data points

create_competitorA

Add a competitor to a campaign.

Args: campaign_id: The campaign ID to add the competitor to url: The competitor website URL

Returns: JSON object with created competitor data

Examples: - create_competitor(campaign_id=123, url="https://competitor.com")

create_tagA

Create a new tag in AgencyAnalytics.

Args: name: The tag name

Returns: JSON object with created tag data

Examples: - create_tag(name="priority") - Create a "priority" tag

create_login_grantA

Generate an SSO login token for a user.

Creates a one-time login URL that can be used to log a user into AgencyAnalytics without requiring their password. Useful for embedding reports or creating custom login pages.

Args: user_id: The user ID to generate a login token for

Returns: JSON object with login token, URL, and expiration info

Examples: - create_login_grant(user_id=456) - Generate SSO link for user 456

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/osherai/mcp-agencyanalytics-python'

If you have feedback or need assistance with the MCP directory API, please join our Discord server