Atlarium Habitat Database MCP
Dados estruturados de aquário, marinho, terrário e paludário para agentes de IA.
Documentação
Atlarium Habitat Database MCP
Servidor MCP público somente leitura para dados de habitat Atlarium, diagnósticos, produtos, calculadoras e planejamento de consultoria.
Endpoint MCP · Documentação humana · Cartão do servidor · Documentação técnica · Exemplos de cliente
O Atlarium Habitat Database MCP dá a agentes de IA acesso estruturado a dados públicos da Atlarium e funções de consultoria para aquários, tanques marinhos, sistemas de água fria, terrários, paludários e vivários. Ele expõe 39 ferramentas públicas somente leitura para espécies, plantas, produtos, guias, algas, doenças, problemas de plantas, medicamentos, compatibilidade, fertilização, calculadoras e planejamento completo de habitat, sem expor contas Atlarium, espaços de trabalho privados, APIs administrativas ou operações de escrita.
Resumo
| Superfície | Valor |
|---|---|
| Endpoint MCP | https://mcp.atlarium.bio/mcp |
| Versão MCP | 2.0.3 |
| Transporte | Streamable HTTP |
| Autenticação | nenhuma |
| Superfície de ferramentas | 39 ferramentas públicas somente leitura |
| Prompts | 9 prompts públicos guiados |
| Widget de apps | ui://widget/habitat-explorer.v4.html |
| Cartão do servidor | https://mcp.atlarium.bio/.well-known/mcp/server-card.json |
| Documentação humana | https://atlarium.bio/mcp |
| Registro Oficial MCP | bio.atlarium/habitat-database |
https://atlarium.bio/mcp é documentação. O endpoint canônico Streamable HTTP MCP
é https://mcp.atlarium.bio/mcp.
O Que Você Pode Construir
| Caso de uso | Ferramentas públicas |
|---|---|
| Pesquisa de espécies | Pesquise peixes, animais aquáticos e plantas e recupere perfis estruturados localizados. |
| Compatibilidade de tanque | Compare espécies com restrições de tamanho do tanque, pH, dureza e temperatura. |
| Triagem de diagnóstico | Pesquise algas, doenças aquáticas, problemas de plantas e referências de tratamento em perfis públicos. |
| Seleção de produtos | Explore categorias de produtos, marcas, equipamentos e fertilizantes. |
| Suporte à fertilização | Pesquise regimes de dosagem, calcule doses de produtos, lacunas de nutrientes e totais semanais. |
| Calculadoras de aquário | Estime volume do tanque, peso, trocas de água, química da água, conversões de unidades e necessidades de equipamento. |
| Planejamento de habitat | Gere um plano completo de tanque consultivo com espécies, plantas, produtos, avisos, motivações e guias relacionados. |
| Recuperação de guias | Pesquise e recupere conteúdo educacional público da Atlarium. |
Todas as saídas são consultivas. Verificações de compatibilidade, diagnósticos, planos de fertilização, estimativas de equipamento, calculadoras de aquário e sugestões de tanque devem ser validadas contra animais reais, equipamentos, química da água, regulamentações locais e restrições de manejo.
Início Rápido
Use qualquer cliente MCP que suporte servidores remotos Streamable HTTP:
{
"mcpServers": {
"atlarium": {
"type": "streamable-http",
"url": "https://mcp.atlarium.bio/mcp"
}
}
}
Exemplo remoto HTTP do Claude Code:
claude mcp add --transport http atlarium https://mcp.atlarium.bio/mcp
Verificação rápida do endpoint ativo:
curl --fail --silent --show-error https://mcp.atlarium.bio/health
curl --fail --silent --show-error https://mcp.atlarium.bio/.well-known/mcp/server-card.json
pnpm mcp:monitor:public
Configuração do Cliente
| Cliente ou host | Configuração |
|---|---|
| OpenAI Agents SDK | Consulte examples/openai-agents-python para um agente Python que se conecta ao endpoint remoto Streamable HTTP. |
| Claude Code | Execute claude mcp add --transport http atlarium https://mcp.atlarium.bio/mcp e peça ao Claude para usar o Atlarium. |
| Cursor | Use o link profundo Adicionar ao Cursor ou o mcp.json raiz. |
| Cline | Adicione o endpoint hospedado como servidor remoto Streamable HTTP; llms-install.md contém instruções determinísticas de configuração do agente. |
| Windsurf | Copie examples/windsurf/mcp_config.json nas configurações MCP do Windsurf e atualize os servidores MCP do Cascade. |
| VS Code | Copie examples/vscode/mcp.json; o VS Code usa type: "http" para servidores MCP remotos. |
| Antigravity | Use examples/antigravity/mcp.json apenas em builds que suportam servidores MCP remotos. |
| Streamable HTTP genérico | Use os exemplos JSON-RPC em examples/generic-streamable-http. |
| ChatGPT Apps | A versão de app existente 1.0.0 está aprovada no painel da OpenAI. O pacote corrigido 2.0.3 foi reenviado em 2026-08-29 com testes estáveis de taxonomia e a Plataforma OpenAI agora mostra Review. Use examples/chatgpt-apps e docs/chatgpt-review-remediation.md para notas de revisão e prompts de teste. |
Estas são notas de compatibilidade, não endossos de fornecedores. Não faça afirmações de suporte de fornecedores ou diretórios para ChatGPT, Claude, Cursor, Windsurf, VS Code, Antigravity ou qualquer diretório, a menos que o fornecedor tenha aceitado a listagem.
App ChatGPT E Widget
O servidor anuncia um recurso de widget MCP Apps / ChatGPT Apps somente leitura para hosts compatíveis com Apps:
| Campo | Valor |
|---|---|
| URI do recurso | ui://widget/habitat-explorer.v4.html |
| Tipo MIME | text/html;profile=mcp-app |
| Widget | Atlarium Habitat Explorer |
| Domínio do widget | https://mcp.atlarium.bio |
| Modo de saída | Texto JSON simples mais structuredContent |
O widget renderiza resultados públicos de habitat, perfis, resumos de diagnóstico, resultados de produtos, saída de calculadoras, resumos de compatibilidade, planos de fertilização e sugestões de habitat. Ele não adiciona acesso de escrita e não expõe dados de espaço de trabalho, autenticação, administração, diário, agenda ou medições.
Capturas de tela de desenvolvimento somente do widget e uma gravação curta de
demonstração estão incluídas em docs/assets/chatgpt-screenshots/ e docs/assets/chatgpt-app-demo.mp4.
Capturas reais em nível de host e responsivas 390x844 estão armazenadas em
docs/assets/chatgpt-screenshots/real-host/; gravação nativa iOS/Android ainda é
necessária para o pacote final de revisão. O candidato v4 / 2.0.3 está ativo
no endpoint MCP, mas ainda não foi aprovado como a nova versão do app ChatGPT; não
descreva esse envio de app como aprovado até que a OpenAI o aceite. A versão de app
existente no painel 1.0.0 está aprovada.
Superfície de Ferramentas
| Área | Ferramentas |
|---|---|
| Peixes e animais aquáticos | search_fish, get_fish_profile |
| Plantas aquáticas | search_plants, get_plant_profile |
| Produtos e guias | search_products, get_product_profile, search_guides, get_guide |
| Diagnósticos | search_algae, get_algae_profile, search_diseases, get_disease_profile, search_plant_problems, get_plant_problem_profile, search_medicines, get_medicine_profile, match_diagnostic_profiles |
| Catálogo de produtos | list_product_categories, list_product_brands, search_equipment, get_equipment_profile, search_fertilizers, get_fertilizer_profile |
| Compatibilidade e água | check_species_compatibility, get_water_parameters, suggest_species_for_tank |
| Fertilização | search_fertilization_regimes, get_fertilization_regime, calculate_fertilizer_dose, calculate_nutrient_gaps, calculate_weekly_dose_totals, generate_fertilization_plan |
| Calculadoras | calculate_tank_volume, calculate_tank_weight, calculate_water_change, calculate_water_chemistry, convert_units, calculate_equipment_requirements |
| Planejador de habitat | suggest_habitat_for_tank |
Toda ferramenta é registrada com anotações somente leitura:
readOnlyHint: true, openWorldHint: false, destructiveHint: false,
idempotentHint: true.
Prompts Guiados
O servidor anuncia prompts guiados para pesquisa de espécies, compatibilidade, planejamento de habitat, algas, doenças, problemas de plantas, seleção de produtos, fertilização e cálculos de tanque. Os prompts orientam os clientes para a mesma superfície de ferramentas públicas somente leitura; eles não adicionam novos recursos ou acesso de escrita.
Exemplos de Chamadas de Ferramentas
Cada exemplo mostra o nome da ferramenta MCP e uma entrada JSON válida mínima.
Clientes MCP genéricos recebem texto JSON simples; hosts compatíveis com Apps
também podem usar structuredContent.
Catálogo, plantas e guias
search_fish
Objetivo: pesquisar perfis de peixes e animais aquáticos.
Prompt: "Encontre peixes pequenos adequados para iniciantes em um tanque plantado de 90 L."
{
"query": "tetra",
"language": "en",
"min_tank_liters": 40,
"max_tank_liters": 120,
"limit": 5
}
Saída: perfis públicos de animais correspondentes com slugs, nomes localizados, campos de resumo e URLs públicas quando disponíveis.
get_fish_profile
Objetivo: recuperar um perfil estruturado de peixe ou animal aquático.
Prompt: "Mostre-me o perfil Atlarium do Tetra Neon."
{
"slug": "paracheirodon-innesi",
"language": "en"
}
Saída: dados públicos do perfil, parâmetros de cuidado, taxonomia, relações e conteúdo localizado quando disponível.
search_plants
Objetivo: pesquisar perfis de plantas aquáticas.
Prompt: "Encontre plantas fáceis de primeiro ou segundo plano para tanques de baixa tecnologia."
{
"query": "anubias",
"language": "en",
"difficulty": "easy",
"limit": 5
}
Saída: perfis públicos de plantas correspondentes com posicionamento, dificuldade e URLs públicas quando disponíveis.
get_plant_profile
Objetivo: recuperar um perfil estruturado de planta aquática.
Prompt: "Abra o perfil da planta Anubias barteri."
{
"slug": "anubias-barteri",
"language": "en"
}
Saída: requisitos da planta, informações de crescimento, atributos estruturados e conteúdo localizado quando disponível.
search_products
Objetivo: pesquisar produtos públicos de habitat.
Prompt: "Encontre produtos de filtro para tanques de água doce."
{
"query": "filter",
"language": "en",
"category": "filter",
"limit": 5
}
Saída: resultados de produtos com informações de marca/categoria e URLs públicas de produtos quando disponíveis.
get_product_profile
Objetivo: recuperar um perfil público de produto.
Prompt: "Mostre o perfil do produto para este slug de catálogo."
{
"slug": "seachem/prime",
"language": "en"
}
Saída: dados públicos estruturados do produto, casos de uso, detalhes da marca e links quando disponíveis.
search_guides
Objetivo: pesquisar guias e conteúdo educacional da Atlarium.
Prompt: "Encontre guias públicos sobre ciclagem de aquário."
{
"query": "cycling",
"language": "en",
"topic": "aquarium",
"limit": 5
}
Saída: correspondências de guias com título, resumo, tópico e URLs públicas quando disponíveis.
get_guide
Objetivo: recuperar um guia público da Atlarium.
Prompt: "Abra o guia do ciclo do nitrogênio."
{
"slug": "aquarium/nitrogen-cycle",
"language": "en"
}
Saída: conteúdo público estruturado do guia e metadados relacionados.
Diagnósticos e referências de tratamento
search_algae
Objetivo: pesquisar perfis de diagnóstico de algas.
Prompt: "Encontre perfis de algas para poeira verde no vidro do aquário."
{
"query": "green dust",
"language": "en",
"difficulty": 2,
"limit": 5
}
Saída: correspondências de algas com sintomas, causas prováveis e orientação consultiva.
get_algae_profile
Objetivo: recuperar um perfil de alga.
Prompt: "Mostre o perfil da alga de pontos verdes."
{
"slug": "green-spot-algae",
"language": "en"
}
Saída: perfil público estruturado de alga com sintomas, causas, prevenção e resposta consultiva.
search_diseases
Objetivo: pesquisar perfis de doenças aquáticas.
Prompt: "Encontre perfis de doenças para pontos brancos em peixes."
{
"query": "white spots",
"language": "en",
"water_type": "freshwater",
"limit": 5
}
Saída: possíveis perfis de doenças e referências consultivas de tratamento.
get_disease_profile
Objetivo: recuperar um perfil de doença.
Prompt: "Abra o perfil da doença ictio."
{
"slug": "ich",
"language": "en"
}
Saída: sintomas, causas possíveis, referências de tratamento e avisos legais.
search_plant_problems
Objetivo: pesquisar perfis de deficiência, pragas e ambiente de plantas aquáticas.
Prompt: "Encontre causas para folhas amareladas em plantas de aquário."
{
"query": "yellow leaves",
"language": "en",
"type": "deficiency",
"limit": 5
}
Saída: correspondências de problemas de plantas com sintomas, causas e correções consultivas.
get_plant_problem_profile
Objetivo: recuperar um perfil de problema de planta.
Prompt: "Abra o perfil de deficiência de nitrogênio."
{
"slug": "nitrogen-deficiency",
"language": "en"
}
Saída: dados estruturados de deficiência/problema e orientação consultiva.
search_medicines
Objetivo: pesquisar perfis de medicamentos e produtos de tratamento para aquário.
Prompt: "Encontre referências públicas de medicamentos para tratamento de ictio."
{
"query": "ich",
"language": "en",
"limit": 5
}
Saída: referências de medicamentos/tratamentos com dados públicos de perfil quando disponíveis.
get_medicine_profile
Objetivo: recuperar um perfil de medicamento.
Prompt: "Abra o perfil de um slug de medicamento."
{
"slug": "malachite-green",
"language": "en"
}
Saída: referência pública estruturada de medicamento, notas de uso e avisos legais.
match_diagnostic_profiles
Objetivo: corresponder texto de sintomas entre perfis de algas, doenças, problemas de plantas e medicamentos.
Prompt: "Corresponda crescimento branco difuso em tronco e sintomas de peixes estressados."
{
"query": "white fuzzy growth and fish flashing",
"language": "en",
"limit": 8
}
Saída: prováveis perfis públicos de diagnóstico agrupados por relevância.
Produtos, equipamentos e fertilizantes
list_product_categories
Objetivo: listar categorias de produtos para equipamentos e fertilizantes. Prompt: "Quais categorias de equipamentos públicos estão disponíveis?"
{
"language": "en",
"type": "equipment"
}
Saída: nomes e identificadores de categorias públicas localizadas.
list_product_brands
Objetivo: listar marcas públicas de produtos.
Prompt: "Liste marcas que correspondam a Seachem."
{
"language": "en",
"query": "Seachem"
}
Saída: nomes de marcas públicas correspondentes e metadados.
search_equipment
Objetivo: pesquisar produtos de equipamentos para aquários e habitats.
Prompt: "Encontre aquecedores para um aquário de água doce."
{
"query": "heater",
"language": "en",
"use_case": "freshwater",
"limit": 5
}
Saída: correspondências de produtos de equipamentos com campos públicos estruturados do catálogo.
get_equipment_profile
Objetivo: recuperar um perfil de produto de equipamento.
Prompt: "Abra este perfil de equipamento."
{
"slug": "eheim/thermocontrol",
"language": "en"
}
Saída: detalhes públicos do equipamento, categoria, marca e campos de uso quando disponíveis.
search_fertilizers
Objetivo: pesquisar produtos de fertilizantes e perfis de nutrientes.
Prompt: "Encontre fertilizantes líquidos para aquários plantados."
{
"query": "flourish",
"language": "en",
"category": "fertilizer",
"limit": 5
}
Saída: correspondências de produtos de fertilizantes e metadados de nutrientes quando disponíveis.
get_fertilizer_profile
Objetivo: recuperar um perfil de fertilizante.
Prompt: "Abra este perfil de fertilizante."
{
"slug": "seachem/flourish",
"language": "en"
}
Saída: dados estruturados de fertilizantes, metadados de dosagem e detalhes públicos do catálogo quando disponíveis.
Sugestões de compatibilidade, água e habitat
check_species_compatibility
Objetivo: verificar compatibilidade básica entre espécies de habitat.
Prompt: "Neon Tetra e Corydoras paleatus podem conviver em um aquário plantado de 90 L?"
{
"species": ["Paracheirodon innesi", "Corydoras paleatus"],
"language": "en",
"tank_liters": 90,
"ph": 6.8,
"temperature": 24
}
Saída: sinais consultivos de compatibilidade, avisos, justificativas e restrições.
get_water_parameters
Objetivo: recuperar parâmetros de água recomendados para um peixe ou planta.
Prompt: "Quais parâmetros de água o Neon Tetra prefere?"
{
"slug": "paracheirodon-innesi",
"type": "fish",
"language": "en"
}
Saída: orientação pública sobre temperatura, pH, GH/KH e parâmetros relacionados quando disponível.
suggest_species_for_tank
Objetivo: sugerir espécies aquáticas com base no tanque e nos parâmetros de água.
Prompt: "Sugira espécies amigáveis para iniciantes em um aquário plantado de 120 L."
{
"tank_liters": 120,
"language": "en",
"ph": 6.8,
"temperature": 24,
"beginner_friendly": true,
"planted_tank": true,
"limit": 8
}
Saída: sugestões públicas de espécies com avisos e justificativa básica.
suggest_habitat_for_tank
Objetivo: sugerir um plano público completo de habitat.
Prompt: "Planeje uma comunidade plantada equilibrada para 120 L."
{
"tank_liters": 120,
"language": "en",
"ph": 6.8,
"temperature": 24,
"beginner_friendly": true,
"planted_tank": true,
"co2": "low",
"light_level": "medium",
"setup_intent": "community",
"target_difficulty": "balanced",
"water_type": "FRESHWATER",
"limit": 8
}
Saída: peixes, invertebrados, plantas, produtos, avisos, motivações, guias relacionados e aviso consultivo.
Fertilização
search_fertilization_regimes
Objetivo: pesquisar regimes de fertilização e filosofias de dosagem.
Prompt: "Encontre regimes para aquários plantados de baixa tecnologia."
{
"query": "low tech",
"language": "en",
"topic": "planted",
"limit": 5
}
Saída: correspondências públicas de regimes com resumo, tópicos e URLs públicas quando disponíveis.
get_fertilization_regime
Objetivo: recuperar um regime de fertilização.
Prompt: "Abra o perfil do regime Estimative Index."
{
"slug": "estimative-index",
"language": "en"
}
Saída: detalhes públicos estruturados da filosofia/regime de dosagem.
calculate_fertilizer_dose
Objetivo: calcular uma dose consultiva de fertilizante para um produto do catálogo e volume do tanque.
Prompt: "Calcule a dose de Seachem Flourish para 120 L."
{
"brand_name": "Seachem",
"product_name": "Flourish",
"volume_liters": 120
}
Saída: estimativa consultiva de dose e contexto de dosagem relacionado ao produto.
calculate_nutrient_gaps
Objetivo: comparar medições de nutrientes com metas.
Prompt: "Compare minhas leituras de nitrato e potássio com as metas de um aquário plantado."
{
"language": "en",
"volume_liters": 120,
"measurements": [
{
"kind": "nitrogen_mg_l",
"value": 5
},
{
"kind": "potassium_mg_l",
"value": 8
}
],
"targets": {
"nitrogen_mg_l": 10,
"potassium_mg_l": 15
}
}
Saída: estimativas de lacunas de nutrientes sem salvar medições.
calculate_weekly_dose_totals
Objetivo: calcular totais semanais para um plano de dosagem não persistente.
Prompt: "Some meu plano semanal de fertilizante líquido."
{
"language": "en",
"volume_liters": 120,
"items": [
{
"brand_name": "Seachem",
"product_name": "Flourish",
"method": "LIQUID",
"dose_value": 5,
"dose_unit": "ml",
"days_of_week": [1, 3, 5]
}
]
}
Saída: totais semanais de produtos e resumo do cronograma.
generate_fertilization_plan
Objetivo: gerar um plano consultivo não persistente de fertilização.
Prompt: "Gere um plano equilibrado de fertilização para um aquário plantado de 120 L."
{
"language": "en",
"volume_liters": 120,
"regime": "balanced",
"targets": {
"nitrogen_mg_l": 10,
"phosphorus_mg_l": 1,
"potassium_mg_l": 15,
"iron_mg_l": 0.1
}
}
Saída: plano consultivo, metas de nutrientes, sugestões de produtos e aviso legal.
Calculadoras
calculate_tank_volume
Objetivo: calcular estimativas de volume bruto e líquido do aquário.
Prompt: "Calcule o volume líquido de um tanque de 60 x 30 x 36 cm."
{
"shape": "rect",
"length_cm": 60,
"width_cm": 30,
"height_cm": 36,
"substrate_depth_cm": 5,
"hardscape_displacement_liters": 4
}
Saída: estimativas de volume bruto e líquido.
calculate_tank_weight
Objetivo: estimar o peso do aquário a partir de dimensões e materiais informados.
Prompt: "Estime o peso cheio de um aquário de 120 L."
{
"shape": "rect",
"length_cm": 80,
"width_cm": 35,
"height_cm": 45,
"glass_thickness_mm": 8,
"substrate_depth_cm": 6,
"hardscape_weight_kg": 12,
"equipment_weight_kg": 5
}
Saída: estimativa consultiva de peso total e detalhamento dos componentes.
calculate_water_change
Objetivo: calcular volume de troca de água, totais semanais e estimativas de diluição.
Prompt: "Quanta água é uma troca de 30 por cento em 120 L duas vezes por semana?"
{
"volume_liters": 120,
"change_percent": 30,
"changes_per_week": 2
}
Saída: volume por troca e estimativas totais semanais.
calculate_water_chemistry
Objetivo: calcular conversões de dureza, CO2, salinidade e mistura de água.
Prompt: "Estime o CO2 a partir de pH 6.8 e KH 4."
{
"co2": {
"ph": 6.8,
"kh_dkh": 4
},
"general_hardness": {
"unit": "dgh",
"value": 8
}
}
Saída: conversões públicas de química e estimativas consultivas.
convert_units
Objetivo: converter unidades relevantes para aquários.
Prompt: "Converta 120 litros e 24 C."
{
"volume": {
"unit": "l",
"value": 120
},
"temperature": {
"unit": "c",
"value": 24
}
}
Saída: valores convertidos para unidades suportadas.
calculate_equipment_requirements
Objetivo: calcular requisitos consultivos de aquecedor, iluminação e eletricidade.
Prompt: "Estime as necessidades de aquecedor e iluminação para um aquário de 120 L."
{
"heater": {
"volume_liters": 120,
"ambient_c": 20,
"target_c": 25,
"insulation": "normal"
},
"lighting": {
"volume_liters": 120,
"lumens": 3600
},
"electricity": {
"wattage": 100,
"hours_per_day": 8,
"cost_per_kwh": 0.25
}
}
Saída: estimativas consultivas de equipamentos e resumo de uso/custo de eletricidade.
Status de Descoberta e Diretório
| Diretório | Status |
|---|---|
| Registro Oficial MCP | Publicado como bio.atlarium/habitat-database; a versão 2.0.3 está ativa e é a mais recente. |
| GitHub | Repositório público canônico de código-fonte. |
| Glama | Propriedade verificada; listagem saudável com 39 ferramentas e descrição canônica V2. |
| Smithery | Listagem publicada; a produção expõe a versão 2.0.3, 39 ferramentas e 9 prompts, enquanto a atualização do diretório permanece pendente. |
| MCP.so | Listado publicamente; a atualização 2.0.2 aguarda processamento do diretório. |
| PulseMCP | Listado publicamente; verifique a política de selos antes de adicionar um selo. |
| mcpservers.org | Listado publicamente em techgardeners/atlarium-mcp; nenhum selo adicionado ainda. |
| MCPRepository | Listagem publicada, verificada pela sua página pública. |
| MCP Market | Listado publicamente com repositório canônico e metadados de ferramentas somente leitura. |
| MCP Scoreboard | Listagem pública existe e permanece sem pontuação; nenhum selo de pontuação é reivindicado. |
| MCP Queen | Página pública de evidência verificada com sondagem de protocolo ao vivo. |
O rastreamento de publicações e o texto reutilizável de envio estão em
config/distribution-registry.json, docs/publication-checklist.md,
docs/directory-submission-payloads.md e docs/mcp-submission-cockpit.md.
Alvos pendentes, bloqueados e rejeitados permanecem no registro operacional e
não são apresentados como listagens públicas aceitas.
Desenvolvimento Local
pnpm install
cp .env.example .env
pnpm dev
Por padrão, o servidor escuta em http://localhost:43118.
Desenvolvimento local com o aplicativo Atlarium:
ATLARIUM_API_BASE_URL=http://localhost:43117/api/public/mcp/v1 pnpm dev
Configuração
MCP_PUBLIC_BASE_URL: URL pública base, padrão de produçãohttps://mcp.atlarium.bio.ATLARIUM_API_BASE_URL: URL base pública somente leitura da API Atlarium.MCP_ALLOWED_HOSTS: lista de permissões de hosts separada por vírgulas usada para proteção contra rebinding de DNS.MCP_TRUST_PROXY: configuração de confiança do proxy Express; o padrão1assume um proxy reverso confiável em produção.ATLARIUM_API_TIMEOUT_MS: tempo limite da API pública upstream em milissegundos.ATLARIUM_API_RESPONSE_MAX_BYTES: tamanho máximo da resposta JSON upstream.OPENAI_APPS_CHALLENGE_TOKEN: token público de verificação de domínio OpenAI Apps servido de/.well-known/openai-apps-challenge.
Implantações de produção devem ser executadas atrás de um proxy reverso com terminação TLS ou
Ingress que sobrescreva X-Forwarded-For, X-Forwarded-Host e
X-Forwarded-Proto antes que o tráfego chegue a este servidor.
Portão de Qualidade
pnpm lint
pnpm typecheck
pnpm test
pnpm build
pnpm audit:prod
docker build -t atlarium-mcp:local .
Com um servidor local em execução:
pnpm mcp:conformance
Com DNS de produção e TLS ativos:
pnpm mcp:monitor:public
pnpm directories:submit -- --check
pnpm mcp:validate:public
pnpm mcp:conformance:public
Contribuindo
Veja CONTRIBUTING.md. Alterações públicas de ferramentas devem atualizar a implementação do servidor,
testes, metadados do server-card, server.json, README.md,
docs/mcp.md, documentação, exemplos e notas de publicação de diretório na mesma
versão.
Segurança
Veja SECURITY.md. Não relate problemas sensíveis de segurança em issues públicas do GitHub.
Licença
MIT. Veja LICENSE.