Skip to main content
Glama
jfk9w

xmpp-mcp

by jfk9w

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_XMPP_HOSTYesThe XMPP server host (e.g., xmpp.example.org).
MCP_XMPP_PORTNoOptional: The port to connect to on the XMPP server.
MCP_XMPP_LOGINYesThe bot account JID with resource (e.g., codex-bot@example.org/codex).
MCP_XMPP_PASSWORDYesThe bot account password.
MCP_XMPP_STATE_DIRNoOptional: Directory for persistent state (SQLite database).
MCP_XMPP_ALLOWED_JIDYesThe bare JID allowed to communicate with the bot (e.g., you@example.org).
MCP_XMPP_CONNECT_TIMEOUTNoOptional: Connection timeout in seconds.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
xmpp_statusA

Check the restricted XMPP connection and current durable message cursor.

xmpp_send_messageA

Send text to the single configured allowlisted JID.

The recipient cannot be overridden. Reuse request_id to correlate a response when the recipient's XMPP client preserves message threads.

xmpp_set_chat_stateA

Publish an XEP-0085 chat state to the single allowlisted JID.

state must be active, composing, paused, inactive, or gone. The recipient cannot be overridden. Pass request_id when the peer preserves XMPP threads.

xmpp_poll_messagesA

Read allowlisted messages after a durable cursor without blocking.

xmpp_wait_for_messageA

Wait for the next allowlisted message after a durable cursor.

timeout_seconds is clamped to 1..1800 seconds. A timeout is a normal result.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A4.2/5.0

Scored across 5 tools

Disambiguation5/5

Each tool targets a distinct action: status check, send, set chat state, poll, and wait. Poll and wait are differentiated by blocking behavior, so there is no ambiguity.

Naming Consistency4/5

All tools share an xmpp_ prefix and mostly follow a verb_noun pattern (send_message, set_chat_state, poll_messages, wait_for_message). The one exception is xmpp_status, which is a noun phrase rather than a verb_noun, a minor deviation.

Tool Count5/5

With 5 tools, the server is well-scoped for its focused purpose of interacting with a single XMPP connection. Each tool earns its place, and the count is within the ideal 3-15 range.

Completeness5/5

The tool set covers the essential lifecycle for an XMPP connection: check status, send messages, publish chat state, and retrieve messages via poll or wait. No obvious gaps exist for the stated domain of a restricted single-recipient XMPP connection.

Maintenance

ActivitySlowing
ResponsivenessNo issues