mcp-movidesk
Enables natural language interaction with the Movidesk public API for managing tickets and persons/organizations, including CRUD operations and file attachments.
README
mcp-movidesk
MCP server para interação com a API pública do Movidesk via linguagem natural, expondo operações de tickets e de pessoas/organizações a hosts MCP (Claude Desktop, VS Code, Cursor e compatíveis).
Features
- Listagem, busca, criação e atualização de tickets (
/ticketse/tickets/past) - Upload de anexos em ações de ticket (
/ticketFileUpload) - Listagem, busca, criação e atualização de pessoas/organizações (
/persons) - Suporte a filtros OData (
$filter,$select,$expand,$orderby,$top,$skip) nas ferramentas de listagem - Tratamento de erro que repassa o corpo de erro retornado pela API do Movidesk
Available Tools
| Tool | Descrição |
|---|---|
list_tickets |
Lista tickets atualizados nos últimos 90 dias, com filtros OData opcionais |
list_tickets_past |
Lista tickets com atualização anterior a 90 dias (/tickets/past) |
get_ticket |
Busca um ticket por id ou protocol |
create_ticket |
Cria um novo ticket |
update_ticket |
Atualiza um ticket existente, incluindo notas/respostas via actions |
upload_ticket_attachment |
Envia um arquivo local como anexo de uma ação de ticket |
list_persons |
Lista pessoas/organizações, com filtros OData opcionais |
get_person |
Busca uma pessoa/organização por id |
create_person |
Cria uma nova pessoa/organização |
update_person |
Atualiza uma pessoa/organização existente |
Requirements
- Node.js 18+
- Token de API do Movidesk (gerado no painel admin do Movidesk: Configurações → Espaço de trabalho → Token de API)
Configuration
O token de autenticação pode ser informado por variável de ambiente ou por argumento de linha de comando. Quando os dois forem informados, o argumento prevalece.
| Variável / Argumento | Obrigatório | Descrição |
|---|---|---|
MOVIDESK_TOKEN |
Sim* | Token de API do Movidesk |
--token |
Sim* | Alternativa ao MOVIDESK_TOKEN, via argumento de linha de comando |
* Um dos dois é obrigatório.
A URL base da API (https://api.movidesk.com/public/v1) é fixa e não é configurável.
Segurança: prefira MOVIDESK_TOKEN via env para uso contínuo. --token fica visível em listagens de processo (ps, gerenciador de tarefas) e é recomendado apenas para testes manuais pontuais.
| Variável | Obrigatório | Padrão | Descrição |
|---|---|---|---|
MCP_TRANSPORT |
Não | stdio |
Modo de transporte: stdio (padrão, para npx/Claude Desktop/VS Code) ou http (Streamable HTTP, para Docker/clientes remotos como o n8n) |
MCP_HTTP_PORT |
Não | 3003 |
Porta do servidor HTTP (só usada quando MCP_TRANSPORT=http) |
MCP_HTTP_HOST |
Não | 0.0.0.0 |
Endereço de bind do servidor HTTP (só usada quando MCP_TRANSPORT=http) |
Usage
Run directly from GitHub
npx github:ferronicardoso/mcp-movidesk
Claude Desktop configuration
%APPDATA%\\Claude\\claude_desktop_config.json:
{
"mcpServers": {
"movidesk": {
"command": "npx",
"args": ["github:ferronicardoso/mcp-movidesk"],
"env": {
"MOVIDESK_TOKEN": "seu-token-aqui"
}
}
}
}
VS Code MCP configuration
.vscode/mcp.json:
{
"servers": {
"movidesk": {
"command": "npx",
"args": ["github:ferronicardoso/mcp-movidesk"],
"env": {
"MOVIDESK_TOKEN": "seu-token-aqui"
}
}
}
}
Rodando com Docker (transporte HTTP)
A imagem publicada roda em modo Streamable HTTP por padrão, para uso como endpoint MCP remoto (ex.: a partir do node MCP Client Tool do n8n ou qualquer cliente compatível com Streamable HTTP):
docker run -d --name mcp-movidesk \
-p 3003:3003 \
-e MOVIDESK_TOKEN=seu-token-aqui \
ghcr.io/ferronicardoso/mcp-movidesk:latest
O endpoint MCP fica disponível em http://localhost:3003/mcp.
Local Development
git clone https://github.com/ferronicardoso/mcp-movidesk
cd mcp-movidesk
npm install
npm run build
Start the compiled server:
MOVIDESK_TOKEN=seu-token-aqui npm start
Build and Commit Workflow
Este repositório versiona dist/ intencionalmente, para suportar o uso via npx github:user/repo.
O projeto usa um hook Husky pre-commit para:
- compilar TypeScript (
npm run build) - adicionar os artefatos gerados (
git add dist)
Fallback manual:
npm run build
git add dist
Security Notes
- Nunca commite o token real ou arquivos
.env. - Use
MOVIDESK_TOKENvia ambiente para uso contínuo; evite--tokenfora de testes pontuais. - O limite de 10 requisições/minuto da API vale das 7:01 às 18:59; fora desse horário o acesso é irrestrito.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.