Loop MCP Server
Permite que LLMs processem itens de array sequencialmente com uma tarefa específica.
GitHub
1
Experimente este MCPPatrocinadoDocumentação
Loop MCP Server
Um servidor MCP (Model Context Protocol) que permite que LLMs processem arrays item por item com uma tarefa específica.
Visão Geral
Este servidor MCP fornece ferramentas para:
- Inicializar um array com uma descrição de tarefa
- Buscar itens um a um ou em lotes para processamento
- Armazenar resultados para cada item ou lote processado
- Recuperar todos os resultados (somente após todos os itens serem processados)
- Resumo opcional de resultados
- Tamanho de lote configurável para processamento eficiente
Instalação
npm install
Uso
Executando o Servidor
npm start
Ferramentas Disponíveis
-
initialize_array - Configurar o array e a tarefa
array: O array de itens a processartask: Descrição do que fazer com cada itembatchSize(opcional): Número de itens a processar em cada lote (padrão: 1)
-
get_next_item - Obter o próximo item a processar
- Retorna: Item atual, índice, tarefa e contagem restante
-
get_next_batch - Obter o próximo lote de itens com base no tamanho do lote
- Retorna: Array de itens, índices, tarefa e contagem restante
-
store_result - Armazenar o resultado do processamento
result: O resultado do processamento (valor único ou array para processamento em lote)
-
get_all_results - Obter todos os resultados após a conclusão
summarize(opcional): Incluir um resumo- Nota: Isso gerará erro se o processamento não estiver completo
-
reset - Limpar o estado atual de processamento
Exemplos de Fluxos de Trabalho
Processamento de Item Único
// 1. Initialize
await callTool('initialize_array', {
array: [1, 2, 3, 4, 5],
task: 'Square each number'
});
// 2. Process each item
while (true) {
const item = await callTool('get_next_item');
if (item.text === 'All items have been processed.') break;
// Process the item (e.g., square it)
const result = item.value * item.value;
await callTool('store_result', { result });
}
// 3. Get final results
const results = await callTool('get_all_results', { summarize: true });
Processamento em Lote
// 1. Initialize with batch size
await callTool('initialize_array', {
array: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
task: 'Double each number',
batchSize: 3
});
// 2. Process in batches
while (true) {
const batch = await callTool('get_next_batch');
if (batch.text === 'All items have been processed.') break;
// Process the batch
const results = batch.items.map(item => item * 2);
await callTool('store_result', { result: results });
}
// 3. Get final results
const results = await callTool('get_all_results', { summarize: true });
Executando o Exemplo
node example-client.js
Integração com Claude Desktop
Adicione à sua configuração do Claude Desktop:
{
"mcpServers": {
"loop-processor": {
"command": "node",
"args": ["/path/to/loop_mcp/server.js"]
}
}
}