Quran.com API
Interaja com o corpus do Quran.com usando a API REST oficial v4.
Documentação
Servidor MCP para Quran.com API
Servidor MCP para interagir com o corpus do Quran.com via a REST API v4 oficial.
Visão Geral
Este é um servidor Model Context Protocol (MCP) gerado a partir da OpenAPI specification.
Endpoints
Os seguintes endpoints da API foram disponibilizados como ferramentas, que LLMs podem usar via clientes compatíveis.
Capítulos
- GET /chapters - Listar Capítulos
- GET /chapters/{id} - Obter Capítulo
- GET /chapters/{chapter_id}/info - Obter Informações do Capítulo
Versículos
- GET /verses/by_chapter/{chapter_number} - Obter versículos por número de Capítulo / Surah
- GET /verses/by_page/{page_number} - Obter todos os versículos de uma página específica do Madani Mushaf
- GET /verses/by_juz/{juz_number} - Obter versículos por número de Juz
- GET /verses/by_hizb/{hizb_number} - Obter versículos por número de Hizb
- GET /verses/by_rub/{rub_el_hizb_number} - Obter versículos por número de Rub el Hizb
- GET /verses/by_key/{verse_key} - Obter versículo por chave
- GET /verses/random - Obter um versículo aleatório
Juzs
- GET /juzs - Obter lista de todos os juzs
Pesquisa
- GET /search - Pesquisar o Alcorão por termos específicos
Traduções
- GET /resources/translations - Obter lista de traduções disponíveis
- GET /resources/translations/{translation_id}/info - Obter informações de uma tradução específica
Tafsirs
- GET /resources/tafsirs - Obter lista de tafsirs disponíveis
- GET /resources/tafsirs/{tafsir_id}/info - Obter as informações de um tafsir específico
- GET /quran/tafsirs/{tafsir_id} - Obter um único tafsir
Áudio
- GET /resources/chapter_reciters - Lista de Recitadores de Capítulo
- GET /resources/recitation_styles - Obter os estilos de recitação disponíveis
Idiomas
- GET /resources/languages - Obter todos os idiomas
Configuração
Requisitos
- Node.js 22+
- Docker
Construindo a Imagem Docker
Antes de usar o modo de produção baseado em Docker, você precisa construir a imagem Docker:
# Build the Docker image
docker build -t quran-mcp-server .
Integração com Claude Desktop
Para usar este servidor MCP com o Claude Desktop, adicione a seguinte configuração ao seu arquivo claude_desktop_config.json (normalmente localizado em ~/Library/Application Support/Claude/claude_desktop_config.json no macOS ou %APPDATA%\Claude\claude_desktop_config.json no Windows):
Modo de Produção baseado em Docker
{
"mcpServers": {
"quran-api": {
"command": "docker",
"args": ["run", "-i", "--rm", "--init", "-e", "API_KEY=your_api_key_if_needed", "-e", "VERBOSE_MODE=true", "quran-mcp-server"],
"disabled": false,
"autoApprove": []
}
}
}
Modo de Produção (Node.js)
{
"mcpServers": {
"quran-api": {
"command": "node",
"args": ["/path/to/quran-mcp-server/dist/src/server.js"],
"env": {
"API_KEY": "your_api_key_if_needed",
"VERBOSE_MODE": "true" // Set to "true" to enable verbose logging
},
"disabled": false,
"autoApprove": []
}
}
}
Modo de Desenvolvimento
{
"mcpServers": {
"quran-api": {
"command": "npx",
"args": ["ts-node", "/path/to/quran-mcp-server/src/server.ts"],
"env": {
"API_KEY": "your_api_key_if_needed",
"VERBOSE_MODE": "true" // Set to "true" to enable verbose logging
},
"disabled": false,
"autoApprove": []
}
}
}
Notas Importantes:
- Substitua
/path/to/quran-mcp-serverpelo caminho real deste repositório no seu sistema - Você precisará construir o projeto primeiro com
npm run buildoudocker build -t quran-mcp-server .se estiver usando a configuração do modo de produção - Substitua
your_api_key_if_neededpor uma chave de API real se exigido pela API do Quran.com - Se você já tem outros servidores MCP configurados, adicione esta configuração ao objeto
mcpServersexistente - Após atualizar a configuração, reinicie o Claude Desktop para que as alterações tenham efeito
Variáveis de Ambiente
API_KEY: chave de API para autenticaçãoPORT: porta do servidor (padrão: 8000 ou 3000 dependendo da linguagem)VERBOSE_MODE: Defina como 'true' para habilitar o registro detalhado de solicitações e respostas da API (padrão: false)
Modo Detalhado (Verbose)
Quando VERBOSE_MODE estiver definido como 'true', o servidor registrará informações detalhadas sobre solicitações e respostas da API no console. Isso é útil para depuração e monitoramento das interações com a API.
O registro detalhado inclui:
- Solicitações: Registra o nome da ferramenta e os argumentos para cada solicitação recebida
- Respostas: Registra o nome da ferramenta e os dados de resultado para cada resposta
- Erros: Registra informações detalhadas de erro, incluindo nome do erro, mensagem e rastreamento de pilha quando disponível
Cada entrada de registro é carimbada com data/hora e prefixada com o tipo de registro (REQUEST, RESPONSE ou ERROR) para fácil identificação.
Testes
# Run tests
npm test
Licença
Este projeto é licenciado sob a Licença MIT.