| Servidor | O que faz | URL |
|---|---|---|
| X MCP | Chama endpoints da X API (busca de posts, consulta de usuários, bookmarks, trends, news, Articles e muito mais) | https://api.x.com/mcp (hospedado; conecte via xurl mcp) |
| Docs MCP | Pesquisa e lê a documentação da X API | https://docs.x.com/mcp (hospedado) |
X MCP — X API
Conecte qualquer ferramenta de IA compatível com MCP (Grok Build, Cursor, Claude, VS Code, …) diretamente à X API para que ela possa pesquisar todo o arquivo, consultar usuários, gerenciar bookmarks, buscar trends e news e redigir Articles — tudo com as permissões da sua própria conta X. A X API expõe um servidor MCP hospedado em Streamable HTTP emhttps://api.x.com/mcp (protocolo 2025-06-18, serverInfo: xmcp). Você o acessa por meio da ponte open-source xurl mcp, que cuida do OAuth para você e injeta um Bearer token novo em cada chamada.
Recursos em resumo
| Categoria | O que o modelo pode fazer |
|---|---|
| Posts | Buscar posts, ver quem curtiu / repostou / citou, contagens recentes |
| Search | Busca de posts em todo o arquivo, busca de usuários, busca de news |
| Users | Resolver o usuário atual, consultar por id / handle, ler os posts, timeline e menções de um usuário |
| Bookmarks | Listar / adicionar / remover bookmarks e gerenciar pastas de bookmarks |
| News & Trends | Obter notícias, obter trends por localização (WOEID) |
| Articles | Criar rascunhos de Articles e publicá-los |
Como funciona
O OAuth do X exige seu próprio app de desenvolvedor (não há registro dinâmico de cliente, eapi.x.com/mcp não anuncia descoberta nativa de OAuth do MCP). Então, em vez de apontar seu cliente diretamente para a URL, você executa uma pequena ponte local que detém a identidade do app, realiza o login único e mantém o token sempre atualizado.
- A ponte roda via o lançador npm (
npx), portanto não há etapa de instalação separada. - Na primeira execução sem token em cache, ela abre seu navegador para um login OAuth2 único, e depois faz cache e atualiza automaticamente o token para sempre.
- Todos os diagnósticos vão para o stderr; o stdout permanece um canal JSON-RPC limpo.
Antes de começar
- Crie um app X no Portal do Desenvolvedor X com OAuth 2.0 habilitado.
-
Registre o redirect URI
http://localhost:8080/callbackno app (necessário para o login pelo navegador na primeira execução). Para usar outro, definaREDIRECT_URIe registre esse no lugar. -
Copie seu
CLIENT_IDeCLIENT_SECRET— você os colocará na configuração do cliente. -
Tenha o Node.js instalado (para o
npx). -
Recomendamos que você instale o xurl:
O primeiro login precisa de um navegador. Em uma máquina headless/remota, autentique-se primeiro fora de banda com
xurl auth oauth2 --headless (fluxo de colar-código), depois a ponte simplesmente reutiliza o token em cache. Veja Headless.Conecte seu cliente
1. Grok Build
Adicione o servidor com um único comando (as flags-e viram o environment do servidor, e os args após -- vão para o npx):
~/.grok/config.toml (você também pode editá-lo diretamente):
doctor), seu navegador abrirá para o login no X — conclua uma vez e está pronto.
2. Cursor
Crie~/.cursor/mcp.json (global, todos os projetos) ou .cursor/mcp.json (apenas este projeto):
3. Claude Desktop
Editeclaude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\):
4. VS Code (GitHub Copilot / modo Agent)
Adicione a.vscode/mcp.json:
5. Qualquer cliente MCP
A configuração stdio universal é:| Campo | Valor |
|---|---|
command | npx |
args | ["-y", "@xdevplatform/xurl", "mcp", "https://api.x.com/mcp"] |
env | CLIENT_ID, CLIENT_SECRET |
| timeout de inicialização | ≥ 300s (para que o login da primeira execução possa concluir) |
xurl nativamente, substitua command/args por "command": "xurl", "args": ["mcp", "https://api.x.com/mcp"].
Autenticação
Contexto de usuário OAuth 2.0 (padrão)
A ponte autentica como você (fluxo PKCE), então as ferramentas agem com os escopos da sua conta. Ordem de resolução das credenciais: vars de ambienteCLIENT_ID/CLIENT_SECRET → o app ativo em ~/.xurl. Os tokens são armazenados em cache em ~/.xurl e atualizados automaticamente (incluindo uma atualização forçada após um 401).
Login pelo navegador na primeira execução
Sem token em cache, a ponte imprime no stderr e abre seu navegador:startup_timeout_sec generoso.
Máquinas headless / remotas
Sem navegador acessível? Autentique-se uma vez fora de banda e depois inicie o cliente:App-only (URL direta, sem ponte)
Para endpoints de leitura, você pode pular a ponte e apontar um cliente direto para a URL com um Bearer token App-only estático — útil para clientes que suportam MCP remoto com cabeçalhos customizados:Múltiplos apps e contas
"--app", "my-app" ou "-u", "alice" aos args.
Referência de configuração
| Configuração | Onde | Notas |
|---|---|---|
CLIENT_ID / CLIENT_SECRET | env | Credenciais do seu app X (ou confie em um app registrado em ~/.xurl) |
REDIRECT_URI | env | Sobrescreve o callback; deve estar registrado no app. Padrão http://localhost:8080/callback |
startup_timeout_sec | configuração do cliente | Defina ≥ 300 para que o login da primeira execução possa concluir |
[URL] posicional | args | Padrão https://api.x.com/mcp |
--app NAME | args | Usar um app registrado específico |
-u, --username | args | Agir como um usuário OAuth2 específico |
AUTH_URL, TOKEN_URL, API_BASE_URL, INFO_URL.
Verificar e solucionar problemas
| Sintoma | Causa / Solução |
|---|---|
| Cliente expira na inicialização | Aumente startup_timeout_sec para 300+; a ponte está esperando seu login pelo navegador |
| Navegador nunca abre | Sem display (headless) → execute xurl auth oauth2 --headless primeiro; garanta que npx resolva |
401 / token refresh failed | Credenciais do app erradas, ou refresh token revogado → refaça o login (xurl auth oauth2 [--app NAME]) |
| Erro de redirect/callback no navegador | http://localhost:8080/callback não registrado no app (ou REDIRECT_URI divergente) |
client-not-enrolled após login | O app não está no pacote/ambiente X correto → no portal, mova-o para Pay-per-use + Production |
npx puxa uma versão antiga | Um mirror de registry privado está como padrão → fixe --registry=https://registry.npmjs.org/ em args |
| Saída de ferramenta vazia/corrompida | Não execute o cliente com --verbose; o stdout precisa permanecer um canal JSON-RPC limpo |
Segurança e boas práticas
- Trate
~/.xurle os access tokens como segredos — não os cole em chats, logs ou configurações compartilhadas. Prefira.mcp.json/.grok/config.tomlpor projeto que referenciem variáveis de ambiente em vez de versionar segredos em texto puro. - Use um app dedicado para MCP somente com os escopos de que você precisa.
- Operações de escrita contam contra rate limits (bookmarks,
article_publish) e são mais restritas que as de leitura; espere429s ocasionais e faça backoff. - A ponte é local — suas credenciais nunca saem da sua máquina, exceto como um Bearer token enviado por TLS para
api.x.com.
Docs MCP — busca na documentação
Um servidor MCP para a documentação da X API é hospedado emhttps://docs.x.com/mcp. Conecte-o à sua ferramenta de IA para pesquisar e ler páginas de documentação sem sair do seu fluxo de trabalho.
Ferramentas disponíveis
| Ferramenta | Descrição |
|---|---|
search_x | Pesquisa na documentação do X por informações relevantes, exemplos de código, referências de API e guias |
get_page_x | Recupera o conteúdo completo de uma página específica da documentação pelo caminho |
Configuração
Adicione o servidor docs MCP à configuração do seu cliente MCP:Usando ambos os servidores juntos
Você pode conectar os dois servidores MCP simultaneamente. Isso dá ao seu assistente de IA a capacidade de tanto consultar a documentação quanto chamar a API. Grok Build (~/.grok/config.toml):
mcp.json):
Especificação OpenAPI
A especificação de API legível por máquina para todos os endpoints da X API v2.| Recurso | URL |
|---|---|
| OpenAPI Spec (JSON) | https://api.x.com/2/openapi.json |