Tester Client for Model Context Protocol (MCP)

by apify

MCP Client 57 stars
  • agent-framework

Model Context Protocol (MCP) Client for Apify's Actors

About

What is Tester Client for Model Context Protocol (MCP)?

A standalone Apify Actor server that connects to an MCP server over Server-Sent Events (SSE) or Streamable HTTP and displays the conversation in a chat-like UI. It is designed for testing MCP servers and is open source.

How to use Tester Client for Model Context Protocol (MCP)?

Run the Actor on Apify or locally. On Apify, configure the MCP server URL, system prompt, and API key via the UI or API. After launch, check the logs for a link to the chat UI. For local development, clone the repository, install dependencies, create a .env file with your tokens, and run npm start.

Key features of Tester Client for Model Context Protocol (MCP)

- Connects to MCP servers using SSE or Streamable HTTP
- Provides a chat-like UI for tool calls and results
- Connects to the Apify MCP Server for interacting with Apify Actors
- Dynamically uses tools based on context and user queries
- Supports Authorization headers and API keys for secure connections
- Open source for review, improvement, and modification

Use cases of Tester Client for Model Context Protocol (MCP)

- Test any MCP server that supports SSE or Streamable HTTP
- Experiment with the Apify MCP Server and its thousands of available tools
- Ask natural language questions about Apify Actors, such as “Show me the best way to use the Instagram Scraper”

FAQ from Tester Client for Model Context Protocol (MCP)

What does Tester Client for Model Context Protocol (MCP) do compared to other MCP clients?

It is specifically built for testing MCP servers over SSE/Streamable HTTP, featuring a lightweight chat UI and dynamic tool orchestration. It does not support all MCP features such as Prompts and Resources.

What platforms or models does it support?

It runs on the Apify platform or locally as a Node.js server. It connects to any MCP server that communicates via SSE or Streamable HTTP, and uses an LLM provider (user-provided API key or Apify’s default) for processing queries.

Does it support any MCP server?

It works with any MCP server that supports SSE or Streamable HTTP. It has a built‑in connection to the Apify MCP Server for testing Apify Actors.

What is the pricing and licensing?

The Actor is free to use; you pay only for LLM provider usage and Apify platform resources under a Pay-per-event model. It is open source.

What are its known limitations?

The client does not support MCP Prompts or Resources. It focuses on tool‑calling and chat interactions over SSE/Streamable HTTP.

Details

Author
apify
GitHub stars
57
Category
agent-framework
Repository
apify/tester-mcp-client

Tester Client for Model Context Protocol (MCP)

Actors MCP Client

Implementation of a model context protocol (MCP) client that connects to an MCP server using Server-Sent Events (SSE) and displays the conversation in a chat-like UI.
It is a standalone Actor server designed for testing MCP servers over SSE.
It uses Pay-per-event pricing model.

For more information, see the Model Context Protocol website or blogpost What is MCP and why does it matter?.

Once you run the Actor, check the output or logs for a link to the chat UI interface to interact with the MCP server.
The URL will look like this and will vary each run:

Navigate to https://...apify.net to interact with chat-ui interface.

🚀 Main features

- 🔌 Connects to an MCP server using Server-Sent Events (SSE) or Streamable HTTP
- 💬 Provides a chat-like UI for displaying tool calls and results
- 🇦 Connects to an Apify MCP Server for interacting with one or more Apify Actors
- 💥 Dynamically uses tools based on context and user queries (if supported by a server)
- 🔓 Use Authorization headers and API keys for secure connections
- 🪟 Open source, so you can review it, suggest improvements, or modify it

🎯 What does Tester MCP Client do?

When connected to Apify MCP Server the Tester MCP Client provides an interactive chat interface where you can:

- "What are the most popular Actors for social media scraping?"
- "Show me the best way to use the Instagram Scraper"
- "Which Actor should I use to extract data from LinkedIn?"
- "Can you help me understand how to scrape Google search results?"

Tester-MCP-client-screenshot

📖 How does it work?

The Apify MCP Client connects to a running MCP server over Server-Sent Events (SSE) and it does the following:

- Initiates an SSE connection to the MCP server /sse.
- Sends user queries to the MCP server via POST /message.
- Receives real-time streamed responses (via GET /sse) that may include LLM output, and tool usage blocks
- Based on the LLM response, orchestrates tool calls and displays the conversation
- Displays the conversation

⚙️ Usage

- Test any MCP server over SSE
- Test Apify MCP Server and the ability to dynamically select amongst thousands of tools

Normal Mode (on Apify)

You can run the Tester MCP Client on Apify and connect it to any MCP server that supports SSE.
Configuration can be done via the Apify UI or API by specifying parameters such as the MCP server URL, system prompt, and API key.

Once you run Actor, check the logs for a link to the Tester MCP Client UI, where you can interact with the MCP server:
The URL will look like this and will be different from run to run:

INFO  Navigate to https://......runs.apify.net in your browser to interact with an MCP server.

💰 Pricing

The Apify MCP Client is free to use. You only pay for LLM provider usage and resources consumed on the Apify platform.

This Actor uses a modern and flexible approach for AI Agents monetization and pricing called Pay-per-event.

Events charged:
- Actor start (based on memory used, charged per 128 MB unit)
- Running time (charged every 5 minutes, per 128 MB unit)
- Query answered (depends on the model used, not charged if you provide your own API key for LLM provider)

When you use your own LLM provider API key, running the MCP Client for 1 hour with 128 MB memory costs approximately $0.06.
With the Apify Free tier (no credit card required 💳), you can run the MCP Client for 80 hours per month.
Definitely enough to test your MCP server!

📖 How it works

Browser ← (SSE) → Tester MCP Client  ← (SSE) → MCP Server
We create this chain to keep any custom bridging logic inside the Tester MCP Client, while leaving the main MCP Server unchanged. The browser uses SSE to communicate with the Tester MCP Client, and the Tester MCP Client relies on SSE to talk to the MCP Server. This separates extra client-side logic from the core server, making it easier to maintain and debug.

1. Navigate to https://tester-mcp-client.apify.actor?token=YOUR-API-TOKEN (or http://localhost:3000 if you are running it locally).
2. Files index.html and client.js are served from the public/ directory.
3. Browser opens SSE stream via GET /sse.
4. The user's query is sent with POST /message.
5. Query processing:
- Calls Large Language Model.
- Optionally calls tools if required using
6. For each result chunk, sseEmit(role, content)

Local development

The Tester MCP Client Actor is open source and available on GitHub, allowing you to modify and develop it as needed.

Download the source code:

git clone https://github.com/apify/tester-mcp-client.git
cd tester-mcp-client
Install the dependencies:
npm install

Create a .env file with the following content (refer to the .env.example file for guidance):

APIFY_TOKEN=YOUR_APIFY_TOKEN
LLM_PROVIDER_API_KEY=YOUR_API_KEY

Default values for settings such as mcpUrl, systemPrompt, and others are defined in the const.ts file. You can adjust these as needed for your development.

Run the client locally

npm start

Navigate to http://localhost:3000 in your browser to interact with the MCP server.

Happy chatting with Apify Actors!

ⓘ Limitations and feedback

The client does not support all MCP features, such as Prompts and Resource.

References

- Model Context Protocol
- Apify Actors MCP Server
- Apify MCP Server
- Pay-per-event pricing model
- What are AI Agents?
- What is MCP and why does it matter?
- How to use MCP with Apify Actors