Skip to content
Agent

Custom Agent Implementation Guide

by Liquescent-Development

AI Summary

A guide for implementing custom agents compatible with MCProbe's testing framework, enabling developers to test proprietary, legacy, or specialized agent architectures beyond standard implementations.

Install

Copy this and paste it into Claude Code, Cursor, or any AI assistant:

I want to set up the "Custom Agent Implementation Guide" agent in my project.

Please run this command in my terminal:
# Add AGENTS.md to your project root
curl --retry 3 --retry-delay 2 --retry-all-errors -o AGENTS.md "https://raw.githubusercontent.com/Liquescent-Development/mcprobe/main/docs/agents/custom-agents.md"

Then explain what the agent does and how to invoke it.

Description

Probe and test MCP servers with configurable Agent vs Agent conversations

Overview

MCProbe's extensible architecture allows you to test any agent implementation by creating a custom agent class. This guide shows you how to implement the AgentUnderTest interface for your own agent framework.

3. `get_available_tools() -> list[dict[str, object]]`

Return tool schemas available to this agent. Returns: • List of tool definitions in OpenAI-compatible format • Empty list if agent has no tools Format: `python [ { "type": "function", "function": { "name": "get_weather", "description": "Get current weather for a location", "parameters": { "type": "object", "properties": { "location": { "type": "string", "description": "City name" }, "units": { "type": "string", "enum": ["celsius", "fahrenheit"] } }, "required": ["location"] } } } ] ` Example: `python def get_available_tools(self) -> list[dict[str, object]]: # If your agent has a tool registry if hasattr(self.agent, "tools"): return [ { "type": "function", "function": { "name": tool.name, "description": tool.description, "parameters": tool.parameters_schema, } } for tool in self.agent.tools ] # If no tools return [] `

When to Build a Custom Agent

Create a custom agent when: • Testing proprietary agent frameworks - Internal agent systems • Custom tool protocols - Non-MCP tool integrations • Specialized architectures - Multi-agent systems, RAG pipelines • Legacy systems - Existing agents that don't fit simple/ADK patterns • Research prototypes - Novel agent architectures under development

AgentUnderTest Interface

All agents must implement this abstract base class: `python from abc import ABC, abstractmethod from mcprobe.agents.base import AgentUnderTest from mcprobe.models.conversation import AgentResponse class AgentUnderTest(ABC): """Abstract base class for agents being tested.""" @abstractmethod async def send_message(self, message: str) -> AgentResponse: """Send a user message and get the agent's response.""" ... @abstractmethod async def reset(self) -> None: """Reset conversation state for a new test.""" ... @abstractmethod def get_available_tools(self) -> list[dict[str, object]]: """Return the tool schemas available to this agent.""" ... @property def name(self) -> str: """Human-readable name for this agent.""" return self.__class__.__name__ `

Discussion

0/2000
Loading comments...

Health Signals

MaintenanceCommitted 2mo ago
Active
AdoptionUnder 100 stars
1 ★ · Niche
DocsMissing or thin
Undocumented

GitHub Signals

Stars1
Issues2
Updated2mo ago
View on GitHub
AGPL-3.0 License

My Fox Den

Community Rating

Sign in to rate this booster

Works With

Claude Code
Claude.ai