From e96add564864a2b11341398353115790e1e4a840 Mon Sep 17 00:00:00 2001 From: Jiri Spilka Date: Tue, 4 Nov 2025 14:57:42 +0100 Subject: [PATCH 1/4] fix: Update readme, clients --- README.md | 37 ++++++++++++++++--------------------- docs/mcp-clients.png | Bin 0 -> 42483 bytes 2 files changed, 16 insertions(+), 21 deletions(-) create mode 100644 docs/mcp-clients.png diff --git a/README.md b/README.md index e9275bd2..3a27e01b 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ For example, it can: - Use [Instagram Scraper](https://apify.com/apify/instagram-scraper) to scrape Instagram posts, profiles, places, photos, and comments. - Use [RAG Web Browser](https://apify.com/apify/web-scraper) to search the web, scrape the top N URLs, and return their content. -**Video tutorial: Integrate 5,000+ Apify Actors and Agents with Claude** +**Video tutorial: Integrate 8,000+ Apify Actors and Agents with Claude** [![Apify MCP Server Tutorial: Integrate 5,000+ Apify Actors and Agents with Claude](https://img.youtube.com/vi/BKu8H91uCTg/hqdefault.jpg)](https://www.youtube.com/watch?v=BKu8H91uCTg) @@ -66,34 +66,29 @@ You can use the Apify MCP Server in two ways: You can find detailed instructions for setting up the MCP server in the [Apify documentation](https://docs.apify.com/platform/integrations/mcp). -# 🤖 MCP clients and examples +# 🤖 MCP clients -To interact with the Apify MCP server, you can use various MCP clients, such as: -- [Claude Desktop](https://claude.ai/download) -- [Visual Studio Code](https://code.visualstudio.com/) -- [Apify Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client) -- Other clients at [https://modelcontextprotocol.io/clients](https://modelcontextprotocol.io/clients) -- More clients at [https://glama.ai/mcp/clients](https://glama.ai/mcp/clients) +Apify MCP Server is compatible with any MCP client that adheres to the [Model Context Protocol](https://modelcontextprotocol.org/), but the level of support for dynamic tool discovery and other features may vary between clients. +Therefore, the server uses [mcp-client-capabilities](https://github.com/apify/mcp-client-capabilities) to detect client capabilities and adjust its behavior accordingly. -With MCP server integrated, you can ask your AI assistant things like: -- "Search the web and summarize recent trends in AI Agents." -- "Find the top 10 Italian restaurants in San Francisco." -- "Find and analyze the Instagram profile of The Rock." -- "Provide a step-by-step guide on using the Model Context Protocol, including source URLs." -- "What Apify Actors can I use?" +To interact with the Apify MCP server, you can use clients, such as: [Claude Desktop](https://claude.ai/download), [Visual Studio Code](https://code.visualstudio.com/), or [Apify Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client) + +Visit the [mcp.apify.com](https://mcp.apify.com) to configure server for your preferred client. + +![Apify-MCP-client](https://raw.githubusercontent.com/apify/apify-mcp-server/refs/heads/master/docs/mcp-clients.png) ### Supported clients matrix The following table outlines the tested MCP clients and their level of support for key features. -| Client | Dynamic Tool Discovery | Notes | -| --- | --- | --- | -| **Claude.ai (web)** | ✅ Full | | -| **Claude Desktop** | 🟡 Partial | Tools may need to be reloaded manually in the client. | -| **VS Code (Genie)** | ✅ Full | | -| **Apify Tester MCP Client** | ✅ Full | Designed for testing Apify MCP servers. | +| Client | Dynamic Tool Discovery | Notes | +|-----------------------------|------------------------|-------------------------------------------------------| +| **Claude.ai (web)** | ✅ Full | | +| **Claude Desktop** | 🟡 Partial | Tools may need to be reloaded manually in the client. | +| **VS Code (Genie)** | ✅ Full | | +| **Cursor** | ✅ Full | | +| **Apify Tester MCP Client** | ✅ Full | Designed for testing Apify MCP servers. | -Apify MCP Server is compatible with any MCP client that adheres to the [Model Context Protocol](https://modelcontextprotocol.org/), but the level of support for dynamic tool discovery and other features may vary between clients. Therefore, the server uses [mcp-client-capabilities](https://github.com/apify/mcp-client-capabilities) to detect client capabilities and adjust its behavior accordingly. **Smart tool selection based on client capabilities:** diff --git a/docs/mcp-clients.png b/docs/mcp-clients.png new file mode 100644 index 0000000000000000000000000000000000000000..10d2c474d12063b40a35a2635286a1ef54db0508 GIT binary patch literal 42483 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 literal 0 HcmV?d00001 From 5478c7f8bb544c5aad16d0eda9baf6dcb7d641e9 Mon Sep 17 00:00:00 2001 From: Jiri Spilka Date: Tue, 4 Nov 2025 14:59:57 +0100 Subject: [PATCH 2/4] fix: Update readme --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 3a27e01b..6efdcec0 100644 --- a/README.md +++ b/README.md @@ -71,11 +71,11 @@ You can find detailed instructions for setting up the MCP server in the [Apify d Apify MCP Server is compatible with any MCP client that adheres to the [Model Context Protocol](https://modelcontextprotocol.org/), but the level of support for dynamic tool discovery and other features may vary between clients. Therefore, the server uses [mcp-client-capabilities](https://github.com/apify/mcp-client-capabilities) to detect client capabilities and adjust its behavior accordingly. -To interact with the Apify MCP server, you can use clients, such as: [Claude Desktop](https://claude.ai/download), [Visual Studio Code](https://code.visualstudio.com/), or [Apify Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client) +To interact with the Apify MCP server, you can use clients such as: [Claude Desktop](https://claude.ai/download), [Visual Studio Code](https://code.visualstudio.com/), or [Apify Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client). -Visit the [mcp.apify.com](https://mcp.apify.com) to configure server for your preferred client. +Visit [mcp.apify.com](https://mcp.apify.com) to configure the server for your preferred client. -![Apify-MCP-client](https://raw.githubusercontent.com/apify/apify-mcp-server/refs/heads/master/docs/mcp-clients.png) +![Apify-MCP-configuration-clients](https://raw.githubusercontent.com/apify/apify-mcp-server/refs/heads/master/docs/mcp-clients.png) ### Supported clients matrix From 678f5fdd0cdd9e5d04759dda4094d77bd3a39ff9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Spilka?= Date: Thu, 6 Nov 2025 09:06:21 +0100 Subject: [PATCH 3/4] Update README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Jakub Kopecký --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6efdcec0..91dddc9f 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,7 @@ The following table outlines the tested MCP clients and their level of support f | **VS Code (Genie)** | ✅ Full | | | **Cursor** | ✅ Full | | | **Apify Tester MCP Client** | ✅ Full | Designed for testing Apify MCP servers. | +| **OpenCode** | ✅ Full | | **Smart tool selection based on client capabilities:** From 38ed93d07d7db8392a4aaaa0a2ebe3e5c0e1619d Mon Sep 17 00:00:00 2001 From: Jiri Spilka Date: Thu, 6 Nov 2025 09:07:37 +0100 Subject: [PATCH 4/4] fix: review suggestions # Conflicts: # README.md --- README.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 91dddc9f..18d99f25 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ You can find detailed instructions for setting up the MCP server in the [Apify d # 🤖 MCP clients Apify MCP Server is compatible with any MCP client that adheres to the [Model Context Protocol](https://modelcontextprotocol.org/), but the level of support for dynamic tool discovery and other features may vary between clients. -Therefore, the server uses [mcp-client-capabilities](https://github.com/apify/mcp-client-capabilities) to detect client capabilities and adjust its behavior accordingly. + To interact with the Apify MCP server, you can use clients such as: [Claude Desktop](https://claude.ai/download), [Visual Studio Code](https://code.visualstudio.com/), or [Apify Tester MCP Client](https://apify.com/jiri.spilka/tester-mcp-client). @@ -81,14 +81,14 @@ Visit [mcp.apify.com](https://mcp.apify.com) to configure the server for your pr The following table outlines the tested MCP clients and their level of support for key features. -| Client | Dynamic Tool Discovery | Notes | -|-----------------------------|------------------------|-------------------------------------------------------| -| **Claude.ai (web)** | ✅ Full | | -| **Claude Desktop** | 🟡 Partial | Tools may need to be reloaded manually in the client. | -| **VS Code (Genie)** | ✅ Full | | -| **Cursor** | ✅ Full | | -| **Apify Tester MCP Client** | ✅ Full | Designed for testing Apify MCP servers. | -| **OpenCode** | ✅ Full | | +| Client | Dynamic Tool Discovery | Notes | +|-----------------------------|------------------------|------------------------------------------------------| +| **Claude.ai (web)** | 🟡 Partial | Tools mey need to be reloaded manually in the client | +| **Claude Desktop** | 🟡 Partial | Tools may need to be reloaded manually in the client | +| **VS Code (Genie)** | ✅ Full | | +| **Cursor** | ✅ Full | | +| **Apify Tester MCP Client** | ✅ Full | Designed for testing Apify MCP servers | +| **OpenCode** | ✅ Full | | **Smart tool selection based on client capabilities:**