Loop MCP Server
Enables LLMs to process array items sequentially with a specific task.
Loop MCP Server
An MCP (Model Context Protocol) server that enables LLMs to process arrays item by item with a specific task.
Overview
This MCP server provides tools for:
- Initializing an array with a task description
- Fetching items one by one or in batches for processing
- Storing results for each processed item or batch
- Retrieving all results (only after all items are processed)
- Optional result summarization
- Configurable batch size for efficient processing
Installation
npm install
Usage
Running the Server
npm start
Available Tools
-
initialize_array - Set up the array and task
array: The array of items to processtask: Description of what to do with each itembatchSize(optional): Number of items to process in each batch (default: 1)
-
get_next_item - Get the next item to process
- Returns: Current item, index, task, and remaining count
-
get_next_batch - Get the next batch of items based on batch size
- Returns: Array of items, indices, task, and remaining count
-
store_result - Store the result of processing
result: The processing result (single value or array for batch processing)
-
get_all_results - Get all results after completion
summarize(optional): Include a summary- Note: This will error if processing is not complete
-
reset - Clear the current processing state
Example Workflows
Single Item Processing
// 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 });
Batch Processing
// 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 });
Running the Example
node example-client.js
Integration with Claude Desktop
Add to your Claude Desktop configuration:
{
"mcpServers": {
"loop-processor": {
"command": "node",
"args": ["/path/to/loop_mcp/server.js"]
}
}
}
Servidores relacionados
Scout Monitoring MCP
patrocinadorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
patrocinadorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
SDD MCP
Provides Seam-Driven Development tools for AI-assisted software development.
Rust Docs Server
Fetches Rust crate documentation from docs.rs using the rustdoc JSON API.
Clay MCP Server
An MCP server for interacting with the Clay API, which requires a Clay API key.
Code Sync MCP Server
Hot reload remote containerized Python applications directly from your IDE.
Graph Tools
An interactive graph analysis toolkit with web visualizations and AI-powered analysis capabilities.
Sequa MCP
A proxy that connects local STDIO with remote MCP servers, enabling IDEs to use MCP without extra infrastructure.
Remote MCP Server (Authless)
An example of a remote MCP server deployable on Cloudflare Workers, without authentication.
Awesome LLMs Txt
Access documentation from the Awesome-llms-txt repository directly in your conversations.
R.A.P.I.D.
A local MCP server providing powerful code analysis and search capabilities for software projects.
Shrike Security
AI agent security scanner — protect LLM-powered apps from prompt injection, SQL injection, data exfiltration, and adversarial attacks via MCP.