Skip to main content
Glama

Teach a website source

teach_web_source

Reads one public page and learns its records from 3 to 8 example rows the user copied from it. Returns a preview and its explanation: how each field is read, which rows are the user's examples and which were inferred, and what happens when the page changes.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "url": "<url>",
      "name": "<name>",
      "examples": "<examples>"
    },
    "name": "teach_web_source"
  }
}

Input Schema

NameRequiredDescriptionDefault
urlYes
nameYes
excludeNo
examplesYes
project_idNo
name_columnNoname

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

B3.2/5.0
Behavior3/5

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

Annotations declare readOnlyHint=false, openWorldHint=true, and destructiveHint=false, so the safety profile is partly covered. The description adds useful return context (a preview plus an explanation of field reading, example vs inferred rows, and change behavior), but it never states that this persists a new source or what permissions/project scoping apply, which matters for a non-read-only tool.

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 dense sentences with the core action front-loaded and no filler. The second sentence packs the return contract efficiently, though the phrase 'what happens when the page changes' is vague enough to be nearly wasted.

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?

With no output schema, the description does describe the return value (preview plus explanation), which is valuable. But for a six-parameter, non-read-only tool it omits persistence semantics, project scoping, and the meaning of exclude, leaving real gaps.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry the burden. It clarifies url ('one public page') and examples ('3 to 8 example rows') and hints at name_column via 'how each field is read', but exclude, project_id, and name are entirely unexplained in both schema and description.

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 gives a specific verb and resource: it reads one public page and learns its records from 3-8 example rows. The 'learns from examples' framing distinguishes it from preview_web_source and get_web_source, though it never names those siblings explicitly.

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?

Usage is implied by the requirement of 3-8 copied example rows, which tells the agent the precondition for calling it. However, there is no explicit when-to-use versus preview_web_source, save_web_source_list, or get_web_source, and no statement of when not to use 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.