MCP Prompt Tester
Probador de indicaciones MCP
Un servidor MCP simple que permite a los agentes probar los mensajes LLM con diferentes proveedores.
Características
Indicaciones de prueba con OpenAI y modelos antrópicos
Configurar indicaciones del sistema, indicaciones del usuario y otros parámetros
Obtener respuestas formateadas o mensajes de error
Configuración sencilla del entorno con soporte para archivos .env
Related MCP server: A2A Client MCP Server
Instalación
# Install with pip
pip install -e .
# Or with uv
uv install -e .Configuración de la clave API
El servidor requiere claves API para los proveedores que desea utilizar. Puede configurarlas de dos maneras:
Opción 1: Variables de entorno
Establezca las siguientes variables de entorno:
OPENAI_API_KEY: su clave API de OpenAIANTHROPIC_API_KEY- Su clave API antrópica
Opción 2: Archivo .env (recomendado)
Cree un archivo llamado
.enven el directorio de su proyecto o directorio de inicioAgregue sus claves API en el siguiente formato:
OPENAI_API_KEY=your-openai-api-key-here
ANTHROPIC_API_KEY=your-anthropic-api-key-hereEl servidor detectará y cargará automáticamente estas claves.
Para mayor comodidad, se incluye una plantilla de muestra como .env.example .
Uso
Inicie el servidor utilizando stdio (predeterminado) o el transporte SSE:
# Using stdio transport (default)
prompt-tester
# Using SSE transport on custom port
prompt-tester --transport sse --port 8000Herramientas disponibles
El servidor expone las siguientes herramientas para agentes habilitados para MCP:
1. lista_de_proveedores
Recupera los proveedores LLM disponibles y sus modelos predeterminados.
Parámetros:
No se requiere ninguno
Ejemplo de respuesta:
{
"providers": {
"openai": [
{
"type": "gpt-4",
"name": "gpt-4",
"input_cost": 0.03,
"output_cost": 0.06,
"description": "Most capable GPT-4 model"
},
// ... other models ...
],
"anthropic": [
// ... models ...
]
}
}2. comparación de pruebas
Compara múltiples indicaciones una al lado de la otra, lo que le permite probar diferentes proveedores, modelos y parámetros simultáneamente.
Parámetros:
comparisons(matriz): una lista de 1 a 4 configuraciones de comparación, cada una de las cuales contiene:provider(cadena): el proveedor LLM que se utilizará ("openai" o "anthropic")model(cadena): El nombre del modelosystem_prompt(cadena): El mensaje del sistema (instrucciones para el modelo)user_prompt(cadena): El mensaje/mensaje del usuariotemperature(número, opcional): controla la aleatoriedadmax_tokens(entero, opcional): Número máximo de tokens a generartop_p(número, opcional): controla la diversidad mediante el muestreo del núcleo
Ejemplo de uso:
{
"comparisons": [
{
"provider": "openai",
"model": "gpt-4",
"system_prompt": "You are a helpful assistant.",
"user_prompt": "Explain quantum computing in simple terms.",
"temperature": 0.7
},
{
"provider": "anthropic",
"model": "claude-3-opus-20240229",
"system_prompt": "You are a helpful assistant.",
"user_prompt": "Explain quantum computing in simple terms.",
"temperature": 0.7
}
]
}3. prueba_conversación_multiturno
Administra conversaciones de múltiples turnos con proveedores de LLM, lo que le permite crear y mantener conversaciones con estado.
Modos:
start: inicia una nueva conversacióncontinue: continúa una conversación existenteget: recupera el historial de conversacioneslist: enumera todas las conversaciones activasclose: cierra una conversación
Parámetros:
mode(cadena): Modo de operación ("inicio", "continuar", "obtener", "listar" o "cerrar")conversation_id(cadena): ID único para la conversación (obligatorio para los modos continuar, obtener y cerrar)provider(cadena): el proveedor LLM (obligatorio para el modo de inicio)model(cadena): el nombre del modelo (obligatorio para el modo de inicio)system_prompt(cadena): El indicador del sistema (necesario para el modo de inicio)user_prompt(cadena): El mensaje del usuario (utilizado en los modos de inicio y continuación)temperature(número, opcional): parámetro de temperatura para el modelomax_tokens(entero, opcional): Máximo de tokens a generartop_p(número, opcional): parámetro de muestreo top-p
Ejemplo de uso (para iniciar una conversación):
{
"mode": "start",
"provider": "openai",
"model": "gpt-4",
"system_prompt": "You are a helpful assistant specializing in physics.",
"user_prompt": "Can you explain what dark matter is?"
}Ejemplo de uso (para continuar una conversación):
{
"mode": "continue",
"conversation_id": "conv_12345",
"user_prompt": "How does that relate to dark energy?"
}Ejemplo de uso para agentes
Al utilizar el cliente MCP, un agente puede utilizar las herramientas de la siguiente manera:
import asyncio
import json
from mcp.client.session import ClientSession
from mcp.client.stdio import StdioServerParameters, stdio_client
async def main():
async with stdio_client(
StdioServerParameters(command="prompt-tester")
) as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
# 1. List available providers and models
providers_result = await session.call_tool("list_providers", {})
print("Available providers and models:", providers_result)
# 2. Run a basic test with a single model and prompt
comparison_result = await session.call_tool("test_comparison", {
"comparisons": [
{
"provider": "openai",
"model": "gpt-4",
"system_prompt": "You are a helpful assistant.",
"user_prompt": "Explain quantum computing in simple terms.",
"temperature": 0.7,
"max_tokens": 500
}
]
})
print("Single model test result:", comparison_result)
# 3. Compare multiple prompts/models side by side
comparison_result = await session.call_tool("test_comparison", {
"comparisons": [
{
"provider": "openai",
"model": "gpt-4",
"system_prompt": "You are a helpful assistant.",
"user_prompt": "Explain quantum computing in simple terms.",
"temperature": 0.7
},
{
"provider": "anthropic",
"model": "claude-3-opus-20240229",
"system_prompt": "You are a helpful assistant.",
"user_prompt": "Explain quantum computing in simple terms.",
"temperature": 0.7
}
]
})
print("Comparison result:", comparison_result)
# 4. Start a multi-turn conversation
conversation_start = await session.call_tool("test_multiturn_conversation", {
"mode": "start",
"provider": "openai",
"model": "gpt-4",
"system_prompt": "You are a helpful assistant specializing in physics.",
"user_prompt": "Can you explain what dark matter is?"
})
print("Conversation started:", conversation_start)
# Get the conversation ID from the response
response_data = json.loads(conversation_start.text)
conversation_id = response_data.get("conversation_id")
# Continue the conversation
if conversation_id:
conversation_continue = await session.call_tool("test_multiturn_conversation", {
"mode": "continue",
"conversation_id": conversation_id,
"user_prompt": "How does that relate to dark energy?"
})
print("Conversation continued:", conversation_continue)
# Get the conversation history
conversation_history = await session.call_tool("test_multiturn_conversation", {
"mode": "get",
"conversation_id": conversation_id
})
print("Conversation history:", conversation_history)
asyncio.run(main())Integración del agente MCP
Para los agentes con MCP, la integración es sencilla. Cuando su agente necesite probar las indicaciones de LLM:
Descubrimiento : el agente puede usar
list_providerspara descubrir los modelos disponibles y sus capacidadesPruebas simples : para pruebas rápidas, utilice la herramienta
test_comparisoncon una única configuraciónComparación : cuando el agente necesita evaluar diferentes indicaciones o modelos, puede usar
test_comparisoncon múltiples configuracionesInteracciones con estado : para conversaciones de múltiples turnos, el agente puede administrar una conversación utilizando la herramienta
test_multiturn_conversation
Esto permite a los agentes:
Pruebe variantes de indicaciones para encontrar la redacción más eficaz
Comparar diferentes modelos para tareas específicas
Mantener el contexto en conversaciones de varios turnos
Optimizar parámetros como la temperatura y max_tokens
Seguimiento del uso y los costos de los tokens durante el desarrollo
Configuración
Puede configurar claves API y configuraciones de seguimiento opcionales mediante variables de entorno:
Claves API requeridas
OPENAI_API_KEY: su clave API de OpenAIANTHROPIC_API_KEY- Su clave API antrópica
Seguimiento de Langfuse opcional
El servidor admite Langfuse para el seguimiento y la observabilidad de las llamadas LLM. Estas configuraciones son opcionales:
LANGFUSE_SECRET_KEY- Su clave secreta de LangfuseLANGFUSE_PUBLIC_KEY- Su clave pública de LangfuseLANGFUSE_HOST: URL de su instancia de Langfuse
Si no desea utilizar el seguimiento de Langfuse, simplemente deje esta configuración vacía.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/rt96-hub/prompt-tester'
If you have feedback or need assistance with the MCP directory API, please join our Discord server