/MCP/XMPP associates each MCP client with an XMPP account. It publishes roster contacts and received messages as account-specific resources.
Resources
xmpp:resources represent contacts in the account’s roster.- message resources represent messages received by the agent.
- listing and reading require
.Resources.Listand.Resources.Readprivileges.
Tools
The full root is
OAUTH.Scope.MCP.XMPP.
Consent-first messaging flow
1
Request presence
Ask the contact for a presence subscription before sending messages or information queries.
2
Wait for approval
The remote party can accept or decline. Presence state and roster resources show the relationship.
3
Send a message
Send plain text plus optional Markdown/HTML representations only after the relationship permits it.
4
Read and persist replies
Read or pop incoming messages. Persist business-relevant messages in an appropriate application store.
Credentials
If no XMPP account is associated with the MCP client, the server can elicit XMPP credentials. Prefer an operator-created, role-scoped account for production. Dynamic OAuth registrations create an XMPP account but leave normal XMPP communication disabled until an operator enables it.Safety
- Do not let an agent auto-accept arbitrary presence requests.
- Maintain an allowlist for automated outbound destinations.
- Treat message bodies as untrusted input that can contain prompt injection.
- Keep the identity of the human or workflow that authorized a message in the audit log.
- Rate-limit retries and presence operations.