Tutorial

Como implementar Dynamic MCP Resources para dados em tempo real?

Publicado em 25/10/2026 · Redação Claudera

Para implementar Dynamic MCP Resources, você deve configurar Resource Templates no seu servidor MCP usando padrões de URI parametrizados. Diferente de recursos estáticos, os dinâmicos permitem que o Claude acesse dados específicos sob demanda, como logs de uma data específica ou registros de um ID de usuário, mapeando a estrutura da URI para consultas em bancos de dados ou APIs em tempo real através do protocolo.

No desenvolvimento de sistemas agenticos avançados em 2026, a capacidade de fornecer contexto atualizado é o que separa protótipos de aplicações prontas para produção. Enquanto os recursos estáticos do Model Context Protocol (MCP) são ideais para arquivos de configuração ou documentação fixa, os Dynamic Resources (Recursos Dinâmicos) permitem que o Claude explore vastos conjuntos de dados sem sobrecarregar a janela de contexto. Ao utilizar templates de URI, o desenvolvedor cria uma ponte flexível que traduz a necessidade do modelo em consultas precisas a bancos de dados, sistemas de arquivos ou APIs externas, garantindo que a informação injetada no prompt seja sempre a mais recente disponível.

O que diferencia Dynamic Resources de recursos estáticos no MCP?

A principal distinção reside na previsibilidade e na escala. Recursos estáticos são listados explicitamente pelo servidor quando a conexão é estabelecida; o Claude sabe exatamente quais arquivos ou endpoints estão disponíveis desde o início. Já os Dynamic Resources utilizam o conceito de Resource Templates, definidos na especificação oficial do Model Context Protocol. Um template funciona como uma expressão regular ou um padrão de URL (ex: users://{userId}/profile). Isso permite que o servidor exponha uma estrutura lógica de dados sem precisar listar individualmente milhões de registros. Quando o Claude identifica que precisa de informações sobre o usuário ‘123’, ele solicita a resolução da URI específica baseada no template, e o servidor processa essa requisição em tempo real.

Como definir Resource Templates no seu servidor MCP?

A implementação começa na definição das capacidades do servidor. Ao usar o SDK oficial da Anthropic ou bibliotecas compatíveis, você deve registrar um resource template. No manifesto do servidor, você define o nome, a descrição e o uriTemplate.

Exemplo de estrutura de um template:

  • Nome: Logs do Sistema
  • URI Template: logs://{year}/{month}/{day}
  • MimeType: text/plain ou application/json

Esta definição informa ao Claude que ele pode requisitar logs de qualquer data. É crucial fornecer descrições claras, pois o modelo usará essas informações para decidir se um determinado recurso dinâmico contém a resposta para a dúvida do usuário. Você pode consultar detalhes técnicos sobre a estrutura de templates na documentação oficial do MCP.

Como implementar o handler de leitura para URIs dinâmicas?

Após definir o template, o servidor precisa de uma lógica para resolver a requisição. Quando o Claude solicita o conteúdo de logs://2026/10/25, o servidor recebe essa URI e deve extrair os parâmetros.

PassoAção do Desenvolvedor
1. ParsingExtrair os valores 2026, 10 e 25 da URI recebida.
2. ValidaçãoVerificar se os parâmetros são válidos e se o usuário tem permissão de acesso.
3. FetchingExecutar a consulta no banco de dados ou ler o arquivo correspondente.
4. RespostaRetornar o conteúdo formatado em um objeto ResourceContent.

A implementação robusta deve tratar erros de ‘Recurso não encontrado’ (404) de forma elegante, devolvendo uma mensagem que ajude o Claude a entender que aqueles dados específicos não existem, em vez de simplesmente falhar a conexão. Mais detalhes sobre o tratamento de requisições podem ser encontrados nas docs da Anthropic.

Como o Claude descobre e utiliza esses recursos no dia a dia?

O processo de descoberta é automático se o servidor estiver configurado corretamente. Quando o Claude inicia uma sessão com um servidor MCP, ele consome a lista de recursos e templates disponíveis. Se um usuário pergunta ‘O que aconteceu nos logs de ontem?’, o modelo analisa os templates disponíveis, percebe que logs://{year}/{month}/{day} é relevante, calcula a data de ontem e envia uma solicitação de leitura para a URI gerada. Essa interação é transparente para o usuário final, mas exige que o desenvolvedor mantenha os metadados do recurso (como a descrição) altamente semânticos. Para depurar se o Claude está ’enxergando’ seus templates, o uso do MCP Inspector é indispensável.

Quais as melhores práticas para performance e segurança?

Trabalhar com dados dinâmicos exige cautela. Primeiramente, implemente cache no lado do servidor para recursos que não mudam a cada segundo, economizando processamento e latência. Em termos de segurança, nunca confie cegamente nos parâmetros passados na URI pelo modelo; trate-os como entradas de usuário (user input) para evitar ataques de injeção.

  1. Sanitização: Limpe os parâmetros antes de usá-los em queries SQL ou comandos de sistema.
  2. Rate Limiting: Evite que o modelo faça requisições em loop infinito a recursos dinâmicos.
  3. Páginas e Limites: Se um recurso dinâmico for muito grande (ex: um dump de banco de dados), implemente paginação ou truncamento para não estourar o limite de tokens da API do Claude.

Ao seguir essas diretrizes, você transforma o Claude em um analista de dados capaz de navegar por estruturas complexas de informação em tempo real, mantendo a eficiência e a segurança da sua infraestrutura.

Leia mais no site

Perguntas frequentes

Qual a diferença entre um MCP Tool e um Dynamic Resource?

Uma Tool (Ferramenta) é projetada para realizar ações ou computações que alteram o estado do sistema ou requerem lógica complexa. Já um Dynamic Resource é focado puramente na leitura de dados. Use recursos quando quiser fornecer contexto informativo ao Claude e ferramentas quando precisar que ele execute uma tarefa ou operação externa.

O Claude pode ler múltiplos recursos dinâmicos de uma vez?

Sim, dependendo da orquestração e da necessidade da tarefa, o Claude pode realizar múltiplas chamadas de leitura para diferentes URIs resolvidas a partir de templates. Contudo, é importante monitorar o consumo de tokens, pois cada recurso lido é injetado no contexto da conversa, podendo preencher rapidamente a janela disponível se os recursos forem extensos.

Fontes e referências

  1. Model Context Protocol Resources
  2. Anthropic API Documentation
  3. MCP Inspector Tool

#Mcp #Recursos #Api #Tutorial #Claude

Leia também