Skip to main content
Glama
postproxy

PostProxy MCP Server

Official
by postproxy

dm_chat_create

Idempotent

Find or create a direct message chat for a participant on a social media profile. Returns the existing chat if one already exists, ensuring idempotent operation before sending a message.

Instructions

Find or create a chat for a participant on a DM-capable profile (idempotent — returns the existing chat if one already exists). Use before sending a message to a participant the profile has not yet messaged.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
profile_idYesProfile hashid
participant_nameNoOptional display name for the participant
participant_usernameNoOptional display username for the participant
participant_external_idYesPlatform participant ID (Instagram-scoped user ID, Facebook PSID, Telegram user id, or Bluesky DID)
Behavior4/5

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

Description adds idempotency and return behavior (existing chat if found) beyond annotations. No contradiction with annotations (readOnlyHint=false, idempotentHint=true). Could mention error conditions like non-DM-capable profile, but overall informative.

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, no redundancy, front-loaded with key information (find or create, idempotent). Each word adds value.

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?

Lacks specification of return value (expected to return chat ID or object) and prerequisites (profile must be DM-capable). Given no output schema and openWorldHint, description could be more complete.

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 covers 100% of parameters with descriptions. Description does not add new parameter details but reinforces idempotency context, which is baseline adequate.

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 'Find or create a chat' with specific verb and resource, mentions idempotency, and distinguishes from sibling tools like dm_chat_get or dm_chat_archive by positioning it as a prerequisite to sending messages.

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 'Use before sending a message to a participant the profile has not yet messaged', providing clear context for when to invoke. No explicit alternatives, but the usage directive is strong.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/postproxy/postproxy-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server