Interaja com o Reddit postando comentários e pesquisando por posts.
Documentação
Reddit MCP Server
Este servidor MCP permite que Clientes interajam com o Reddit usando autenticação OAuth2, possibilitando acesso somente leitura para pesquisar postagens em subreddits.
Recursos
- Pesquisar postagens: Pesquise postagens em subreddits específicos com várias opções de ordenação (relevance, hot, top, new, comments)
- Autenticação OAuth2: Autenticação segura usando o fluxo de credenciais de cliente OAuth2 do Reddit
- Acesso somente leitura: Acesso seguro e somente leitura aos dados do Reddit sem exigir credenciais de usuário
Início Rápido
-
Crie um aplicativo Reddit para obter suas credenciais de API:
- Vá para https://www.reddit.com/prefs/apps
- Clique em "Create App" ou "Create Another App"
- Escolha "script" como tipo de aplicativo
- Anote seu client ID e client secret
-
Adicione esta configuração ao seu arquivo de configuração do Claude Desktop:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"reddit-mcp": {
"command": "npx",
"args": ["-y", "@enisze/reddit-mcp"],
"env": {
"REDDIT_CLIENT_ID": "your_client_id_here",
"REDDIT_CLIENT_SECRET": "your_client_secret_here",
"REDDIT_USER_AGENT": "reddit-mcp-server/1.0.0"
}
}
}
}
- Reinicie o Claude Desktop
Pronto! O Claude agora pode pesquisar no Reddit através da ferramenta search_posts.
Exemplo de Uso
Experimente pedir ao Claude:
- "Você pode pesquisar postagens sobre 'inteligência artificial' no subreddit MachineLearning?"
- "Pesquise as 10 principais postagens sobre 'Claude AI' no subreddit artificial"
- "Encontre discussões recentes sobre 'melhores práticas de programação' no subreddit programming"
Variáveis de Ambiente
REDDIT_CLIENT_ID: O client ID do seu aplicativo RedditREDDIT_CLIENT_SECRET: O client secret do seu aplicativo RedditREDDIT_USER_AGENT: String de user agent (opcional, padrão "reddit-mcp-server/1.0.0")
Desenvolvimento
Se você quiser contribuir ou executar a partir do código-fonte:
- Clone o repositório:
git clone <repository-url>
cd reddit-mcp
- Instale as dependências:
npm install
- Compile:
npm run build
- Execute:
npm start
- Teste:
# Run unit tests (no API credentials needed)
npm test
# Run API integration tests (requires Reddit credentials)
npm run test:api
Executando Avaliações
Para testar a funcionalidade do servidor MCP do Reddit:
npm run eval
Isso executará uma série de avaliações para garantir que todas as ferramentas estejam funcionando corretamente.
Executando Evals
O pacote de evals carrega um cliente MCP que então executa o arquivo index.ts, portanto não há necessidade de recompilar entre os testes. Você pode carregar variáveis de ambiente prefixando o comando npx. A documentação completa pode ser encontrada aqui.
OPENAI_API_KEY=your-key npx mcp-eval src/evals/evals.ts src/index.ts
Suporte a Docker
Você também pode executar este servidor MCP usando Docker:
# Build the Docker image
docker build -t reddit-mcp .
# Run the container with environment variables
docker run -e REDDIT_CLIENT_ID=your_client_id \
-e REDDIT_CLIENT_SECRET=your_client_secret \
reddit-mcp
Documentação da API
search_posts
Pesquisa postagens em um subreddit do Reddit usando autenticação OAuth2.
Parâmetros:
query(string, obrigatório): Consulta de pesquisasubreddit(string, obrigatório): O nome do subreddit (sem o prefixo r/)count(number, opcional): Número de postagens a retornar (1-100, padrão: 25)sort(string, opcional): Ordem de classificação - 'relevance', 'hot', 'top', 'new', 'comments' (padrão: 'relevance')
Solução de Problemas
Problemas de Autenticação
- Certifique-se de que seu client ID e client secret do Reddit estão corretos
- Garanta que seu aplicativo Reddit esteja configurado como tipo "script"
- Verifique se sua string de user agent é descritiva e única
Limite de Taxa
- O servidor implementa limite de taxa básico (2 segundos entre solicitações)
- O Reddit tem seus próprios limites de taxa - se você os atingir, aguarde antes de tentar novamente
Erros Comuns
- "Subreddit not found": Verifique a grafia do nome do subreddit
- "OAuth2 authentication failed": Verifique as credenciais do seu aplicativo Reddit
- "Invalid credentials": Certifique-se de que seu client ID e secret estão corretos
Testes
O projeto inclui testes abrangentes para verificar a funcionalidade:
Testes Unitários
Execute testes básicos de funcionalidade sem exigir credenciais da API do Reddit:
npm test
Esses testes verificam:
- Formatação de respostas
- Definições de tipos
- Manipulação de estruturas de dados
- Lógica de tratamento de erros
Testes de Integração com API
Teste a funcionalidade real da API do Reddit (requer credenciais):
npm run test:api
Configure suas credenciais em .env primeiro (copie de .env.example).
Esses testes verificam:
- Fluxo de autenticação OAuth2
- Funcionalidade de pesquisa
- Tratamento de respostas da API
- Tratamento de erros para vários cenários
Consulte TEST.md para instruções detalhadas de teste.
Licença
MIT