DemandSphere MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DEMANDSPHERE_HOST | No | HTTP server bind address | 127.0.0.1 |
| DEMANDSPHERE_PORT | No | HTTP server port | 8765 |
| DEMANDSPHERE_API_KEY | Yes | DemandSphere API key | |
| DEMANDSPHERE_BASE_URL | No | API base URL | https://api.demandsphere.com |
| DEMANDSPHERE_TRANSPORT | No | Transport mode: stdio or streamable-http | stdio |
| DEMANDSPHERE_REQUEST_TIMEOUT | No | HTTP timeout (seconds) | 30.0 |
| DEMANDSPHERE_MAX_REQUESTS_PER_MINUTE | No | Rate limit cap | 60 |
| DEMANDSPHERE_MAX_RESULTS_PER_TOOL_CALL | No | Max rows per response | 100 |
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 | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_sitesA | List all sites with org/account hierarchy. Returns site IDs needed by other tools. |
| list_sites_flatA | List all sites as a flat array. Returns id, name, url, keyword count. |
| serp_analyticsB | SERP analytics with multiple views. view='performance': per-keyword rank, traffic, CTR (requires global_key). view='trends': rank history over time (requires site_id). view='engine_comparison': compare rankings across engines (requires site_id). view='engine_summary': aggregate rank/visits/revenue (requires site_id). |
| get_keyword_groupsB | Keyword group/tag performance with ranking bucket distribution (bucket0-bucket8), volume, traffic, CTR. |
| get_local_rankingsD | Local search rankings with per-location rank history. |
| get_landing_matchesC | Check if ranking pages match preferred landing pages. Returns match/mismatch/none status. |
| get_landings_historyB | Landing page history for a specific keyword. Shows which page ranked on each date. |
| get_mentionsC | Brand mentions and citations in AI responses. Returns per-keyword mention counts, context sentences, cited URLs, client vs competitor breakdown. |
| get_keyword_citationsC | Citation URLs for a single keyword on an AI platform. |
| get_bulk_citationsB | Citation URLs for multiple keywords in one call (max 50). Returns keyword→URLs mapping. |
| get_site_citationsB | Paginated citations for all keywords on a site. Returns keyword→URLs mapping. |
| llm_analyticsB | LLM traffic analytics with multiple views. view='stats': aggregated traffic stats. view='performance': side-by-side LLM comparison. view='channels': per-channel comparison. view='cross_channel': cross-channel overview. view='cross_llms': cross-platform comparison. Use metric param for non-stats views. Filter with llms_list/channels_list (comma-separated) for stats/performance views. |
| get_llm_filtersC | Available filter values for LLM analytics: channels, LLM names, metrics. |
| get_people_also_askC | PAA questions from SERPs. Optionally includes search intent and AdWords data (volume, CPC, competition). |
| list_brandsC | List brands configured for a site (used for GenAI mention/citation tracking). |
| create_brandC | Create a new brand for GenAI visibility tracking. |
| update_brandB | Update an existing brand's name or description. |
| delete_brandsC | Delete one or more brands by ID. |
| searchB | Search DemandSphere data. Returns record IDs for use with fetch(). Covers keywords, AI mentions, citations, LLM traffic, PAA. |
| fetchA | Fetch a record by ID from a previous search() call. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| weekly-ranking-report | Analyze keyword rankings for the last 7 days. Highlights drops, gains, and new top-10 entries. |
| genai-visibility-check | Check AI citation visibility across ChatGPT, Gemini, and Perplexity. |
| competitor-gap | Compare keyword rankings between two sites to find competitive gaps and opportunities. |
| landing-page-audit | Audit landing page match/mismatch status and identify keywords pointing to wrong pages. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| search-engines | Available search engine codes for the search_engine parameter. |
| sort-options | Valid sort_by values per tool category. |
| granularity | Valid granularity values for time-series data. |
| metrics | Valid metric values for LLM analytics tools. |
| sites | Available sites with IDs, global keys, names, and URLs. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/DemandSphereDev/demandsphere-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server