Rolli MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| ROLLI_USER_ID | No | User ID sent with API requests. | rolli-mcp |
| ROLLI_API_TOKEN | Yes | Your API token from rolli.ai. | |
| ROLLI_MAX_POLL_MS | No | Max time (ms) to wait before search timeout (default: 10 min). | 600000 |
| ROLLI_POLL_INTERVAL_MS | No | Polling interval (ms) when waiting for search results. | 5000 |
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": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_keyword_searchesB | List all keyword searches. Returns a paginated list filtered by status. |
| keyword_searchA | Create a keyword/hashtag search across social media platforms (X, Reddit, YouTube, Facebook, Instagram, Threads, Bluesky, and more). Polls until the search is complete and returns the full results. Oversized responses are truncated (truncated: true, largest post arrays shortened) — read the complete post list in pages with get_keyword_search_posts (offset, limit, fields=lean, one platform at a time). A status of results_pending means the search succeeded but results are still being written; fetch them with get_keyword_search. |
| get_keyword_searchA | Get results for a keyword search by ID. Returns search status, analytics summary, and posts. Oversized responses are truncated (truncated: true) — read the complete post list in pages with get_keyword_search_posts (offset, limit, fields=lean, one platform at a time). results_pending: true means the search succeeded but the backend is still writing results; retry in a few seconds. |
| list_user_searchesC | List all user searches. Returns a paginated list filtered by status. |
| user_searchA | Create a user profile search on a social media platform. Polls until the search is complete and returns the full results. Oversized responses are truncated (truncated: true) — read the complete post list in pages with get_user_search_posts (offset, limit, fields=lean). A status of results_pending means the search succeeded but results are still being written; fetch them with get_user_search. |
| get_user_searchA | Get results for a user search by ID. Returns profile info, metrics, and content analysis. Oversized responses are truncated (truncated: true) — read the complete post list in pages with get_user_search_posts (offset, limit, fields=lean). results_pending: true means the search succeeded but the backend is still writing results; retry in a few seconds. |
| get_topic_treeB | Get the conversation topic tree for a keyword search. Shows how topics and subtopics are distributed across the search results. |
| get_keyword_search_postsA | Get raw posts from a keyword search. The first line says how many of the search's posts this response shows and the offset of the next page; total, returned, offset and platform_counts (posts per platform across the whole search) are in the JSON. Read a large search in pages with offset and limit, one platform at a time, and fields=lean when the text matters more than media and profile URLs. A response over the size cap is marked truncated: true. |
| get_user_search_postsA | Get raw posts from a user search. The first line says how many of the profile's posts this response shows and the offset of the next page; total, returned and offset are in the JSON. Read a large search in pages with offset and limit, and fields=lean when the text matters more than media and profile URLs. A response over the size cap is marked truncated: true. |
| get_integration_setupA | Get the current integration settings (webhook return URL and integration name). |
| update_integration_setupC | Update integration configuration. Set the webhook URL that receives notifications when a search completes. |
| get_usageA | Get API usage data. Returns search counts, per-user breakdowns, and the current IQ credit balance (credits.credits_remaining, credits.credits_limit, credits.period_reset_date — the latter two are null for one-time credit grants). Optionally filter by month. |
| list_expert_searchesC | List all expert searches. Returns a paginated list filtered by status. |
| expert_searchA | Find experts matching a natural-language query using Rolli's AI-driven recommendation engine. Polls until the search is complete and returns the full list of recommended experts (name, professional title, location, contact info, expertise keywords, and an AI-generated summary explaining why each expert matches). A status of results_pending means the search succeeded but results are still being written; fetch them with get_expert_search. |
| get_expert_searchA | Get results for an expert search by ID. Returns search status and, once complete, the array of recommended experts with their profiles and AI-generated match summaries. results_pending: true means the search succeeded but the backend is still writing results; retry in a few seconds. |
| list_agent_runsA | List Rolli Agent runs (AI-driven social intelligence investigations). Returns a paginated summary list. Discarded runs are excluded. |
| start_agent_runA | Start a Rolli Agent investigation. Submit a plain-English question; the agent plans a search strategy, queries Rolli IQ across platforms, analyzes posts, and produces a markdown intelligence report with signals, evidence links, and a confidence rating. Fails immediately (before starting) if the IQ credit balance is insufficient. Polls inline for up to 2 minutes. If the run finishes in that window, returns the full results; otherwise returns the run ID and a note to fetch the results with get_agent_run (typical run takes 3–5 minutes). |
| get_agent_runA | Get a Rolli Agent run by ID. While running, returns progress (percentage, phase, current tool). Once complete, returns the full markdown report, signals, evidence links, and usage metrics. |
| cancel_agent_runA | Cancel a pending or running Rolli Agent run. Marks the run as failed. |
| rerun_agent_runA | Rerun a failed, waiting, or stuck Rolli Agent run. Resets the run to pending and re-enqueues it. Running runs are force-cancelled first. Returns 422 if the run is already completed. Fails immediately if the IQ credit balance is exhausted (a rerun needs at least 1 credit). |
| update_agent_runB | Update a Rolli Agent run's metadata (rename or pin). At least one of pinned or label is required. |
| delete_agent_runA | Soft-delete a Rolli Agent run. The record remains in the database for audit purposes but is hidden from listings. Only works on completed or failed runs — cancel the run first if it is still running. |
| list_agent_schedulesB | List Rolli Agent scheduled reports. Schedules execute on a daily/weekly/monthly/once cadence and produce a new agent run each time. |
| create_agent_scheduleB | Create a recurring Rolli Agent report that runs on a cron-like cadence (daily, weekly, monthly, or one-time) with optional email and Slack notifications. |
| get_agent_scheduleA | Get a Rolli Agent schedule's full configuration plus its 10 most recent execution records. |
| update_agent_scheduleB | Partially update a Rolli Agent schedule. Unspecified fields are left unchanged. next_run_at is recalculated if any recurrence parameter changes. |
| delete_agent_scheduleA | Permanently delete a Rolli Agent schedule and its execution history. This is irreversible. Use pause_agent_schedule to temporarily stop a schedule without losing history. |
| pause_agent_scheduleA | Pause a Rolli Agent schedule so it stops executing. The schedule and its history are preserved — resume it later with resume_agent_schedule. |
| resume_agent_scheduleA | Resume a paused Rolli Agent schedule. next_run_at is recalculated based on the recurrence parameters. |
| list_agent_schedule_runsA | List the full execution history of a Rolli Agent schedule, including a preview of each linked agent run. |
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 30 tools
Tools are grouped into clearly distinct resource families (expert searches, keyword searches, user searches, agent runs, agent schedules, integration, usage), so an agent can pick the right family easily. The only friction is between the create-and-poll search tools (keyword_search, user_search, expert_search) and their get_* counterparts, which both return results; the descriptions clarify when to use which (results_pending retries), but the boundary is not perfectly crisp.
The dominant pattern is consistent snake_case verb_noun (get_*, list_*, create_*, update_*, delete_*, pause_*, resume_*, cancel_*, rerun_*, start_*). The three search-creation tools deviate by being noun-only (keyword_search, user_search, expert_search) where create_keyword_search would match the pattern, a minor but noticeable inconsistency.
30 tools is heavy, sitting above the comfortable 3–15 range, though the surface spans several real domains (three search types with pagination, agent runs, agent schedules, integration, usage) rather than being padded. Most tools earn their place, but the schedule and run lifecycles together consume 15 slots, making the set feel larger than strictly necessary.
Coverage is strong: agent runs and schedules have full lifecycle operations (start/get/list/update/delete/cancel/rerun; create/update/delete/pause/resume/list runs), searches support create/get/list plus post pagination and topic trees, and integration/usage are covered. The main gap is that searches themselves cannot be deleted or renamed — only listed and fetched — which is a minor but real dead end.