Skip to main content
Glama
This connector has been deprecated

Replaced by Teppek.

Duplicate listing. Use the main Teppek connector.

send_message

START contact with the owner of a Teppek LISTING on the user's behalf (identified by the listing) — the primary FIRST-CONTACT path (there is no price-offer/accept/reject flow). Opens a private thread with the owner; contact routes through Teppek and never exposes raw personal details. To continue a thread that already EXISTS (you have a thread_id from list_conversations), use reply_to_conversation instead. External-feed listings (e.g. imported jobs) have no Teppek owner, so this returns a redirect to the external application URL instead of creating a thread. Requires the user to be connected to Teppek: an anonymous call returns an AUTH_REQUIRED error with an authorize_url — surface 'Connect with Teppek' to the user, then retry.

Input Schema

NameRequiredDescriptionDefault
bodyYesThe message to send to the listing owner, up to 2000 characters. Contact routes through Teppek; raw personal details are never exposed. Example: "Hello, can I view the flat this week?"
listing_idYesListing id, taken from the `id` field of search_listings, semantic_search or list_my_listings results. Example: "adzuna-us-5947308680".

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed5 schema fields changed
    • changedInput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • addedInput schema / additionalProperties
      Added value: +false
    • changedInput schema / properties / body / description
      Previous value: -"The message to send to the listing owner. Contact routes through Teppek; raw personal details are never exposed."New value: +"The message to send to the listing owner, up to 2000 characters. Contact routes through Teppek; raw personal details are never exposed. Example: \"Hello, can I view the flat this week?\""
    • addedInput schema / properties / listing_id / description
      Added value: +"Listing id, taken from the `id` field of search_listings, semantic_search or list_my_listings results. Example: \"adzuna-us-5947308680\"."
    • changedOutput schema / $schema
      Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {},
      +  "type": "object"
      +}
  3. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations only say non-readonly, open-world, non-idempotent, non-destructive; the description goes further by disclosing that contact is mediated through Teppek so raw personal details are never exposed, that external listings return a redirect rather than a thread, and that anonymous calls fail with a specific error and remediation flow. That is substantive behavioral context beyond the structured fields.

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?

Front-loads the core action and the sibling distinction in the first sentence, then layers edge cases in descending priority. It is dense and em-dash-heavy and slightly long, but no sentence is filler — the redirect and auth clauses both carry needed behavior.

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?

With an output schema present, return-value detail is not required, yet the description still explains the two non-obvious outcomes (redirect for external listings, AUTH_REQUIRED + authorize_url) that an agent must handle. Nothing blocking a correct call is missing.

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 params are documented in-schema (body length limit, listing_id provenance from search_listings/semantic_search/list_my_listings). The description adds only the notion that the listing identifies the owner's thread target, which is largely implied by the schema, 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?

States a specific verb and resource ('START contact with the owner of a Teppek LISTING on the user's behalf') and immediately scopes it as the primary first-contact path with no price-offer/accept/reject flow. It also names the contrasting sibling (reply_to_conversation) so the agent can distinguish it without opening either 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?

Explicit routing rule: use this to open a NEW thread, use reply_to_conversation when a thread_id already exists. It also covers the external-feed case (redirect instead of thread) and the unauthenticated case (AUTH_REQUIRED with authorize_url, then retry), which are exactly the branch conditions an agent needs.

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.

Resources