AI SummaryA 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
Health Signals
My Fox Den
Community Rating
Sign in to rate this booster