Alidade MCP
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| X_BEARER_TOKEN | No | X app-only bearer token used to fill in X post content. Optional. | |
| ALIDADE_API_KEY | Yes | Your Alidade workspace API key. Required. | |
| ALIDADE_MCP_URL | No | Override the upstream server. Optional. | https://api.alidade-ai.com/mcp |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_workspace_infoA | Identify the calling workspace: name, API access tier, how the call was authenticated, request rate limit, and monthly post-quota status. Useful as a first call to verify the connection works and see what access is available. |
| list_saved_searchesA | List the saved searches available to the workspace (workspace-shared plus Alidade-curated). A saved search bundles comparison groups of entities, a platform filter, a date range, and keyword filters — pass its id as savedSearchId to get_analytics or search_mentions. This is the recommended starting point for analytics questions. |
| get_saved_searchA | Get one saved search's configuration: comparison groups (with entity counts), platforms, date range, and keyword filters. To enumerate a group's member entities, use find_entities with savedSearchId and groupId. |
| list_organizationsA | List the tracked organizations (companies, advocacy groups, legislative and government bodies, etc.) the workspace can access. Each entity returned by find_entities belongs to one of these organizations. |
| find_entitiesA | Find tracked entities (brand accounts, executives, campaigns, etc.). At least one of search, organizationId, or savedSearchId is required — there is no unfiltered listing. Entity IDs can be passed to get_analytics and search_mentions via entityIds for ad-hoc scopes. |
| get_entityA | Get one tracked entity by ID: name, category, description, the organization it belongs to, and the websites on file for it (homepage, secondary site, blog, newsroom). Use it to resolve an entity ID seen in search_mentions results, a saved-search group, or channel-presence analytics. Per-channel account details come from get_analytics with the channel-presence metric. |
| get_analyticsA | Aggregated analytics for a scope of entities, broken down per comparison group. Scope with exactly one of savedSearchId (recommended — its groups, platforms, date range, and keyword filters all apply) or entityIds (ad-hoc, treated as a single group); the other parameters filter or override the scope. Metrics: post-volume (post counts + share of voice), engagement (likes/shares/replies), time-series (engagement over time), themes (messaging-theme breakdown; requires taxonomy), policy-issues, policy-entities (mentioned policymakers/bills with stance), network-analysis (mentioned people/orgs/events), tone-voice (writing tone + brand voice), brand-positioning, content-breakdown (by content type), channel-presence (per-entity accounts with follower counts). Content-analysis metrics report over the analyzed-post subset, so their denominators are smaller than raw post counts. |
| search_mentionsA | The individual posts behind the analytics numbers, with Alidade's content-analysis labels attached, newest first by default. Takes the same scope parameters as get_analytics, plus optional label filters (policyIssue, policySubissue, productTheme, csrTheme, campaignTheme, brandPositioning, mentionedEntity) that take arrays of label values matching the labels in get_analytics breakdowns: any value within a filter matches, and all filters must match. Requires the mentions API tier, and every returned post counts against the workspace's monthly post quota — keep pageSize small (default 25) and only paginate when needed. Posts from platform x omit text and engagement metrics per X API terms (Alidade's identifiers and analysis labels are still included); the result lists their X post IDs for lookup with an X API tool. |
| semantic_search_mentionsA | Find posts by meaning: embeds a natural-language query and returns the most similar posts (pure vector similarity, no keyword matching), most relevant first. Results carry the post text, metrics, and entity but not the content-analysis labels — use search_mentions for chronological listings, keyword filters, or labels. Scope with savedSearchId or entityIds like the other tools — a saved search's groups, platforms, and date range apply, but its keyword filters do not (fold important terms into query). Requires the mentions API tier, and every returned post counts against the workspace's monthly post quota — keep limit small (default 15). Posts from platform x omit text and engagement metrics per X API terms; the result lists their X post IDs for lookup with an X API tool. |
| create_saved_searchA | Create a workspace saved search with manually curated comparison groups of entities (get entity IDs from find_entities). It appears in the app for all workspace members and can be used as savedSearchId in the other tools. Keyword filters accept either keywords/excludeKeywords or a booleanQuery — not both. Dynamic (rule-based) groups can only be created in the app. |
| update_saved_searchA | Update a workspace saved search. Only searches with team_edit visibility can be modified — Alidade-curated and view-only searches cannot, and when connected via OAuth only the search's owner can change its visibility. Omitted fields are left unchanged. groups replaces all comparison groups: include each existing group's id (from get_saved_search) to preserve it, since readouts and bulletins pin group IDs and dropping a referenced group is refused. Providing any keyword parameter replaces the whole keyword filter (empty arrays clear it). Searches with dynamic (rule-based) groups accept only name and description changes. |
| delete_saved_searchA | Permanently delete a workspace saved search with team_edit visibility (when connected via OAuth, only searches you own; a workspace API key can delete any team-editable search). Refused while readouts, bulletins, or chat projects still reference it — those references must be removed in the app first. Prefer update_saved_search when the goal is to change a search rather than remove it. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 12 tools
Each tool targets a distinct resource or action: saved-search CRUD, entity lookup, aggregate analytics, and mention retrieval are clearly separated. The two mention-search tools have overlapping data sources but explicitly contrast chronological/keyword search with semantic similarity, so an agent can choose confidently.
Names are consistently snake_case and mostly follow verb_noun patterns (create_saved_search, get_entity, list_organizations). Minor deviations include the adjective-prefixed semantic_search_mentions and noun-heavy get_workspace_info, but the convention remains predictable.
Twelve tools are well-scoped for a social-listening analytics server, with each tool earning its place across setup, discovery, analytics, and retrieval workflows. There is no obvious bloat or missing core operation.
The surface covers saved-search lifecycle, workspace identification, organization listing, entity find/get, aggregate analytics, and mention retrieval. Minor gaps remain: there is no get_organization detail tool, and readouts, bulletins, and chat projects are referenced but not manageable through this server, likely by design.