Skip to main content
Glama

Bowmark web data: LinkedIn, Amazon, YouTube, Reddit, Airbnb, Instagram

Serve Bowmark pages' AI calls

llm_poll

Lets this chat answer the AI calls an open Bowmark page makes, so they cost nothing. Returns up to 5 pending jobs ({ jobId, system, prompt, toolName, inputSchema, leaseSeconds }); waits up to waitSeconds (max 15) when there are none. Answer each with llm_answer. Calling this marks the chat as attached for 20 seconds; stop calling it, or call llm_detach, to let calls go back to Bowmark's own model.

Input Schema

NameRequiredDescriptionDefault
waitSecondsNoHow long to wait for a job when none is pending. Capped at 15.

Output Schema

NameRequiredDescriptionDefault
jobsNoThe jobs claimed for you to answer.
instructionsNoHow to answer them.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "instructions": {
      +      "description": "How to answer them.",
      +      "type": "string"
      +    },
      +    "jobs": {
      +      "description": "The jobs claimed for you to answer.",
      +      "items": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "inputSchema": {
      +            "description": "That tool's argument schema."
      +          },
      +          "jobId": {
      +            "description": "Pass it to `llm_answer`.",
      +            "type": "string"
      +          },
      +          "leaseSeconds": {
      +            "description": "How long the job is held for you.",
      +            "type": "number"
      +          },
      +          "prompt": {
      +            "description": "What to answer."
      +          },
      +          "system": {
      +            "description": "The system prompt for the job."
      +          },
      +          "toolName": {
      +            "description": "The tool the answer must be shaped as, if any."
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    }
      +  },
      +  "type": "object"
      +}
  2. Added

TDQS

A4.7/5.0
Behavior5/5

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

Beyond annotations it discloses a real side effect the annotations do not capture: calling it marks the chat as attached for 20 seconds, and attachment lapses if you stop calling. It also describes the polling semantics (returns up to 5 jobs, blocks up to waitSeconds when empty) and enumerates the job fields including leaseSeconds, which is exactly the behavioral context an agent needs to run the loop correctly.

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?

Three dense sentences, front-loaded with what the tool does and followed by the response shape and the lifecycle/detach rule. The parenthetical job-shape list is compact, though the return fields are partly redundant with the output schema and 'so they cost nothing' is a slightly loose framing.

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 polling/lease tool with an output schema present, the description covers the loop, batching, the wait behavior, the attachment window, and how to release it. What is lightly covered is failure/staleness handling of a job whose lease expires, though leaseSeconds in the returned fields hints at it.

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?

Schema coverage is already 100% for the single waitSeconds parameter, so the baseline is 3; the description adds meaning by clarifying the wait only applies when there are no pending jobs and that the cap is 15. It does not explain units beyond the schema's minimum, but the added conditional context pushes it above baseline.

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 states a specific verb (answer/serve AI calls) and resource (pending jobs from an open Bowmark page), and explicitly distinguishes itself from llm_answer (used to answer each job) and llm_detach (used to release the attachment). An agent can tell exactly what this tool is versus its siblings without opening any schema.

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?

It gives the when (there are pending AI calls from an open Bowmark page), the loop (call repeatedly, answer each job with llm_answer), and the when-to-stop (stop calling, or call llm_detach, so calls revert to Bowmark's own model). The alternative routing to a sibling is named with the condition that selects it.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.