Skip to main content
Glama

Tools

Tool

Description

list_keyword_searches

List all keyword searches, filtered by status

keyword_search

Create a keyword/hashtag search and return results when complete

get_keyword_search

Get keyword search results (status, analytics, posts)

list_user_searches

List all user searches, filtered by status

user_search

Create a user profile search and return results when complete

get_user_search

Get user search results (profile, metrics, content analysis)

list_expert_searches

List all expert searches, filtered by status

expert_search

Find experts matching a natural-language query and return results when complete

get_expert_search

Get expert search results (recommended experts with AI-generated match summaries)

get_topic_tree

Get conversation topic tree for a keyword search

get_keyword_search_posts

Get raw posts from a keyword search

get_user_search_posts

Get raw posts from a user search

list_agent_runs

List Rolli Agent runs (AI-driven social intelligence investigations)

start_agent_run

Start a Rolli Agent investigation and return the markdown report when complete

get_agent_run

Get a Rolli Agent run by ID (progress while running, full report when complete)

cancel_agent_run

Cancel a pending or running Rolli Agent run

rerun_agent_run

Retry a failed, waiting, or stuck Rolli Agent run

update_agent_run

Pin or rename a Rolli Agent run

delete_agent_run

Soft-delete a completed or failed Rolli Agent run

list_agent_schedules

List Rolli Agent scheduled reports

create_agent_schedule

Create a recurring Rolli Agent report (daily/weekly/monthly/once)

get_agent_schedule

Get a Rolli Agent schedule with its 10 most recent runs

update_agent_schedule

Update a Rolli Agent schedule

delete_agent_schedule

Permanently delete a Rolli Agent schedule

pause_agent_schedule

Pause a Rolli Agent schedule

resume_agent_schedule

Resume a paused Rolli Agent schedule

list_agent_schedule_runs

List the full execution history of a Rolli Agent schedule

get_integration_setup

Get current integration settings (webhook URL, name)

update_integration_setup

Set the webhook URL for search completion notifications

get_usage

Get API usage data and per-user breakdowns

Related MCP server: Socialcrawl

Setup

You need a Rolli account with API access. Get your API token from rolli.ai.

Claude Desktop / Claude Code / VS Code / Cursor / Windsurf

Add to your MCP config (claude_desktop_config.json, .vscode/mcp.json, or equivalent):

{
  "mcpServers": {
    "rolli": {
      "command": "npx",
      "args": ["-y", "@rolli/mcp"],
      "env": {
        "ROLLI_API_TOKEN": "your_token"
      }
    }
  }
}

ROLLI_USER_ID is optional and defaults to "rolli-mcp". Set it to override with your own user ID.

Optional Environment Variables

Variable

Default

Description

ROLLI_USER_ID

"rolli-mcp"

User ID sent with API requests

ROLLI_POLL_INTERVAL_MS

5000

Polling interval (ms) when waiting for search results

ROLLI_MAX_POLL_MS

600000

Max time (ms) to wait before search timeout (default: 10 min)

Smithery

This server includes a smithery.yaml for deployment via Smithery. It will prompt for your API token during setup.

Usage Examples

Search for a keyword across social media:

"Search for posts about 'artificial intelligence' on Twitter and Reddit from the last week"

Analyze a user profile:

"Look up @elonmusk on Twitter and analyze their recent posts"

Get topic breakdown:

"Show me the topic tree for my keyword search #123"

Check API usage:

"How many searches have I used this month?"

Set up a webhook:

"Set my webhook URL to https://myapp.com/rolli-callback"

Optional X/Twitter Source Context

Rolli is useful for cross-platform social search, topic trees, user analysis, and scheduled social intelligence reports. If an agent also needs reviewed account-scoped X/Twitter source evidence before a Rolli investigation, collect that evidence in an approved OpenClaw workflow such as TweetClaw, then pass only the reviewed handles, post URLs, post IDs, excerpts, or summary notes into Rolli prompts.

Keep Rolli and TweetClaw credentials separate. Do not transfer API tokens, cookies, sessions, or account credentials between tools. Treat TweetClaw output as source context for Rolli searches and reports, not as publishing approval.

Development

npm ci
npm run lint    # ESLint
npm run build   # TypeScript
npm test        # Vitest

CI runs on every push and PR to master. Releases published on GitHub automatically publish to npm (requires NPM_TOKEN repo secret).

License

MIT

Available Tools

30 tools
cancel_agent_runA

Cancel a pending or running Rolli Agent run. Marks the run as failed.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesRun UUID

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It discloses that the run is marked as failed rather than deleted, which is a behavioral detail. However, it does not mention side effects, reversibility, or required permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two short sentences, containing no extraneous information. Every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description covers the essential purpose and effect. It could be improved by mentioning if cancellation is irreversible or requires specific permissions, but it is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The only parameter 'id' is fully described in the input schema as 'Run UUID' (100% coverage). The tool description adds no extra semantic information beyond what the schema provides, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('cancel'), the resource ('Rolli Agent run'), and the effect ('marks as failed'). It distinguishes from sibling tools like 'delete_agent_run' (likely deletes the record) and 'rerun_agent_run' (restarts).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (to stop a pending or running run), but provides no explicit guidance on alternatives or when not to use it. No exclusions or context are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_agent_scheduleA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoInvestigation mode (default: trend_briefing)
nameYesUser-friendly name
ends_atNoISO 8601 timestamp when the schedule stops
max_postNoPosts per platform per run (default: 50)
questionYesThe recurring question for the agent
platformsNoPlatforms to search
starts_atYesISO 8601 timestamp when the schedule becomes active
time_windowNoTime window per run (default: 7d)
notify_emailNoEmail address for run notifications
slack_team_idNoSlack workspace ID
recurrence_timeYesTime of day in HH:MM format (e.g., "09:00")
recurrence_typeYesSchedule cadence
slack_bot_tokenNoSlack bot token
slack_team_nameNoSlack workspace name
available_creditsNoReasoning effort for each run: 1=low, 2=medium (default), 3=high, 4=max
recurrence_timezoneYesIANA timezone (e.g., "America/New_York")
notify_slack_webhookNoSlack webhook URL
recurrence_day_of_weekNo0–6 for weekly schedules (0 = Sunday)
notify_slack_channel_idNoSlack channel ID
recurrence_day_of_monthNo1–31 for monthly schedules

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the core behavior (recurring schedule with optional notifications) but does not mention side effects such as immediate scheduling, cost/credit implications, or required setup beyond the schema. It is not misleading but omits deeper behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured sentence that front-loads the action and object, then adds key distinguishing details. No unnecessary words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 20 parameters and no annotations or output schema, yet the description remains high-level. It does not mention required fields (e.g., name, question), how to configure specific recurrence days, or what the tool returns. The rich schema covers parameter details, but the description itself does not fully orient an agent on the tool's workflow.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds context by linking recurrence types and notification options to related parameters, but it does not go beyond what the schema already documents for individual parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the action ('Create'), the resource ('recurring Rolli Agent report'), and the key attributes ('cron-like cadence', 'daily, weekly, monthly, or one-time', 'optional email and Slack notifications'). It clearly distinguishes from sibling tools like update_agent_schedule or start_agent_run.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used for creating recurring reports but provides no explicit guidance on when to choose it over related tools (e.g., start_agent_run for immediate runs, update_agent_schedule for edits). No alternatives or exclusions are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesRun UUID

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description discloses soft-delete nature (record remains, hidden from listings) and preconditions. Without annotations, it covers key behavior but omits reversibility and permissions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first defines action and behavior, second adds usage constraint. Perfectly concise, front-loaded with essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers key aspects: purpose, behavior, usage context. Lacks details on success/failure response and idempotency, but overall adequate for a simple delete tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter 'id' with schema description 'Run UUID'. Description adds no extra parameter detail beyond schema, but schema coverage is 100%, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear action 'soft-delete' on 'Rolli Agent run'. Distinguishes from siblings like cancel_agent_run and list_agent_runs by specifying soft-delete behavior and run status constraints.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: only on completed or failed runs. Provides actionable instruction to cancel running runs first. Clear guidance against misuse.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSchedule UUID

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, but description fully covers irreversibility and deletion of execution history, which are critical behavioral traits for a delete operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states purpose and irreversibility, second gives alternative. No wasted words, front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple delete tool with one parameter, description covers purpose, irreversibility, and alternative, making it fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter 'id' described as 'Schedule UUID'. Description adds no extra meaning beyond schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states 'Permanently delete a Rolli Agent schedule and its execution history', specifying verb (delete) and resource (schedule with execution history). It distinguishes from siblings like pause_agent_schedule.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly provides alternative: 'Use pause_agent_schedule to temporarily stop a schedule without losing history', guiding when to use this tool vs alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesRun UUID

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It explains the behavior during and after execution. However, it does not mention side effects, authentication needs, or rate limits. For a read operation, this is adequate but could be more comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: first states purpose, second explains behavior. No unnecessary words, front-loaded. Highly concise and structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with 1 parameter and no output schema, the description fully covers what the tool does and what it returns. No missing information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter 'id' with schema description 'Run UUID'. Schema coverage is 100%, so baseline is 3. The description does not add additional context beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Get a Rolli Agent run by ID' and elaborates on what is returned (progress during execution, full results after). It distinguishes from sibling tools like list_agent_runs, cancel_agent_run, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains when to use it (while running vs. after complete) but does not explicitly state when not to use or provide alternatives. It is clear enough for most scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_agent_scheduleA

Get a Rolli Agent schedule's full configuration plus its 10 most recent execution records.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSchedule UUID

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses the tool's read-only nature and the specific data returned (full configuration and exactly 10 most recent execution records). No contradictions or hidden behaviors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence conveying all essential information without redundancy. Front-loaded with the action and scope.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one parameter, read operation), the description fully covers what the agent needs to know. No output schema is needed because the description explains the return content sufficiently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with the parameter 'id' described as 'Schedule UUID'. The tool description adds no extra semantics beyond the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it retrieves a schedule's full configuration and its 10 most recent execution records. This specific verb+resource combination distinguishes it from sibling tools like list_agent_schedules (which only lists) and get_agent_run (which gets a single run).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when both configuration and recent execution records are needed. However, it does not explicitly exclude cases where only one is needed or mention alternatives like list_agent_schedule_runs. Still, the context is clear enough for an AI to differentiate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_integration_setupA

Get the current integration settings (webhook return URL and integration name).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It indicates a read operation via 'get' but does not explicitly state read-only nature, auth requirements, or rate limits. The description is adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single clear sentence with no wasted words, front-loading the action and result.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple parameterless retrieval tool, the description covers the key information. However, the lack of output schema means the agent must infer the return format; mentioning the returned fields helps slightly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the description does not need to add parameter semantics. Baseline for zero parameters is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool gets current integration settings and specifies the two fields returned (webhook return URL and integration name), making the purpose specific and distinct from sibling tools like update_integration_setup.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (when current settings are needed) but provides no explicit guidance on when not to use or mention of alternatives like update_integration_setup.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_keyword_search_postsA

Get raw posts from a keyword search. Returns the actual social media posts matching the search query. Oversized responses are truncated (truncated: true) — request one platform at a time for full data on large searches.

ParametersJSON Schema
NameRequiredDescriptionDefault
platformNoFilter by platform (default: all)
search_idYesKeyword search ID

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses an important behavioral trait: oversized responses are truncated (truncated: true) and recommends platform filtering for full data. This goes beyond the schema, though it does not cover auth or rate limits. Given the truncation is critical for downstream handling, this is strong transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: the first states the tool's core function, the second adds a crucial warning about truncation and mitigation. No filler, all information earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter retrieval tool with a complete schema, the description fully covers what the tool does and a key caveat (truncation). No output schema exists, but the return value ('actual social media posts') is clearly stated. The truncation warning and platform-filter tip complete the picture.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%: both search_id and platform are documented with descriptions, and platform has an enum. The description indirectly references the platform parameter ('request one platform at a time') but adds no new semantic detail beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb (Get) and resource (raw posts from a keyword search), clearly differentiating from sibling tools like get_keyword_search (likely metadata) and get_user_search_posts. It explicitly states it returns actual social media posts matching the search query.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear usage context: to fetch raw post data. Includes actionable guidance for handling truncation by requesting one platform at a time. However, it does not explicitly mention alternatives (e.g., when to use get_keyword_search instead), but the context is sufficient for a typical retrieval tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_topic_treeA

Get the conversation topic tree for a keyword search. Shows how topics and subtopics are distributed across the search results.

ParametersJSON Schema
NameRequiredDescriptionDefault
platformNoFilter by platform
search_idYesKeyword search ID

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden. It clearly indicates a read-only operation and describes the output conceptually, but it does not disclose prerequisites, limitations, or the exact structure of the returned tree. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the core purpose, and contains no redundant information. Every word contributes meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with two parameters and no output schema, the description explains the core purpose and output concept ('shows how topics and subtopics are distributed'). However, it could elaborate on the return format (e.g., nested tree with counts) to be fully complete, so it misses the top score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for both parameters, so the schema already documents them. The description adds no parameter-specific details beyond tying the tool to a keyword search, which matches the 'search_id' parameter. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get') and resource ('conversation topic tree'), and adds specificity by explaining it shows topic/subtopic distribution. This distinguishes it from sibling tools like get_keyword_search or get_keyword_search_posts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is used to view topic hierarchies for a keyword search, but it does not explicitly state when to use it over alternatives or mention exclusions. There is no comparison to other tools, so guidance is only implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
monthNoMonth to query (YYYY-MM format). Omit to get the last 12 months.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden of behavioral disclosure. It explains the return content (search counts, per-user breakdowns, credit fields), including null behavior for one-time credit grants. It also mentions default behavior when month is omitted (last 12 months). It does not cover side effects or rate limits, but for a read-only query tool, this is solid coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficient, using two sentences to convey the core purpose, return details, and parameter behavior. It is front-loaded with the key action and avoids filler, with every sentence providing substantive information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple nature of the tool (single optional parameter, no output schema), the description adequately covers the return payload and parameter behavior. It does not specify exact pagination or error handling, but these are not critical for this use case, and the description is reasonably complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already documents the 'month' parameter with format, but the description adds meaningful semantics beyond the schema: 'Omit to get the last 12 months' clarifies the default behavior and confirms the parameter is optional. This exceeds the baseline for schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb and resource: 'Get API usage data'. It enumerates what is returned (search counts, per-user breakdowns, IQ credit balance) and differentiates from sibling tools focused on searches, agent runs, and schedules.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool is for usage/credit inquiries, but it does not explicitly mention when to use it over sibling tools or provide alternatives. It gives contextual details like 'Optionally filter by month' but lacks explicit exclusions or comparisons, so guidance is merely implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_user_search_postsA

Get raw posts from a user search. Returns the actual social media posts from the searched user profile. Oversized responses are truncated (truncated: true).

ParametersJSON Schema
NameRequiredDescriptionDefault
search_idYesUser search ID

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of behavioral disclosure. It usefully discloses that oversized responses are truncated and includes the truncated flag. However, it does not mention whether the operation is read-only (though 'get' implies so), potential failure modes, or any authentication requirements. The truncation detail adds value but other behavioral aspects remain unspecified.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose and a concise note about truncation. Every sentence contributes value, and there is no redundant or filler text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one parameter and no output schema. The description states the return type (social media posts) and truncation behavior, but it does not clarify what 'raw posts' entails or the exact response structure. Given the lack of output schema, more detail about the returned data would improve completeness, though the description is adequate for a basic retrieval tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has full coverage for the single parameter 'search_id' with description 'User search ID.' The tool description does not add extra meaning beyond the schema, so the baseline of 3 is appropriate. The parameter's purpose is fully documented in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Get raw posts from a user search' and elaborates with 'Returns the actual social media posts from the searched user profile.' This provides a specific verb+resource and effectively distinguishes it from sibling tools like get_user_search (likely metadata) and get_keyword_search_posts (keyword variant).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage by defining what the tool does, but it does not explicitly state when to use it over alternatives or provide exclusions. For example, it doesn't contrast with get_user_search or get_keyword_search_posts. The context is clear but limited to the intended operation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_agent_runsA

List Rolli Agent runs (AI-driven social intelligence investigations). Returns a paginated summary list. Discarded runs are excluded.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoPage size (default: 50, max: 100)
offsetNoPagination offset (default: 0)
statusNoFilter by status
user_idNoFilter to a specific Rolli user

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries burden. Explicitly states discarded runs are excluded, but lacks details on rate limits, auth needs, or pagination behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, no redundancy, purpose stated first. Efficient and clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but parameters are well-documented. Missing details like return format or total count, but completes basic listing needs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline 3. Description adds no additional meaning beyond schema-defined parameters like status, user_id, limit, offset.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states it lists Rolli Agent runs, mentions paginated summary, and excludes discarded runs. Distinguishes from siblings like get_agent_run and cancel_agent_run.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like get_agent_run or other list tools. Does not mention prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_agent_schedule_runsA

List the full execution history of a Rolli Agent schedule, including a preview of each linked agent run.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSchedule UUID
limitNoPage size (default: 50, max: 100)
offsetNoPagination offset (default: 0)

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description only says it returns history and previews. It does not disclose read-only nature, pagination, rate limits, or any side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with 16 words, efficient and front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with three parameters and no output schema, the description mentions 'full execution history' and 'preview' but omits pagination details and return format, making it adequate but not thorough.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptive parameter names and descriptions. The description adds no extra meaning beyond the schema, earning baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'List the full execution history of a Rolli Agent schedule', specifying the verb and resource, and distinguishes from siblings like list_agent_runs by focusing on schedule history.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for viewing execution history but provides no explicit guidance on when to use this vs alternatives like list_agent_runs or list_agent_schedules.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_agent_schedulesA

List Rolli Agent scheduled reports. Schedules execute on a daily/weekly/monthly/once cadence and produce a new agent run each time.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoPage size (default: 50, max: 100)
offsetNoPagination offset (default: 0)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. The description indicates a read operation via 'List', but does not explicitly state idempotence, no side effects, or other behavioral traits. Minimal disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose. No extraneous information. Highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks output schema, but for a simple list tool with well-documented pagination parameters, the description covers essential context. Could mention return format but not critical.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters have clear descriptions in schema. The description adds no additional meaning beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists Rolli Agent scheduled reports and explains their cadence. It distinguishes from sibling tools like list_agent_runs and list_agent_schedule_runs.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like get_agent_schedule or list_agent_schedule_runs. The usage is implied but not stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_expert_searchesB

List all expert searches. Returns a paginated list filtered by status.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (100 results per page)
showNoFilter by status (default: all)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description mentions pagination and filtering by status, which are key behaviors. But it does not specify ordering, rate limits, or that it is a read-only operation. Without annotations, more detail would improve transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences efficiently convey the core functionality. The description is front-loaded with the action and result, but some details could be added without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with optional parameters and no output schema, the description covers the basics. However, it leaves questions about default sorting and what exactly is returned (e.g., full objects vs. summaries).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds context about filtering by status and pagination. However, it does not elaborate on the 'page' parameter beyond what the schema states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists expert searches, which distinguishes it from sibling tools like get_expert_search or list_keyword_searches. However, it could be more explicit about the scope (e.g., all searches in the system).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance is provided. It does not differentiate from other list tools like list_keyword_searches, leaving the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_keyword_searchesA

List all keyword searches. Returns a paginated list filtered by status.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (100 results per page)
showNoFilter by status (default: all)

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description correctly implies a read-only operation ('list') and mentions pagination and filtering. It does not disclose default behaviors (e.g., page size) or edge cases, but is adequate for a simple list tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences with no wasted words. Key purpose is front-loaded ('List all keyword searches'). Perfectly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with 2 parameters and no output schema, the description covers essential functionality (listing, filtering, pagination). It could mention defaults but is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and both parameters have descriptions. The description adds minimal extra meaning beyond confirming filtering and pagination, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description explicitly states 'List all keyword searches' with clear verb and resource. It distinguishes from sibling tools like 'get_keyword_search' (single) and other list tools (e.g., 'list_expert_searches') by specifying the resource type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description explains paginated and filtered behavior, providing context for when to use. However, it lacks explicit exclusions or mention of alternatives, though the sibling list compensates.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_user_searchesB

List all user searches. Returns a paginated list filtered by status.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (100 results per page)
showNoFilter by status (default: all)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions pagination and filtering but does not disclose any behavioral traits like authorization needs, rate limits, or consequences of invalid parameters. The description is minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that immediately states the action and resource, then concisely adds the return characteristics. There is no wasted text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the low complexity (2 optional params, no output schema), the description covers the basics. However, it lacks details on default behavior for pagination and status, error handling, and the structure of returned data. It is adequate but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for both parameters. The description adds context about pagination and filtering by status, but this is already implied by the schema. It does not provide significant additional meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List') and resource ('user searches'), and mentions pagination and filtering. It clearly distinguishes from sibling list tools that target different resources (e.g., agent runs, schedules, expert searches).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no information about when to use this tool versus alternatives such as `get_user_search` for a single search or `user_search` to create one. There is no explicit guidance on context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSchedule UUID

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden. It states the schedule stops executing and history is preserved, but does not clarify whether currently running executions are interrupted or only future ones. This gap reduces transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, consisting of two sentences with no superfluous information. It is front-loaded with the action and resource, making it easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple pause action with one parameter and no output schema, the description is complete. It explains the effect and points to the resume counterpart, providing sufficient context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single 'id' parameter described as 'Schedule UUID'. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Pause' and the resource 'Rolli Agent schedule', explaining that it stops executing and preserves the schedule and history. It also distinguishes itself from the sibling tool 'resume_agent_schedule'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (to stop execution temporarily) and mentions resumption with a specific sibling tool. It does not explicitly state when not to use, but the context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesRun UUID

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses side effects: resets to pending, re-enqueues, force-cancels running runs first, returns 422 for completed runs, and fails immediately if credit balance is insufficient. This is comprehensive and beyond the basic operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences, each adding value. The first sentence states the primary action and target states, the second explains the effect, and the third covers error and prerequisite conditions. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, behavior, error cases, and prerequisites, making it quite complete for a one-parameter tool. It does not explicitly describe the success return value, but the absence of an output schema reduces the need; the effect is clearly described via 'resets to pending and re-enqueues it'.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, with the single 'id' parameter already described as 'Run UUID'. The description does not add further semantics for this parameter, matching the baseline score of 3. No additional parameter details are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (rerun) and the target resource (failed, waiting, or stuck Rolli Agent run). It distinguishes itself from sibling tools like cancel_agent_run and start_agent_run by specifying the applicable run states and the reset/re-enqueue behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states when the tool is applicable (failed, waiting, or stuck runs) and when it should not be used (completed runs, returns 422). It also mentions prerequisite credit requirements. Although it does not name alternative sibling tools, the clear when-not conditions provide sufficient guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resume_agent_scheduleA

Resume a paused Rolli Agent schedule. next_run_at is recalculated based on the recurrence parameters.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSchedule UUID

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses recalculation of next_run_at, which is useful. However, does not specify whether resuming immediately triggers a run, or any other side effects like validation checks.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short, front-loaded sentences with no filler. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, but description does not mention what the tool returns (e.g., updated schedule object). For a simple tool with one parameter, it is mostly complete but missing return information. Also could note that schedule must be paused.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single parameter 'id' described as 'Schedule UUID'. Description adds no extra meaning beyond the schema. Baseline of 3 applies due to high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly identifies the verb 'Resume', the resource 'paused Rolli Agent schedule', and adds context about next_run_at recalculation. It effectively distinguishes from sibling tools like pause_agent_schedule.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage when a paused schedule needs to be resumed, but lacks explicit when-to-use, when-not-to-use, or alternative tool references (e.g., start_agent_run). No guidance on prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoInvestigation mode (default: trend_briefing)
max_postNoMaximum posts per platform (default: 50)
metadataNoArbitrary JSON object stored on the run for your own tracking
questionYesPlain-English question (e.g., "What is being said about Tesla battery recalls this week?")
platformsNoPlatforms to search
time_windowNoTime window to search (default: 7d). Examples: 24h, 7d, 30d
parent_run_idNoUUID of a parent run (for follow-ups)
available_creditsNoReasoning effort: 1=low, 2=medium (default), 3=high, 4=max. Higher values let the agent perform more searches at higher cost.

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully carries the burden and succeeds: it discloses the immediate failure on insufficient IQ credit, the 2-minute inline poll, the typical 3–5 minute run duration, and the report format (markdown, signals, evidence links, confidence rating). These are non-obvious behavioral traits that the schema would never reveal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences with zero filler: the first states the purpose and output; the second covers the credit-failure condition; the third explains polling, the fallback to get_agent_run, and expected duration. Every sentence earns its place, and the most important information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 params, nested object, async execution) and the absence of an output schema and annotations, the description is remarkably complete. It covers the input type, the processing pipeline, the output structure, the failure mode, the timeout behavior, and the follow-up mechanism—enough for an agent to select, invoke, and correctly interpret the result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description only adds that the question is plain-English and mentions searching across platforms, but it does not add meaning beyond what the schema already provides for parameters like mode, max_post, platforms, or available_credits. It neither improves nor harms parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with 'Start a Rolli Agent investigation' and proceeds to detail the full workflow—plans search strategy, queries Rolli IQ, analyzes posts, produces a markdown report with signals and confidence rating. This clearly distinguishes it from sibling search tools like keyword_search and user_search, and from get_agent_run, by framing the agent's autonomous investigation lifecycle.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context on when to use the tool (for plain-English investigations) and explains polling behavior: it polls up to 2 minutes, and if not finished, returns a run ID and directs the caller to get_agent_run. This is useful guidance, but it does not explicitly contrast with simpler search tools or state when not to use the agent, so it is clear but lacks explicit exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_agent_runA

Update a Rolli Agent run's metadata (rename or pin). At least one of pinned or label is required.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesRun UUID
labelNoCustom label (e.g., "Weekly trend report")
pinnedNoPin or unpin the run

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description only says 'Update' without disclosing side effects, permissions, or response behavior. Agents may need more info on reversibility or auth requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with front-loaded purpose and immediate constraint. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple update tool. Missing return value information, but not critical given no output schema. The condition is stated clearly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers all 3 parameters with descriptions. Description adds 'rename or pin' mapping to label and pinned, but schema already implies those. No significant extra value beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it updates metadata (rename or pin) of a Rolli Agent run. Verb+resource is specific and distinct from siblings like cancel_agent_run or start_agent_run.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Mentions that at least one of pinned or label is required, giving a clear condition. Does not explicitly exclude other uses, but the specificity implies when to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_agent_scheduleA

Partially update a Rolli Agent schedule. Unspecified fields are left unchanged. next_run_at is recalculated if any recurrence parameter changes.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSchedule UUID
modeNoNew investigation mode
nameNoNew schedule name
ends_atNoNew end ISO 8601 timestamp
max_postNoNew posts-per-platform limit
questionNoNew question
platformsNoNew platforms array
starts_atNoNew start ISO 8601 timestamp
time_windowNoNew time window
notify_emailNoNew notification email
recurrence_timeNoNew time of day in HH:MM format
recurrence_typeNoNew cadence
available_creditsNoNew reasoning effort: 1=low, 2=medium, 3=high, 4=max
recurrence_timezoneNoNew IANA timezone
notify_slack_webhookNoNew Slack webhook URL
recurrence_day_of_weekNo0–6 for weekly schedules
notify_slack_channel_idNoNew Slack channel ID
recurrence_day_of_monthNo1–31 for monthly schedules

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and discloses two important behaviors: partial update semantics (unspecified fields unchanged) and automatic recalculation of next_run_at when recurrence parameters change. This adds value beyond the schema, though it omits other side effects or prerequisites.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the action, and contains no redundant information. Every sentence adds meaningful detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite high complexity (18 params, no annotations, no output schema), the description covers the core semantics sufficiently. However, it does not address how to clear optional fields (using null is impossible due to schema), potential validation constraints, or what the response contains, leaving some gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All 18 parameters already have rich descriptions in the schema, so the baseline is 3. The description adds a hint about recurrence parameters influencing next_run_at, but it does not enumerate which parameters are recurrence-related or provide additional syntax details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs a partial update on a Rolli Agent schedule, using a specific verb and resource. This distinguishes it from sibling tools like create_agent_schedule, delete_agent_schedule, pause_agent_schedule, and resume_agent_schedule.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for modifying specific schedule fields without affecting others, but it does not explicitly reference alternatives or state when not to use this tool. Sibling tools exist for creation, deletion, pausing, and resume, but no direct comparison or exclusion is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_integration_setupA

Update integration configuration. Set the webhook URL that receives notifications when a search completes.

ParametersJSON Schema
NameRequiredDescriptionDefault
return_urlYesURL that will receive webhook notifications when a search completes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully disclose behavioral traits. It states the tool 'updates' and 'sets,' implying a write operation, but does not clarify whether it overwrites existing values, requires any pre-existing setup, or triggers side effects. The description is honest but minimally informative beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description consists of two concise sentences, no redundant words, and directly states the tool's action and parameter purpose. It is efficiently front-loaded and every sentence provides necessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple operation (single required parameter, no output schema), the description is mostly complete. It explains that the tool sets a webhook URL for notifications. However, it could improve by noting whether it updates an existing configuration or requires one, and if there are any prerequisites. Sibling tools (e.g., get_integration_setup) imply existence of a setup, but the description itself is slightly thin.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is one parameter, return_url, with a schema description: 'URL that will receive webhook notifications when a search completes.' The tool description merely echoes this ('Set the webhook URL that receives notifications when a search completes'), adding no new semantic value. Schema coverage is 100%, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Update integration configuration. Set the webhook URL that receives notifications when a search completes,' which precisely identifies the tool's purpose (update) and resource (integration setup/webhook URL). It distinguishes from sibling tools like get_integration_setup that only retrieve.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly indicates when to use this tool (when you need to set or update the webhook URL for search completion notifications). It does not explicitly state when not to use it or mention alternatives, but the purpose is clear enough for an AI agent to decide.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 6 tool updatesv1.4.0
    • Changedcreate_agent_schedule1 field changed
      • changedInput schema / properties / platforms / items / enum
        Previous value: -[
        -  "twitter",
        -  "reddit",
        -  "bluesky",
        -  "youtube",
        -  "threads",
        -  "facebook",
        -  "weibo"
        -]New value: +[
        +  "twitter",
        +  "reddit",
        +  "bluesky",
        +  "youtube",
        +  "threads",
        +  "facebook"
        +]
    • Changedget_keyword_search_posts1 field changed
      • changedInput schema / properties / platform / enum
        Previous value: -[
        -  "all",
        -  "twitter",
        -  "reddit",
        -  "bluesky",
        -  "youtube",
        -  "instagram",
        -  "facebook",
        -  "weibo",
        -  "linkedin"
        -]New value: +[
        +  "all",
        +  "twitter",
        +  "reddit",
        +  "bluesky",
        +  "youtube",
        +  "instagram",
        +  "facebook",
        +  "threads"
        +]
    • Changedget_topic_tree1 field changed
      • changedInput schema / properties / platform / enum
        Previous value: -[
        -  "twitter",
        -  "bluesky",
        -  "youtube"
        -]New value: +[
        +  "twitter",
        +  "reddit",
        +  "bluesky",
        +  "youtube",
        +  "facebook",
        +  "instagram",
        +  "threads"
        +]
    • Changedkeyword_search2 fields changed
      • changedInput schema / properties / platforms / items / enum
        Previous value: -[
        -  "twitter",
        -  "reddit",
        -  "bluesky",
        -  "youtube",
        -  "linkedin",
        -  "facebook",
        -  "instagram",
        -  "weibo"
        -]New value: +[
        +  "twitter",
        +  "reddit",
        +  "bluesky",
        +  "youtube",
        +  "facebook",
        +  "instagram",
        +  "threads"
        +]
      • changedInput schema / properties / query / description
        Previous value: -"Search query (keyword or hashtag)"New value: +"Search query. Expects KEYWORDS, not prose — a plain multi-word query is token-OR-matched server-side (each word matched independently), which pulls in unrelated posts and pollutes the sentiment/coordination analytics. ALWAYS prefer boolean syntax: AND = both required (Tesla AND battery); OR = synonyms/variants (EV OR \"electric vehicle\"); NOT = exclude noise (Tesla NOT \"Nikola Tesla\"); quotes = exact phrase (\"Sherrod Brown\"); parentheses = grouping. Example: \"Sherrod Brown\" AND (Husted OR \"Ohio Senate\") NOT satire. For broad topics, run several focused boolean searches rather than one wide query."
    • Changedstart_agent_run1 field changed
      • changedInput schema / properties / platforms / items / enum
        Previous value: -[
        -  "twitter",
        -  "reddit",
        -  "bluesky",
        -  "youtube",
        -  "threads",
        -  "facebook",
        -  "weibo"
        -]New value: +[
        +  "twitter",
        +  "reddit",
        +  "bluesky",
        +  "youtube",
        +  "threads",
        +  "facebook"
        +]
    • Changedupdate_agent_schedule1 field changed
      • changedInput schema / properties / platforms / items / enum
        Previous value: -[
        -  "twitter",
        -  "reddit",
        -  "bluesky",
        -  "youtube",
        -  "threads",
        -  "facebook",
        -  "weibo"
        -]New value: +[
        +  "twitter",
        +  "reddit",
        +  "bluesky",
        +  "youtube",
        +  "threads",
        +  "facebook"
        +]
  2. 18 tool updatesv1.3.0
    • Addedcancel_agent_run
    • Addedcreate_agent_schedule
    • Addeddelete_agent_run
    • Addeddelete_agent_schedule
    • Addedexpert_search
    • Addedget_agent_run
    • Addedget_agent_schedule
    • Addedget_expert_search
    • Addedlist_agent_runs
    • Addedlist_agent_schedule_runs
    • Addedlist_agent_schedules
    • Addedlist_expert_searches
    • Addedpause_agent_schedule
    • Addedrerun_agent_run
    • Addedresume_agent_schedule
    • Addedstart_agent_run
    • Addedupdate_agent_run
    • Addedupdate_agent_schedule
  3. 12 tool updatesv1.1.7
    • First observedget_integration_setup
    • First observedget_keyword_search
    • First observedget_keyword_search_posts
    • First observedget_topic_tree
    • First observedget_usage
    • First observedget_user_search
    • First observedget_user_search_posts
    • First observedkeyword_search
    • First observedlist_keyword_searches
    • First observedlist_user_searches
    • First observedupdate_integration_setup
    • First observeduser_search

TDQS

A3.8/5.0
Disambiguation5/5

Each tool targets a distinct resource and action. The three search types (keyword, user, expert) are clearly separated, and the difference between summary retrieval and raw post retrieval is explicitly documented.

Naming Consistency4/5

The vast majority of tools follow a verb_noun pattern (list_, get_, create_, update_, delete_, pause_, resume_). The main deviation is that search creation tools are named simply 'keyword_search', 'user_search', and 'expert_search' rather than 'create_*', which is a minor inconsistency.

Tool Count2/5

With 30 tools, the server exceeds the 25+ threshold for 'too many'. While each tool is distinct, the sheer number makes the surface area heavy and potentially overwhelming for agents to select from.

Completeness5/5

The tool set covers the full lifecycle for agent runs and schedules (create/read/update/delete/pause/resume/list), provides list/create/get/posts for three search types, and includes integration setup and usage monitoring. No critical operations appear to be missing for the apparent domain.

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/rolliinc/rolli-mcp'

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