Skip to main content
Glama

Server Details

Verify US & international addresses and send physical mail (postcards, letters, checks) via Lob.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4/5 across 18 of 18 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct resource and action (e.g., create, get, list, cancel, verify) with no overlap. Even similar tools like lob_create_letter and lob_create_postcard are clearly differentiated by the noun.

Naming Consistency5/5

All tools follow the consistent pattern `lob_<verb>_<noun>`, with verbs like create, get, list, cancel, verify, and nouns in singular or plural form appropriately.

Tool Count5/5

18 tools cover address management, multiple mail types, verification, and templates—a reasonable scope for a mailing service API without being excessive.

Completeness3/5

Notable gaps: missing `create_self_mailer`, no cancellation for letters/checks/self-mailers, no address deletion, and template management limited to listing. Core workflows are covered but with significant missing operations.

Available Tools

18 tools
lob_cancel_postcardCancel a scheduled postcardA
Destructive
Inspect

Cancel a postcard before its send_date so it is never mailed (and not billed). Fails if the send window has passed. Lob API: DELETE /v1/postcards/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPostcard id (psc_…) to cancel.
Behavior4/5

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

Adds billing and failure conditions beyond the destructiveHint annotation.

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 efficient sentences with no filler, all information is relevant.

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?

Covers action, timing, failure, and billing in a compact, self-contained description.

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?

Adds format hint 'psc_…' to the schema description, improving clarity.

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 cancels a postcard before send_date, distinguishing it from create/get/list tools.

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?

Explicitly says to use before send_date and that it fails after the window, but no direct sibling mention.

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

lob_create_addressSave an address recordA
Destructive
Inspect

Create a reusable saved address record (does NOT send any mail). Returns an address id (adr_…) usable as to/from in mail tools. Lob API: POST /v1/addresses.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoRecipient name (required unless `company` is set).
companyNo
address_zipNoZIP / postal code.
descriptionNoInternal label for this address.
address_cityNo
address_line1YesPrimary street address.
address_line2NoUnit/suite/apt.
address_stateNo2-letter state/province code.
address_countryNo2-letter ISO country code. Defaults to US.
Behavior4/5

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

Annotations indicate destructiveHint=true (write operation), and the description aligns with creating a record. Description adds that no mail is sent and returns an ID, providing useful behavioral context beyond annotations.

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: first states core action and caveat, second states return value and usage. No filler, front-loaded with key 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?

Description covers purpose, return value, and usage context. With 9 parameters and no output schema, it could mention the required field (address_line1) or the name/company constraint, but schema already covers those. Adequate for the complexity.

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 78%, so most parameters are already described in schema. The description adds no new parameter-specific information beyond the schema, so baseline score of 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?

Description clearly states 'Create a reusable saved address record', includes that it does NOT send mail, and mentions the returned address id usable in mail tools, distinguishing it from mail-sending siblings like lob_create_letter.

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?

Explicitly says it does not send mail and the address id can be used in mail tools, giving clear context for when to use this tool. Does not explicitly list when not to use or alternatives, but the sibling set provides contrast.

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

lob_create_letterSend a letter (COSTS MONEY)A
Destructive
Inspect

⚠️ SENDS A REAL LETTER and charges your Lob account (use a test_ key to avoid real mail/charges). to/from accept an address id (adr_…) or inline object. file accepts an HTML string, a hosted PDF/URL, or a template id (tmpl_…). color is required. Cancelable only before send_date. Lob API: POST /v1/letters.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesEither an existing address id (adr_…) or an inline address object.
fileYesLetter body: HTML string, asset/PDF URL, or template id (tmpl_…).
fromYesReturn address (id or inline object). Required for letters.
colorYestrue = color printing, false = black & white.
send_dateNoISO-8601 date/time to schedule the send (future). Cancelable until then.
descriptionNoInternal label.
double_sidedNoPrint on both sides. Default true.
merge_variablesNoKey/value data merged into HTML templates.
address_placementNoWhere the recipient address is placed.
Behavior4/5

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

Annotations declare destructiveHint: true. The description adds context: warns with emoji, mentions real mail and account charges, cancelability, and test key usage. This goes beyond the annotation to clarify the impact.

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 front-loaded with a warning, then concise bullet-like explanations of critical parameters. It uses minimal sentences with no redundancy. Every sentence 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?

Given 9 parameters, 4 required, nested objects, and no output schema, the description covers cost, test key, address formats, file types, color, and cancelation. Remaining optional parameters are documented in schema. Sufficient for an agent to use correctly.

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 100%, so baseline is 3. The description adds value by summarizing key parameters: to/from accept id or inline object, file accepts HTML/URL/template, color required. This helps without repeating all schema descriptions.

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 title and description clearly state the tool sends a real letter and charges the account. It distinguishes from siblings like postcards and checks by specifying 'letter' and including cost warning. The verb 'send' and resource 'letter' are specific.

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 advises using a test key to avoid charges and notes cancelability before send_date. However, it does not explicitly contrast with sibling tools (e.g., lob_create_postcard) or provide when to choose this over alternatives. Usage is implied but not fully explicit.

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

lob_create_postcardSend a postcard (COSTS MONEY)A
Destructive
Inspect

⚠️ SENDS A REAL POSTCARD and charges your Lob account (use a test_ key to avoid real mail/charges). to and from accept an existing address id (adr_…) or an inline address object. front/back accept an HTML string, a hosted asset URL, or a template id (tmpl_…). Cancelable only before send_date. Lob API: POST /v1/postcards.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesEither an existing address id (adr_…) or an inline address object.
backYesBack artwork: HTML string, asset URL, or template id (tmpl_…).
fromNoReturn address (id or inline object). Optional.
sizeNoPostcard size. Default 4x6.
frontYesFront artwork: HTML string, asset URL, or template id (tmpl_…).
mail_typeNoUSPS mail class.
send_dateNoISO-8601 date/time to schedule the send (future). Cancelable until then.
descriptionNoInternal label.
merge_variablesNoKey/value data merged into HTML templates.
Behavior4/5

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

Beyond the destructiveHint annotation, the description warns of real costs, explains cancelability before send_date, and details input type flexibility. This adds valuable behavioral context without contradiction.

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?

The description is concise and front-loaded with the cost warning. It could be slightly more structured (e.g., bullet points), but it efficiently conveys key information in a few sentences.

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 description covers major aspects but lacks output/return value details. Since there is no output schema, the agent must infer results. Given the tool's complexity and sibling context, this is a gap.

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 description explains that `to` and `from` accept address id or inline objects, and `front`/`back` accept HTML, URL, or template id. This supplements the schema, which only lists types. Baseline 3 due to 100% coverage, but the extra context justifies a 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 sends a real postcard and charges the account. It distinguishes from sibling tools like lob_create_letter by specifying 'postcard' and the API endpoint POST /v1/postcards.

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 advises using a test_ key to avoid real charges, which is helpful. However, it does not explicitly state when to use this tool versus alternatives like lob_create_letter, nor does it provide conditions for avoiding use.

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

lob_get_addressGet a saved addressA
Read-only
Inspect

Retrieve a single saved address record by id. Lob API: GET /v1/addresses/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesAddress id (adr_…).
Behavior3/5

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

Annotations already mark the tool as read-only (readOnlyHint: true). The description adds the HTTP method (GET) and endpoint, providing some behavioral context. However, it does not disclose potential errors, permissions, or further behavioral traits.

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 a single front-loaded sentence that states the action and the API call. There is no unnecessary information, and every word serves a purpose.

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 simplicity of the tool (one parameter, no output schema, annotations present), the description is adequate but lacks details about return values or error conditions. It could provide more context about the address record structure.

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 already covers the single parameter 'id' with description, achieving 100% coverage. The description adds no additional parameter semantics beyond what the schema provides, so a baseline 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 uses the verb 'Retrieve' and specifies 'a single saved address record by id', which clearly states the tool's function. It also provides the Lob API endpoint, helping to distinguish it from sibling tools like lob_list_addresses (list) and lob_create_address (create).

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 does not explicitly state when to use this tool versus alternatives, such as lob_list_addresses for listing or lob_verify_us_address for validation. There is no guidance on prerequisites or 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.

lob_get_checkGet a checkA
Read-only
Inspect

Retrieve a single check by id, including amount, status, and check number. Lob API: GET /v1/checks/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesCheck id (chk_…).
Behavior4/5

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

Annotations already mark readOnlyHint=true. The description adds useful details about return fields and the API endpoint, complementing annotations without contradiction.

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 with no wasted words. The key action and return data are front-loaded, 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?

Given simple single-parameter tool, readOnlyHint annotation, and no output schema needed, the description covers what the tool does and returns 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 a clear description for the 'id' parameter. The description does not add 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 'Retrieve a single check by id' with specific return fields (amount, status, check number). It distinguishes from sibling tools like lob_list_checks and provides the API endpoint.

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 when-to-use or alternatives guidance. The description implies use when you have a check ID, but does not mention when not to use or contrast with listing tools.

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

lob_get_letterGet a letterA
Read-only
Inspect

Retrieve a single letter by id, including status, PDF url, and tracking. Lob API: GET /v1/letters/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesLetter id (ltr_…).
Behavior4/5

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

Annotations already mark it as readOnlyHint=true, so the description focusing on retrieval and included fields adds value beyond annotations. No contradictions, and it confirms a safe, non-destructive 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 concise sentences: one for purpose and one for API endpoint. Every sentence is informative with no wasted words.

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 get operation with one required parameter and no output schema, the description sufficiently covers what the tool does and what it returns (status, PDF url, tracking). No gaps noted.

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 'Letter id (ltr_…).' The description does not add further semantic detail, but the schema already adequately explains the 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 ('Retrieve a single letter by id') and specifies the resource ('letter') and included data ('status, PDF url, and tracking'). This distinguishes it from sibling tools like lob_get_address or lob_get_postcard.

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 you have a letter id and need its details. While it does not explicitly compare to alternatives, the name and content make the context clear. Lacking explicit when-not or alternative references.

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

lob_get_postcardGet a postcardA
Read-only
Inspect

Retrieve a single postcard by id, including status, PDF url, and expected delivery. Lob API: GET /v1/postcards/{id}.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesPostcard id (psc_…).
Behavior4/5

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

Annotations include readOnlyHint: true, confirming no side effects. The description adds that the tool returns status, PDF url, and expected delivery, which is helpful context beyond the read-only flag.

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 one concise sentence that front-loads the action and resource, with no redundant or extra words. Every part serves a purpose.

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 one-parameter read tool with annotations and no output schema, the description is complete: it states the resource, operation, and key return fields.

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 'Postcard id (psc_…).' The description does not add parameter details beyond what the schema provides, so baseline score 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 the action ('Retrieve a single postcard by id'), the resource ('postcard'), and what is returned (status, PDF url, expected delivery). It distinguishes from sibling tools like lob_list_postcards (list) and lob_cancel_postcard (cancel).

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 when you have a postcard id and need details, but does not explicitly state when to use this tool versus alternatives or mention any exclusions or prerequisites.

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

lob_list_addressesList saved addressesA
Read-only
Inspect

List saved address records, newest first. Lob API: GET /v1/addresses.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterNoCursor for the next page (from a previous response's next_url).
limitNoMax results per page (1–100). Default 10.
beforeNoCursor for the previous page (from a previous response's previous_url).
Behavior3/5

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

Annotations already indicate readOnlyHint=true, so the safe reading behavior is clear. The description adds sorting order ('newest first') but does not disclose other behavioral traits like pagination response structure or rate limits. It adds some value beyond annotations.

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 the core purpose and sorting order. No extraneous information. Every sentence 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?

The tool is a simple paginated list with no output schema. The description covers the sorting order, and the schema covers parameters. While it doesn't describe the response format, for a straightforward list operation, it is reasonably complete. The lack of output schema is partially compensated by the parameter schema descriptions.

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 descriptions for all three parameters (after, limit, before). The tool description does not add extra meaning beyond what the schema provides. 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 'List saved address records', specifying the verb (list) and resource (address records). It also provides the sort order 'newest first' and the API path. This differentiates it from sibling tools like lob_get_address or lob_create_address.

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 is provided on when to use this tool versus alternatives. For example, there is no mention of use for paginated listing vs single address retrieval, or comparison with other list tools (e.g., lob_list_checks). The description only states what it does, not the context of use.

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

lob_list_checksList checksA
Read-only
Inspect

List sent/scheduled checks, newest first. Lob API: GET /v1/checks.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterNoCursor for the next page (from a previous response's next_url).
limitNoMax results per page (1–100). Default 10.
beforeNoCursor for the previous page (from a previous response's previous_url).
Behavior3/5

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

Annotations declare readOnlyHint=true, so the description's job is to add behavioral context. It states the ordering 'newest first' and the API endpoint, but does not elaborate on pagination behavior beyond schema or confirm the non-destructive nature. 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 extremely concise with two short sentences, no redundancy, and front-loads the key action. Every element 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?

For a simple list tool with 3 optional parameters and no output schema, the description covers purpose and ordering. It could mention the return format (list of check objects) but is otherwise complete given the tool's simplicity.

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 schema already documents all parameters (after, limit, before) with descriptions. The description adds no additional parameter meaning, meeting the baseline of 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 explicitly states 'List sent/scheduled checks, newest first', providing a specific verb and resource. This clearly distinguishes it from sibling tools like lob_list_letters or lob_list_postcards.

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 guidance on when to use this tool versus alternatives like lob_list_letters. No when-not-to-use context or prerequisites are mentioned.

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

lob_list_lettersList lettersA
Read-only
Inspect

List sent/scheduled letters, newest first. Lob API: GET /v1/letters.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterNoCursor for the next page (from a previous response's next_url).
limitNoMax results per page (1–100). Default 10.
beforeNoCursor for the previous page (from a previous response's previous_url).
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description adds value by specifying 'newest first' ordering and the API endpoint. It does not address pagination behavior or rate limits, but the schema covers cursor parameters.

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?

The description is very concise with one sentence plus an API reference. It wastes no words, but could slightly expand without losing brevity.

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

Completeness2/5

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

Given no output schema and simple parameters, the description omits critical context such as the structure of the response (list of letter objects), that results are paginated, or any example usage. This leaves an agent underinformed about what to expect.

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 each parameter documented. The description adds no additional meaning beyond listing the resource, 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?

The description clearly states the verb 'List', the resource 'sent/scheduled letters', and the ordering 'newest first', effectively distinguishing it from sibling tools like lob_list_postcards or lob_list_checks.

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 retrieving a listing of letters but provides no explicit guidance on when to use this tool versus alternatives (e.g., lob_get_letter for a specific letter) or any prerequisites.

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

lob_list_postcardsList postcardsA
Read-only
Inspect

List sent/scheduled postcards, newest first. Lob API: GET /v1/postcards.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterNoCursor for the next page (from a previous response's next_url).
limitNoMax results per page (1–100). Default 10.
beforeNoCursor for the previous page (from a previous response's previous_url).
Behavior4/5

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

Annotations declare readOnlyHint=true, and the description adds ordering (newest first) and resource scope (sent/scheduled). This adds behavioral context beyond the annotation alone. No contradictions.

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?

One clear sentence front-loading the purpose, with optional API endpoint. Every sentence earns its place; no wasted text.

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 no output schema, the description provides ordering and scope. It lacks mention of the return format or pagination behavior, but the schema covers pagination parameters. Sufficiently complete for its complexity.

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%, so baseline is 3. The description does not add meaning beyond the schema, which already explains the cursor and limit parameters. No extra parameter context provided.

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 it lists sent/scheduled postcards, newest first, and includes the API endpoint. This distinguishes it from sibling tools like create, cancel, get, and other list tools for different resources.

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 provides the core usage context (listing postcards) but does not explicitly state when to use this tool versus alternatives like lob_get_postcard for a single record or other list tools. No when-not-to-use guidance is given.

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

lob_list_self_mailersList self-mailersA
Read-only
Inspect

List sent/scheduled self-mailers, newest first. Lob API: GET /v1/self_mailers.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterNoCursor for the next page (from a previous response's next_url).
limitNoMax results per page (1–100). Default 10.
beforeNoCursor for the previous page (from a previous response's previous_url).
Behavior3/5

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

Annotations already declare readOnlyHint=true, so safety is clear. Description adds that it returns only sent/scheduled items and is ordered newest first, but lacks details on pagination or rate limits.

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 plus API reference. No wasted words, efficient and to the point.

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

Completeness2/5

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

No output schema, and description does not hint at return format (e.g., array of self-mailers). While the API reference provides a clue, the description could be more complete for a list operation.

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 parameter descriptions. Description adds no additional meaning about parameters, 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 the action (list), resource (self-mailers), scope (sent/scheduled), and ordering (newest first). Distinguishes from sibling tools like lob_list_letters or lob_list_postcards.

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?

Implied usage for listing self-mailers, but no explicit when to use or not use, nor mention of alternatives or prerequisites.

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

lob_list_templatesList templatesA
Read-only
Inspect

List saved HTML templates usable as postcard/letter artwork. Lob API: GET /v1/templates.

ParametersJSON Schema
NameRequiredDescriptionDefault
afterNoCursor for the next page (from a previous response's next_url).
limitNoMax results per page (1–100). Default 10.
beforeNoCursor for the previous page (from a previous response's previous_url).
Behavior3/5

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

Annotations already provide readOnlyHint=true, so the description's 'List' verb aligns with read-only behavior. The description adds the API endpoint but does not disclose any additional behavioral traits beyond the annotation.

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?

Extremely concise: one sentence plus API reference. No wasted words, front-loaded with the main action.

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 paginated list tool with good schema coverage, the description is adequate. It identifies the resource and gives the API endpoint. Could mention pagination behavior, 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%, so the description does not need to explain parameters beyond what the schema provides. The description mentions no parameter details, which is acceptable given full 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 lists saved HTML templates used as postcard/letter artwork, with a specific verb and resource. It is distinct from sibling list tools like lob_list_letters or lob_list_addresses.

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 other list tools. The description simply states what it does without providing context or exclusions.

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

lob_us_autocompleteAutocomplete a US addressA
Read-only
Inspect

Suggest complete US addresses from a partial primary line — useful for address entry. Non-mutating. Lob API: POST /v1/us_autocompletions.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoOptional city to narrow suggestions.
stateNoOptional 2-letter state to narrow suggestions.
zip_codeNoOptional ZIP to narrow suggestions.
address_prefixYesPartial primary line, e.g. '185 Berr'.
Behavior3/5

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

Annotations already declare readOnlyHint=true, and the description adds 'Non-mutating' and the API endpoint. No additional behavioral traits like rate limits or constraints are mentioned. Consistent with annotations but adds minimal extra value.

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, front-loaded with purpose, no unnecessary details. 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?

The tool is simple and the description covers the key aspects. However, no output schema is provided, and the description does not mention the return format (e.g., list of suggestions). For completeness, a brief note on the expected output would be helpful.

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%, so parameters are well-described in the schema. The description adds no additional semantics beyond the overview. 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 tool's purpose: 'Suggest complete US addresses from a partial primary line'. The verb 'suggest' and resource 'US addresses' are specific, and the use case 'useful for address entry' distinguishes it from sibling tools like verification or zip lookup.

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 for address entry, but does not explicitly mention when not to use it or list alternatives. With siblings like lob_verify_us_address and lob_us_zip_lookup, some guidance would be beneficial, 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.

lob_us_zip_lookupLook up a US ZIP codeA
Read-only
Inspect

Return the cities and state associated with a US ZIP code. Non-mutating. Lob API: POST /v1/us_zip_lookups.

ParametersJSON Schema
NameRequiredDescriptionDefault
zip_codeYesA 5-digit US ZIP code, e.g. '94107'.
Behavior3/5

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

Annotations already provide readOnlyHint=true; description adds 'Non-mutating' and API endpoint, but no additional behavioral traits beyond what annotations cover.

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 with no wasted words, front-loaded with purpose and key attribute ('Non-mutating').

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?

Sufficient for a simple lookup tool with one parameter; could mention return format or example but not necessary given no output schema.

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 parameter 'zip_code' described; description adds negligible meaning beyond schema, so 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?

Description states specific verb 'Return' and resource 'cities and state associated with a US ZIP code', clearly distinguishing from sibling tools like lob_create_letter or lob_verify_us_address.

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?

Implicitly clear when to use (to look up city/state from ZIP), but lacks explicit when-not-to-use or mention of alternatives like lob_us_autocomplete for partial ZIPs.

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

lob_verify_intl_addressVerify an international addressA
Read-only
Inspect

Validate & standardize a non-US address. country (2-letter ISO code) is required. Non-mutating (no mail sent). Lob API: POST /v1/intl_verifications.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNo
stateNoState / province / region.
countryYes2-letter ISO country code, e.g. 'GB', 'DE', 'CA'.
postal_codeNo
primary_lineYesPrimary delivery line.
secondary_lineNo
Behavior4/5

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

Annotations already provide readOnlyHint=true, and the description adds the clarifying statement 'Non-mutating (no mail sent)', which reinforces the read-only nature and provides additional behavioral context beyond what annotations give.

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 three short sentences that efficiently convey the purpose, required parameter, and non-mutating nature without any filler. 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?

The tool has no output schema, so the description could mention what the response contains (e.g., standardized address, verification status) to set expectations. Currently, it only implies validation without describing output.

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 50% with some parameters lacking descriptions. The description clarifies the 'country' parameter format ('2-letter ISO code') and notes that 'primary_line' is required, which adds modest 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?

The description uses a specific verb ('Validate & standardize') and clearly identifies the resource ('non-US address'), which distinguishes it from sibling tools like lob_verify_us_address.

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 states that 'country' (2-letter ISO code) is required and that the tool is non-mutating, but it does not explicitly contrast with the US counterpart (e.g., 'Use for international addresses; for US addresses, use lob_verify_us_address instead'). The usage context is implied but could be more direct.

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

lob_verify_us_addressVerify a US addressA
Read-only
Inspect

Validate & standardize a US address, returning deliverability, corrected components, and a confidence score. Pass either a single freeform address string OR structured primary_line/city/state/zip_code. Non-mutating (no mail sent). Lob API: POST /v1/us_verifications.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNo
stateNo2-letter state code, e.g. 'CA'.
addressNoFreeform single-line address (alternative to the structured fields).
zip_codeNo5-digit or ZIP+4.
primary_lineNoPrimary delivery line, e.g. '210 King Street'.
secondary_lineNoSecondary line, e.g. 'Suite 6100'.
Behavior4/5

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

With readOnlyHint=true already indicating non-mutating, the description adds 'Non-mutating (no mail sent)' and mentions the Lob API endpoint, providing extra context beyond annotations.

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 cover purpose, output, usage modes, and safety. Every sentence is necessary and well-structured.

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 explains return values (deliverability, components, confidence score) and input modes. Without an output schema, it provides reasonable completeness for a verification tool, though error handling details are omitted.

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 description coverage is 83% with most parameters already described. The description adds value by clarifying the alternative input modes (freeform vs structured), which is not obvious from the schema alone.

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 validates and standardizes a US address, returning deliverability, corrected components, and a confidence score. It distinguishes from siblings like lob_verify_intl_address and lob_us_autocomplete by focusing on US address verification.

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 specifies that users can pass either a freeform address string or structured fields (primary_line, city, state, zip_code). It implicitly contrasts with lob_verify_intl_address for international addresses, but lacks explicit 'when not to use' guidance.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.