votel-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VOTEL_API_KEY | Yes | Your Votel API key (sk_...). Required for local setup. | |
| VOTEL_API_URL | No | Backend URL. Default is https://app.votel.ai. | https://app.votel.ai |
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
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_websitesA | List all websites for your account. Returns name, CDN hostname, status, and domain count for each site. Example: 'List my websites' or 'Show active websites'. |
| create_websiteA | Create a new website with CDN hosting. Provisions storage and pull zone automatically. Example: 'Create a website called My Business'. |
| get_websiteA | Get detailed information about a website including domains, CDN config, and status. Example: 'Show me details for website '. |
| delete_websiteA | Permanently delete a website and all its resources (storage, CDN, files). Cannot be undone. Example: 'Delete the website called Test Site'. |
| add_domainA | Add a custom domain to a website. Returns DNS records you need to configure. Example: 'Add example.com to my website'. |
| remove_domainA | Remove a custom domain from a website. Example: 'Remove example.com from my website'. |
| verify_domainA | Check DNS propagation and SSL status for a custom domain. Example: 'Check if example.com is verified'. |
| purge_cacheA | Clear CDN cache for a website. Purge everything or specific URLs. Example: 'Purge cache for my website'. |
| get_analyticsB | Get traffic analytics for a website — requests, bandwidth, and cache hit ratio. Example: 'Show analytics for my website'. |
| get_storage_credentialsA | Get storage credentials for direct file uploads to a website. Example: 'Get upload credentials for my website'. |
| list_filesA | List files and folders in a website's storage. Use path '/' for root directory. Example: 'Show files in my website'. |
| upload_fileA | Upload a file to a website's storage. Content must be base64-encoded. File is immediately available via CDN. Example: 'Upload index.html to my website'. |
| delete_fileA | Delete a file from a website's storage. Example: 'Delete old-page.html from my website'. |
| create_folderA | Create a new folder in a website's storage. Example: 'Create an images folder'. |
| publish_siteA | Deploy multiple files to a website in one call. Pass a map of file paths to content. CDN cache is purged automatically. This is the best way to publish or update a website. Example: 'Build a landing page and publish it'. |
| list_contactsA | List contacts in your CRM with optional search and filtering. Returns name, email, phone, and lifecycle stage. Example: 'Show my contacts' or 'Find contacts named John'. |
| get_contactA | Get detailed information about a specific contact including all fields, tags, and notes. Example: 'Show me details for contact '. |
| create_contactA | Create a new contact in your CRM. Provide at least a name, email, or phone. Example: 'Add a contact named John Smith with email john@example.com'. |
| update_contactA | Update fields on an existing contact. Only the fields you provide are changed. Example: 'Update John's phone to 555-1234'. |
| delete_contactA | Delete a contact from your CRM (soft delete). Example: 'Delete contact '. |
| list_pipelinesA | List all sales pipelines with their stages. Shows pipeline name, stage names, and lead counts. Example: 'Show my pipelines' or 'What stages does my sales pipeline have?'. |
| get_pipeline_leadsA | Get contacts/leads in a specific pipeline, optionally filtered by stage. Example: 'Show leads in my Sales pipeline' or 'Who is in the Negotiation stage?'. |
| move_lead_stageB | Move a contact to a different pipeline stage. Example: 'Move John to the Closed Won stage'. |
| list_tasksA | List tasks with optional filtering by completion, priority, type, assignee, or search term. Example: 'Show my tasks', 'Show high priority open tasks', 'Tasks assigned to Alice'. |
| create_taskA | Create a new task. Supports the full task field set: assignee, priority, type, status, project, tags, due date with time/timezone, duration, subtask parent, and contact link. Use list_users / list_projects / list_task_statuses / list_task_types to discover valid IDs. Example: 'Create a high priority task to follow up with John tomorrow'. |
| update_taskA | Update fields on an existing task. Use is_completed (boolean) to toggle completion — there is no flat 'status' enum on the backend; for custom statuses use status_id with values from list_task_statuses. Example: 'Set task priority to urgent and assign to Alice'. |
| delete_taskA | Soft-delete a task. Example: 'Delete task '. |
| get_taskA | Get full detail for a single task — fields, comments, attachments, subtask count. Example: 'Show me task '. |
| complete_taskA | Mark a task as completed (or reopen with is_completed=false). Example: 'Mark task as done'. |
| snooze_taskA | Snooze a task until a future datetime. Example: 'Snooze task until tomorrow 9am'. |
| list_subtasksA | List all subtasks of a parent task. To create a subtask, call create_task with parent_task_id. Example: 'Show subtasks of task '. |
| add_task_commentA | Add a comment to a task's activity timeline. The comment is appended to the task's recent_comments array; auto-generated activity entries (field changes) are preserved. Example: 'Comment on task : spoke with client, will reschedule'. |
| add_task_attachmentA | Attach a file to a task. Provide either a local file_path (uploaded to Votel storage) or a pre-hosted url. Example: 'Attach /tmp/proposal.pdf to task '. |
| remove_task_attachmentA | Remove an attachment from a task by its display name. Does not delete the underlying file from storage. Example: 'Remove proposal.pdf from task '. |
| list_usersA | List users in the workspace — use to discover assigned_to_id values for tasks. Example: 'Who can I assign tasks to?'. |
| list_projectsA | List task projects/pipelines for the workspace. Each project has its own status set and task-type set. Example: 'Show me my projects'. |
| list_task_statusesA | List the custom statuses available for a project (or for the project that contains a given task). Statuses are scoped per-project, NOT per task_type. Example: 'What statuses can I set on task ?'. |
| list_task_typesA | List the task types available for a project (or for the project that contains a given task). Each type has a 'key' (used as task_type on a task) and a display 'label'. Example: 'What task types can I use in project ?'. |
| list_task_tagsA | Autocomplete task tag suggestions. Example: 'What tags exist for tasks?' or 'Tags starting with foll'. |
| get_task_statsA | Summary task statistics for the workspace — counts by status, priority, etc. Optional filter by assignee. Example: 'Give me task stats' or 'Show task stats for Alice'. |
| get_contact_activityA | Get recent activity for a contact — calls, emails, SMS, notes, and system events. Example: 'Show recent activity for John' or 'What happened with contact ?'. |
| send_smsA | Send an SMS text message to a contact. The contact must have a phone number on file. Example: 'Send John a text saying: Your appointment is confirmed for tomorrow at 2pm'. |
| list_contact_fieldsA | List all contact fields (built-in and custom) with their types and visibility. Useful for understanding what data you can store on contacts. Example: 'What fields are available for contacts?' or 'Show custom fields'. |
| create_custom_fieldA | Create a new custom field for contacts. Supports text, email, phone, dropdown, date, number, and textarea types. Example: 'Create a dropdown field called Industry with options: Tech, Healthcare, Finance'. |
| list_variablesA | List all global variables with their current values. These are used in templates, workflows, and agent prompts. Example: 'Show my global variables' or 'What variables are set?'. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/votelai/votel-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server