Skip to main content
Glama
HarshPariya

AI Agent Loop MCP Server

by HarshPariya

๐Ÿค– Task 3 โ€” AI Agent Loop with MCP

A production-style AI Debugging Agent built using the Model Context Protocol (MCP), capable of planning, inspecting repositories, proposing code edits with human approval, executing tests, and evaluating performance across a benchmark suite.


TypeScript

NodeJS

MCP

Groq

Status


๐Ÿ“Œ Overview

This project implements a complete autonomous debugging agent that follows the Plan โ†’ Act โ†’ Observe execution pattern.

Instead of directly editing repository files, the agent communicates through an MCP (Model Context Protocol) server, allowing every repository interaction to occur via structured tools.

The agent:

  • understands failing tests

  • creates a debugging plan

  • explores the repository

  • reads source files

  • proposes code edits

  • waits for user approval

  • executes tests

  • repeats until success or budget exhaustion

The implementation follows all major requirements from Task 3.


โœจ Features

Agent Loop

โœ” Planning

โœ” Tool selection

โœ” Repository exploration

โœ” Observation

โœ” Test execution

โœ” Halting conditions


Related MCP server: harness-fe

MCP Server

Implemented tools:

  • read_file

  • list_dir

  • grep

  • propose_edit

  • run_test

All repository interaction occurs exclusively through MCP tools.


Human Approval

Before modifying any file the agent:

  • validates edit

  • shows diff

  • waits for user approval

  • updates repository only after confirmation

Unsafe edits are rejected automatically.


Safety

Implemented guardrails:

  • Step Budget

  • Wall Clock Budget

  • Stuck Loop Detection

  • Approval Validation

  • Repository Boundary Checks

  • Tool Error Handling


Evaluation

Includes:

  • Golden evaluation suite

  • Metrics

  • Trajectory logging

  • Result reporting


๐Ÿ— Architecture

                    +----------------------+
                    |      CLI / Index     |
                    +----------+-----------+
                               |
                               |
                     createInitialState()
                               |
                               |
                      +--------v--------+
                      |    Agent Loop   |
                      +--------+--------+
                               |
               +---------------+----------------+
               |                                |
               |                                |
        chooseTool()                     createPlan()
               |                                |
               |                                |
        +------v-------+                 +------v------+
        |    Groq LLM  |                 |   Planner   |
        +------+-------+                 +-------------+
               |
               |
        Tool Selection
               |
               |
      +--------v---------+
      |     MCP Client   |
      +--------+---------+
               |
               |
      +--------v---------+
      |    MCP Server    |
      +--------+---------+
               |
     +---------+----------+
     |         |          |
 read_file list_dir grep propose_edit run_test

๐Ÿ“‚ Project Structure

Task-3-Agent-Loop

โ”œโ”€โ”€ evals
โ”‚   โ””โ”€โ”€ golden-agent.jsonl
โ”‚
โ”œโ”€โ”€ packages
โ”‚   โ”œโ”€โ”€ agent
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ logs
โ”‚   โ”‚   โ”œโ”€โ”€ trajectory.jsonl
โ”‚   โ”‚   โ””โ”€โ”€ eval-results.json
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ src
โ”‚   โ”‚
โ”‚   โ”‚   โ”œโ”€โ”€ approval
โ”‚   โ”‚   โ”œโ”€โ”€ eval
โ”‚   โ”‚   โ”œโ”€โ”€ loop
โ”‚   โ”‚   โ”œโ”€โ”€ mcp
โ”‚   โ”‚   โ”œโ”€โ”€ metrics
โ”‚   โ”‚   โ”œโ”€โ”€ client.ts
โ”‚   โ”‚   โ”œโ”€โ”€ planner.ts
โ”‚   โ”‚   โ”œโ”€โ”€ model.ts
โ”‚   โ”‚   โ”œโ”€โ”€ logger.ts
โ”‚   โ”‚   โ”œโ”€โ”€ state.ts
โ”‚   โ”‚   โ””โ”€โ”€ cli.ts
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ tools
โ”‚   โ””โ”€โ”€ types
โ”‚
โ”œโ”€โ”€ broken-repo
โ”‚
โ”œโ”€โ”€ DESIGN.md
โ”œโ”€โ”€ NOTES.md
โ”œโ”€โ”€ RESULTS.md
โ””โ”€โ”€ README.md

๐Ÿง  Agent Workflow

Run Tests

โ†“

Tests Fail

โ†“

Create Debugging Plan

โ†“

Choose Tool

โ†“

Execute Tool

โ†“

Observe Result

โ†“

Update State

โ†“

Need Another Tool?

โ†“

Yes โ†’ Repeat

โ†“

No

โ†“

Run Tests

โ†“

Success

โ†“

Stop

โš™ Agent State

The agent maintains the following state:

Property

Description

currentTest

Active failing test

currentTestOutput

Latest test output

currentStep

Current iteration

maxSteps

Maximum allowed iterations

seenFiles

Already inspected files

seenDirectories

Already listed directories

fileContents

Cached repository files

history

Tool execution history

completed

Success flag


๐Ÿ”จ Available Tools

Tool

Purpose

read_file

Read source code

list_dir

Explore repository

grep

Search repository

propose_edit

Request file modification

run_test

Execute tests


๐Ÿ›ก Safety Mechanisms

Step Budget

Stops infinite reasoning after the configured limit.


Wall Clock Budget

Terminates execution after maximum runtime.


Stuck Loop Detection

Stops execution when the same tool with identical arguments is repeatedly selected.


Approval Gate

Every modification:

  • validated

  • previewed

  • confirmed

before writing to disk.


๐Ÿ“Š Metrics

The project reports:

  • Success Rate

  • Steps Used

  • Tool Errors

  • Guardrail Violations

  • Wasted Steps

  • Execution Time

  • Success within Budget


๐Ÿ“ˆ Evaluation

Golden evaluation contains:

Difficulty

Cases

Easy

6

Medium

6

Hard

3

Total

15

Each evaluation records:

  • success

  • execution time

  • metrics

  • logs


๐Ÿ’ป CLI

Run the debugging agent

pnpm tsx src/cli.ts fix --test tests/math.test.ts

Run evaluation

pnpm tsx src/cli.ts eval

Run live evaluation

pnpm tsx src/cli.ts eval --live

Compare against baseline

pnpm tsx src/cli.ts eval --compare baseline.json

๐Ÿ“ Logs

Generated automatically:

logs/

trajectory.jsonl

eval-results.json

Trajectory contains:

  • tool

  • arguments

  • timestamp

  • result


๐Ÿงช Technologies

  • TypeScript

  • Node.js

  • Groq API

  • MCP SDK

  • Vitest

  • PNPM


๐ŸŽฏ Assignment Requirements

Requirement

Status

Agent Loop

โœ…

Planner

โœ…

MCP Tools

โœ…

Approval Workflow

โœ…

Trajectory Logging

โœ…

Metrics

โœ…

Evaluation Harness

โœ…

Golden Dataset

โœ…

CLI

โœ…

Documentation

โœ…


F
license - not found
-
quality - not tested
C
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Agent Replay Debugger MCP โ€” record every agent step + deterministic replay. Step-debugger for

  • Live browser debugging for AI assistants โ€” DOM, console, network via MCP.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/HarshPariya/Task-3-ai-agent-loop-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server