get_request
Get the full request and response (headers + body) of one captured webhook by id.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| subdomain | Yes |
Get the full request and response (headers + body) of one captured webhook by id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| subdomain | Yes |
Changes observed during successful MCP inspections. Dates show when Glama detected each change.
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as a safe read operation (readOnlyHint=true, destructiveHint=false). The description adds behavioral context by specifying exactly what is returned (full request and response including headers and body), which goes beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly packed sentence that immediately states the action, resource, and scope. No wasted words; every part contributes to understanding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read tool with no output schema, the description adequately conveys the return value (full request/response with headers and body) and the uniqueness (one webhook by id). It does not explain how to obtain the id or the subdomain, but given sibling list_requests, this is acceptable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter meaning. It only mentions 'by id' but does not explain the format or role of 'id' or 'subdomain'. This leaves the agent without enough semantic detail for the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the action (Get), the specific resource (full request and response with headers and body), and the scope (one captured webhook by id). This differentiates it from sibling tools like list_requests, which lists multiple items, and replay_request, which resends a webhook.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: when you need a single captured webhook's full details by its id. It does not explicitly mention alternatives or exclusions, but the context is clear enough that an agent can infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Each tool has a distinct purpose: retrieving a specific request, listing requests, listing tunnels, replaying a captured webhook, sending a test webhook, and two separate configuration toggles. No semantic overlap exists, so an agent can reliably choose the right tool.
All tools follow a consistent verb_noun pattern in snake_case (e.g., get_request, list_tunnels, set_long_requests). The naming is uniform and predictable, making it easy to infer functionality from the name alone.
With 7 tools, the server is well-scoped for webhook tunnel management. Each tool addresses a clear need without redundancy or bloat, striking a good balance between functionality and simplicity.
The surface covers the core lifecycle: viewing tunnels, inspecting webhooks, replaying requests, generating test events, and configuring timeout/WebSocket behavior. Minor gaps include lack of tunnel creation/deletion or request cleanup, but these appear to be handled externally (via CLI) and do not hinder primary workflows.