Token导航 LogoToken导航TokenDH.com
MCP Prompt Tester logo
运维云端stdio官方级别未说明来源级核验

MCP Prompt Tester

MCP Server

一个用于测试不同LLM提供商提示的MCP服务器,支持OpenAI和Anthropic模型,提供多轮对话和比较测试功能。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude云端部署Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

rt96-hub

提供方

rt96-hub

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install -e .

详细介绍

MCP提示测试仪

一个简单的MCP服务器,允许代理使用不同的提供者测试LLM提示。

特性

  • OpenAI和Anthropic模型的测试提示
  • 配置系统提示、用户提示和其他参数
  • 获取格式化的响应或错误消息
  • 支持.env文件,环境设置简单

安装

# Install with pip
pip install -e .

# Or with uv
uv install -e .

API密钥设置

服务器需要您要使用的提供程序的API密钥。您可以通过两种方式进行设置:

选项1:环境变量

设置以下环境变量:

  • OPENAI_API_KEY -您的OpenAI API密钥
  • ANTHROPIC_API_KEY -您的Anthropic API密钥

选项2:.env文件(推荐)

  1. 创建一个名为的文件 .env 在项目目录或主目录中
  2. 按以下格式添加API密钥:
OPENAI_API_KEY=your-openai-api-key-here
ANTHROPIC_API_KEY=your-anthropic-api-key-here
  1. 服务器将自动检测并加载这些密钥

为方便起见,我们提供了一个示例模板 .env.example.

用法

使用stdio(默认)或SSE传输启动服务器:

# Using stdio transport (default)
prompt-tester

# Using SSE transport on custom port
prompt-tester --transport sse --port 8000

可用工具

服务器为MCP授权的代理提供以下工具:

1.列表_供应商

检索可用的LLM提供程序及其默认模型。

参数:

  • 无需

示例响应:

{
  "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.测试_比较

并排比较多个提示,允许您同时测试不同的提供程序、模型和参数。

参数:

  • comparisons (array):1-4个比较配置的列表,每个配置包含:

- provider (string):要使用的LLM提供者(“openai”或“anthropic”) - model (string):型号名称 - system_prompt (string):系统提示(型号说明) - user_prompt (string):用户的消息/提示 - temperature (数字,可选):控制随机性 - max_tokens (整数,可选):要生成的最大令牌数 - top_p (数字,可选):通过细胞核采样控制多样性

示例用法:

{
  "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.测试_多回合对话

管理与LLM提供者的多回合对话,允许您创建和维护有状态的对话。

模式:

  • start:开始新的对话
  • continue:继续现有的对话
  • get:检索对话历史记录
  • list:列出所有活动对话
  • close:结束对话

参数:

  • mode (string):操作模式(“开始”、“继续”、“获取”、“列表”或“关闭”)
  • conversation_id (string):对话的唯一ID(继续、获取、关闭模式需要)
  • provider (string):LLM提供程序(启动模式所需)
  • model (string):型号名称(启动模式所需)
  • system_prompt (string):系统提示(启动模式需要)
  • user_prompt (string):用户消息(用于开始和继续模式)
  • temperature (数字,可选):模型的温度参数
  • max_tokens (整数,可选):要生成的最大令牌数
  • top_p (数字,可选):Top-p采样参数

示例用法(开始对话):

{
  "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?"
}

示例用法(继续对话):

{
  "mode": "continue",
  "conversation_id": "conv_12345",
  "user_prompt": "How does that relate to dark energy?"
}

代理使用示例

使用MCP客户端,代理可以使用以下工具:

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())

MCP代理集成

对于MCP授权的代理,集成很简单。当您的代理需要测试LLM提示时:

  1. 发现:代理人可以使用 list_providers 发现可用模型及其功能
  2. 简单测试:对于快速测试,请使用 test_comparison 具有单一配置的工具
  3. 比较:当代理需要评估不同的提示或模型时,它可以使用 test_comparison 具有多种配置
  4. 有状态的互动:对于多回合对话,代理可以使用 test_multiturn_conversation 工具

这允许代理人:

  • 测试提示变体,以找到最有效的措辞
  • 比较特定任务的不同模型
  • 在多回合对话中保持上下文
  • 优化温度和max_tokens等参数
  • 在开发过程中跟踪令牌使用情况和成本

配置

您可以使用环境变量设置API密钥和可选跟踪配置:

必需的API密钥

  • OPENAI_API_KEY -您的OpenAI API密钥
  • ANTHROPIC_API_KEY -您的Anthropic API密钥

可选Langfuse跟踪

服务器支持Langfuse来跟踪和观察LLM调用。这些设置是可选的:

  • LANGFUSE_SECRET_KEY -您的Langfuse密钥
  • LANGFUSE_PUBLIC_KEY -您的Langfuse公钥
  • LANGFUSE_HOST -您的Langfuse实例的URL

如果您不想使用Langfuse跟踪,只需将这些设置留空即可。

目录标签

目录标签

PythonClaude云端部署LLM测试本地部署提示工程多轮对话模型比较

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosessionremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP