We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/jeffmetricas/mcp-wppconnect-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
/**
* Zod validation schemas for all MCP tool inputs.
* These schemas are converted to JSON Schema for MCP tool registration.
*/
import { z } from 'zod';
/**
* Session management schemas
*/
export const InitializeSessionSchema = z.object({
sessionId: z.string().uuid().describe('Unique identifier for the WhatsApp session'),
});
export const GetQrSnapshotSchema = z.object({
sessionId: z.string().uuid().describe('Unique identifier for the WhatsApp session'),
});
export const GetSessionStatusSchema = z.object({
sessionId: z.string().uuid().describe('Unique identifier for the WhatsApp session'),
});
export const CloseSessionSchema = z.object({
sessionId: z.string().uuid().describe('Unique identifier for the WhatsApp session'),
});
/**
* Message schemas
*/
export const SendTextSchema = z.object({
sessionId: z.string().uuid().describe('Unique identifier for the WhatsApp session'),
to: z.string().describe('Recipient JID (e.g., 5511999999999@c.us for individual or XXX@g.us for group)'),
text: z.string().min(1).max(4096).describe('Message text to send'),
});
/**
* Group participant schemas
*/
export const PromoteGroupParticipantSchema = z.object({
sessionId: z.string().uuid().describe('Unique identifier for the WhatsApp session'),
groupId: z.string().describe('Group JID (format: XXX@g.us)'),
participantId: z.string().describe('Participant JID to promote to admin'),
});
export const DemoteGroupParticipantSchema = z.object({
sessionId: z.string().uuid().describe('Unique identifier for the WhatsApp session'),
groupId: z.string().describe('Group JID (format: XXX@g.us)'),
participantId: z.string().describe('Participant JID to demote from admin'),
});
/**
* Community participant schemas
*/
export const GetCommunityParticipantsSchema = z.object({
sessionId: z.string().uuid().describe('Unique identifier for the WhatsApp session'),
communityId: z.string().describe('Community JID (format: XXX@g.us)'),
});
export const PromoteCommunityParticipantSchema = z.object({
sessionId: z.string().uuid().describe('Unique identifier for the WhatsApp session'),
communityId: z.string().describe('Community JID (format: XXX@g.us)'),
participantId: z.string().describe('Participant JID to promote to admin'),
});
export const DemoteCommunityParticipantSchema = z.object({
sessionId: z.string().uuid().describe('Unique identifier for the WhatsApp session'),
communityId: z.string().describe('Community JID (format: XXX@g.us)'),
participantId: z.string().describe('Participant JID to demote from admin'),
});
/**
* Utility schemas
*/
export const GetContactsSchema = z.object({
sessionId: z.string().uuid().describe('Unique identifier for the WhatsApp session'),
});
export const GetChatsSchema = z.object({
sessionId: z.string().uuid().describe('Unique identifier for the WhatsApp session'),
});
/**
* Export types for use in tool implementations
*/
export type InitializeSessionInput = z.infer<typeof InitializeSessionSchema>;
export type GetQrSnapshotInput = z.infer<typeof GetQrSnapshotSchema>;
export type GetSessionStatusInput = z.infer<typeof GetSessionStatusSchema>;
export type CloseSessionInput = z.infer<typeof CloseSessionSchema>;
export type SendTextInput = z.infer<typeof SendTextSchema>;
export type PromoteGroupParticipantInput = z.infer<typeof PromoteGroupParticipantSchema>;
export type DemoteGroupParticipantInput = z.infer<typeof DemoteGroupParticipantSchema>;
export type GetCommunityParticipantsInput = z.infer<typeof GetCommunityParticipantsSchema>;
export type PromoteCommunityParticipantInput = z.infer<typeof PromoteCommunityParticipantSchema>;
export type DemoteCommunityParticipantInput = z.infer<typeof DemoteCommunityParticipantSchema>;
export type GetContactsInput = z.infer<typeof GetContactsSchema>;
export type GetChatsInput = z.infer<typeof GetChatsSchema>;