Following subsections list MCP Server Tools that can be used to interact with the MCP Server.
Accept Presence Subscription
Accepts a presence subscription request from another user.
| Properties |
| Can Modify: |
Yes |
| Can Destroy: |
No |
| Is Idempotent: |
No |
| Open World Access: |
Yes |
AcceptPresenceSubscription(From)
| Authentication |
| Required: |
Yes |
| Privileges Required: |
OAUTH.Scope.MCP.XMPP.Tools.Presence.Accept |
| Authentication Mechanisms: |
Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session |
| Arguments |
| Name |
Type |
Use |
Default Value |
Description |
From |
String |
Required |
- |
Bare JID of the sender of the presence subscription request to accept. |
Add to Roster
Adds a contact to the roster of the XMPP account associated with the MCP Client.
| Properties |
| Can Modify: |
Yes |
| Can Destroy: |
No |
| Is Idempotent: |
No |
| Open World Access: |
Yes |
AddToRoster(BareJid, NickName, Groups)
| Authentication |
| Required: |
Yes |
| Privileges Required: |
OAUTH.Scope.MCP.XMPP.Tools.Roster.Add |
| Authentication Mechanisms: |
Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session |
| Arguments |
| Name |
Type |
Use |
Default Value |
Description |
BareJid |
String |
Required |
- |
Bare JID of the contact to add to roster. |
NickName |
String |
Optional |
null |
Optional nick name of the contact to add to roster. |
Groups |
Array of String |
Optional |
null |
Optional groups to which the contact should be added. |
Decline Presence Subscription
Declines a presence subscription request from another user.
| Properties |
| Can Modify: |
Yes |
| Can Destroy: |
No |
| Is Idempotent: |
No |
| Open World Access: |
Yes |
DeclinePresenceSubscription(From)
| Authentication |
| Required: |
Yes |
| Privileges Required: |
OAUTH.Scope.MCP.XMPP.Tools.Presence.Decline |
| Authentication Mechanisms: |
Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session |
| Arguments |
| Name |
Type |
Use |
Default Value |
Description |
From |
String |
Required |
- |
Bare JID of the sender of the presence subscription request to decline. |
Get Message
Gets a message that has been received over XMPP.
| Properties |
| Can Modify: |
Yes |
| Can Destroy: |
Yes |
| Is Idempotent: |
No |
| Open World Access: |
Yes |
GetMessage(MessageId, Remove)
| Authentication |
| Required: |
Yes |
| Privileges Required: |
OAUTH.Scope.MCP.XMPP.Tools.Message.Get |
| Authentication Mechanisms: |
Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session |
| Arguments |
| Name |
Type |
Use |
Default Value |
Description |
MessageId |
String |
Required |
- |
The ID of the message to retrieve. Can be the identifier itself, or the message resource URI. |
Remove |
Boolean |
Optional |
false |
Determines if the message should be removed from the list of received messages or not. |
Pop Message
Gets the first message that has been received over XMPP, and then removes it from the resource list.
| Properties |
| Can Modify: |
Yes |
| Can Destroy: |
Yes |
| Is Idempotent: |
No |
| Open World Access: |
Yes |
PopMessage()
| Authentication |
| Required: |
Yes |
| Privileges Required: |
OAUTH.Scope.MCP.XMPP.Tools.Message.Get |
| Authentication Mechanisms: |
Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session |
Remove from Roster
Removes a contact from the roster of the XMPP account associated with the MCP Client.
| Properties |
| Can Modify: |
Yes |
| Can Destroy: |
Yes |
| Is Idempotent: |
No |
| Open World Access: |
Yes |
RemoveFromRoster(BareJid)
| Authentication |
| Required: |
Yes |
| Privileges Required: |
OAUTH.Scope.MCP.XMPP.Tools.Roster.Remove |
| Authentication Mechanisms: |
Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session |
| Arguments |
| Name |
Type |
Use |
Default Value |
Description |
BareJid |
String |
Required |
- |
Bare JID of the contact to remove from roster. |
Request Presence Subscription
Requests a presence subscription to another user's presence.
| Properties |
| Can Modify: |
Yes |
| Can Destroy: |
No |
| Is Idempotent: |
Yes |
| Open World Access: |
Yes |
RequestPresenceSubscription(To)
| Authentication |
| Required: |
Yes |
| Privileges Required: |
OAUTH.Scope.MCP.XMPP.Tools.Presence.Subscribe |
| Authentication Mechanisms: |
Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session |
| Arguments |
| Name |
Type |
Use |
Default Value |
Description |
To |
String |
Required |
- |
Bare JID of the user to whom send a presence subscription request. |
Request Presence Unsubscription
Requests a presence unsubscription from another user's presence.
| Properties |
| Can Modify: |
Yes |
| Can Destroy: |
Yes |
| Is Idempotent: |
Yes |
| Open World Access: |
Yes |
RequestPresenceUnsubscription(To)
| Authentication |
| Required: |
Yes |
| Privileges Required: |
OAUTH.Scope.MCP.XMPP.Tools.Presence.Unsubscribe |
| Authentication Mechanisms: |
Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session |
| Arguments |
| Name |
Type |
Use |
Default Value |
Description |
To |
String |
Required |
- |
Bare JID of the user to whom send a presence subscription request. |
Send Chat Message
Sends a Chat Message to a recipient using XMPP.
| Properties |
| Can Modify: |
Yes |
| Can Destroy: |
No |
| Is Idempotent: |
No |
| Open World Access: |
Yes |
SendChatMessage(To, Message, IsMarkdown, Language)
| Authentication |
| Required: |
Yes |
| Privileges Required: |
OAUTH.Scope.MCP.XMPP.Tools.Message.Send |
| Authentication Mechanisms: |
Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session |
| Arguments |
| Name |
Type |
Use |
Default Value |
Description |
To |
String |
Required |
- |
Bare JID of the recipient of the message. |
Message |
String |
Required |
- |
Message content. Can be either plain text, or Markdown. |
IsMarkdown |
Boolean |
Optional |
false |
Indicates if the message is in Markdown format (true), or plain text (false). |
Language |
String |
Optional |
null |
Optional ISO-639 code of language used in the message, if any. |
Update Roster Item
Updates a contact in the roster of the XMPP account associated with the MCP Client.
| Properties |
| Can Modify: |
Yes |
| Can Destroy: |
Yes |
| Is Idempotent: |
Yes |
| Open World Access: |
Yes |
UpdateRosterItem(BareJid, NickName, Groups)
| Authentication |
| Required: |
Yes |
| Privileges Required: |
OAUTH.Scope.MCP.XMPP.Tools.Roster.Update |
| Authentication Mechanisms: |
Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session |
| Arguments |
| Name |
Type |
Use |
Default Value |
Description |
BareJid |
String |
Required |
- |
Bare JID of the contact to update in roster. |
NickName |
String |
Optional |
null |
Optional nick name of the contact to update in roster. |
Groups |
Array of String |
Optional |
null |
Optional groups to which the contact should belong. |
MCP Server Resources
This MCP Server supports MCP Server Resources.
There are different types of resources published by the XMPP MCP Server. The type of resource is identified by the URI scheme of each resource.
The xmpp URI scheme represents a contact in the account-specific roster. Read the resource to gain information about what groups the contact belongs to, and the status of presence subscriptions, as well as nick names and last published presence information.
Note: Rosters are account-specific. When working with XMPP each MCP Client gets associated with an XMPP account. The roster belongs to the XMPP account. Different MCP Clients have their separate rosters. Resources can be shared between MCP clients however, as they only point to the different contacts. When different clients read the resources however, different responses are expected.
The mid URI scheme represents a message stanza that has been received. Read the resource, pop the message from the queue, and read it. Once the message has been read, it will be removed from the resource list. If the MCP client needs to store it, it can use file persistence to store the contents of the resource.
Note: Messages are not persisted by the MCP Server. It is the responsability of the MCP Client to read incoming messages and store them if necessary.
JSON-RPC Interface
This JSON-RPC Web Service is accessible on this endpoint: https://lab.tagroot.io/MCP/Xmpp
The following subsections list JSON-RPC methods that are available on this resource.
initialize(ProtocolVersion, Capabilities, ClientInfo)
MCP initialize method. Called by client to initialize connection and exchange information about capabilities.
| Authentication |
| Required: |
No |
| Arguments |
| Name |
Type |
Use |
Default Value |
Description |
ProtocolVersion |
String |
Required |
- |
Protocol Version |
Capabilities |
Dictionary |
Required |
- |
Client capabilities |
ClientInfo |
Dictionary |
Required |
- |
Client information |
| Return Value |
| Type |
Description |
| Dictionary |
Server capabilities and information. |
notifications/initialized()
Notification that the client has completed its initialization.
| Authentication |
| Required: |
No |
Gets an MCP server prompt.
| Authentication |
| Required: |
No |
| Arguments |
| Name |
Type |
Use |
Default Value |
Description |
Name |
String |
Required |
- |
Name of the prompt to call. |
Arguments |
Dictionary |
Required |
- |
Arguments for the prompt. |
_Meta |
Object |
Optional |
null |
Associated meta-data, if available. |
| Return Value |
| Type |
Description |
| Dictionary |
Dictionary containing the prompt. |
prompts/list(Cursor)
Lists available MCP server prompts.
| Authentication |
| Required: |
No |
| Arguments |
| Name |
Type |
Use |
Default Value |
Description |
Cursor |
String |
Optional |
null |
Cursor for pagination. |
| Return Value |
| Type |
Description |
| Dictionary |
Dictionary containing the list of prompts. |
resources/list(Cursor)
Lists available MCP server resources.
| Authentication |
| Required: |
Yes |
| Privileges Required: |
OAUTH.Scope.MCP.XMPP.Resources.List |
| Authentication Mechanisms: |
Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session |
| Arguments |
| Name |
Type |
Use |
Default Value |
Description |
Cursor |
String |
Optional |
null |
|
| Return Value |
| Type |
Description |
| Dictionary |
|
Reads an MCP server resource.
| Authentication |
| Required: |
Yes |
| Privileges Required: |
OAUTH.Scope.MCP.XMPP.Resources.Read |
| Authentication Mechanisms: |
Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session |
| Arguments |
| Name |
Type |
Use |
Default Value |
Description |
Uri |
URI |
Required |
- |
|
_Meta |
Object |
Optional |
null |
|
| Return Value |
| Type |
Description |
| Dictionary |
|
resources/subscribe(Uri)
Subscribes to an MCP server resource.
| Authentication |
| Required: |
Yes |
| Privileges Required: |
OAUTH.Scope.MCP.XMPP.Resources.List |
| Authentication Mechanisms: |
Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session |
| Arguments |
| Name |
Type |
Use |
Default Value |
Description |
Uri |
URI |
Required |
- |
|
resources/unsubscribe(Uri)
Unsubscribes from an MCP server resource.
| Authentication |
| Required: |
Yes |
| Privileges Required: |
OAUTH.Scope.MCP.XMPP.Resources.List |
| Authentication Mechanisms: |
Bearer JWT (128+ bit Encryption), Basic (128+ bit Encryption), Digest-MD5 (128+ bit Encryption), Digest-SHA-256 (128+ bit Encryption), Digest-SHA-3-256 (128+ bit Encryption), Session |
| Arguments |
| Name |
Type |
Use |
Default Value |
Description |
Uri |
URI |
Required |
- |
|
Calls an MCP server tool.
| Authentication |
| Required: |
No |
| Arguments |
| Name |
Type |
Use |
Default Value |
Description |
Name |
String |
Required |
- |
Name of the tool to call. |
Arguments |
Dictionary |
Required |
- |
Arguments for the tool. |
Task |
Object |
Optional |
null |
If specified, the caller is requesting task-augmented execution for this request. The request will return a CreateTaskResult immediately, and the actual result can be retrieved later via tasks/result.
Task augmentation is subject to capability negotiation - receivers MUST declare support for task augmentation of specific request types in their capabilities.
|
_Meta |
Object |
Optional |
null |
Associated meta-data, if available. |
| Return Value |
| Type |
Description |
| Dictionary |
Dictionary containing the result of the tool call. |
Lists available MCP server tools.
| Authentication |
| Required: |
No |
| Arguments |
| Name |
Type |
Use |
Default Value |
Description |
Cursor |
String |
Optional |
null |
Cursor for pagination. |
| Return Value |
| Type |
Description |
| Dictionary |
Dictionary containing the list of tools. |