Skip to main content
Glama
ati-hh-mcp

ati-hh-mcp

by timur-ai

Create Chat Without Vacancy

create_chat_without_vacancy

Get or create a chat bound to a resume without a specific vacancy; provide resume_hash, optionally send a first_message, and set confirm=True to apply changes.

Instructions

Get an existing chat or create a new one bound to a resume without a specific vacancy (resume_hash is required, an optional first_message opens the conversation). Mutation: requires confirm=True.

Input Schema

NameRequiredDescriptionDefault
bodyYes
confirmNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior4/5

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

With no annotations supplied, the description carries the full burden and does disclose the important traits: this is a mutation, it requires confirm=True, and it is idempotent in the get-or-create sense. It stops short of saying whether retrieval paths also require confirm, whether first_message is actually delivered as a message (a side effect), or what permissions are needed.

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?

A single dense sentence plus a short mutation warning, with the core behavior front-loaded and the safety requirement placed last where it is most likely to be read before invoking. No filler, though the parenthetical stacks three pieces of information tightly.

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?

There is no output schema, and the description never says what comes back — presumably a chat identifier needed for subsequent send_chat_message calls, but the agent must guess. For a get-or-create tool with an opaque body parameter, return-shape guidance is the main missing piece.

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 0% and body is a free-form object with additionalProperties true, so the description must compensate. It names resume_hash as required, first_message as optional, and explains that confirm gates the mutation, which is genuinely useful. However, it leaves unclear how many other body fields exist, what their types are, and how the tool decides an existing chat matches the resume.

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 names specific verbs (get/create) and a resource (chat) with a clear scope: bound to a resume and explicitly without a vacancy. An agent can distinguish this from vacancy-oriented chat operations. It doesn't name a counterpart sibling such as a vacancy-scoped chat creator, but the scope qualifier does the disambiguation work.

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 get-or-create semantics convey the intended usage context: call this when you want a resume-anchored conversation with no vacancy. There is no explicit when-not guidance, no mention of prerequisites beyond resume_hash, and no comparison to sibling tools like list_chats or send_chat_message.

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