From 9834de0d3b93b7e413f267b09dafed1efa87dafc Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 1 Jun 2026 13:58:08 +0300 Subject: [PATCH 1/3] docs: update Studio MCP documentation --- docs/en/studio/model-context-protocol.md | 77 ++++++++++++++++-------- 1 file changed, 51 insertions(+), 26 deletions(-) diff --git a/docs/en/studio/model-context-protocol.md b/docs/en/studio/model-context-protocol.md index 7be6557df9..76e691e460 100644 --- a/docs/en/studio/model-context-protocol.md +++ b/docs/en/studio/model-context-protocol.md @@ -1,7 +1,7 @@ ```json //[doc-seo] { - "Description": "Learn how to connect AI tools like Cursor, Claude Desktop, and VS Code to ABP Studio using the Model Context Protocol (MCP)." + "Description": "Learn how to connect AI tools like Cursor, Claude Desktop, and VS Code to ABP Studio using the Model Context Protocol (MCP), and see the tools currently exposed by Studio." } ``` @@ -17,7 +17,7 @@ } ```` -ABP Studio includes built-in [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) support so AI tools can query runtime telemetry and control solution runner operations. +ABP Studio includes built-in [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) support so AI tools can inspect runtime telemetry, work with the Solution Runner, build projects, generate proxies, run custom commands, inspect Kubernetes-related data, and automate ABP Studio's embedded browser. ## How It Works @@ -30,6 +30,8 @@ MCP Client (Cursor / Claude Desktop / VS Code) > ABP Studio must be running while MCP is used. If ABP Studio is not running (or its MCP endpoint is unavailable), `abp mcp-studio` returns an error to the AI client. +By default, the bridge connects to `http://localhost:38280/mcp/`. You can override this with the `--endpoint` option. + ## Configuration ### Cursor (`.cursor/mcp.json`) @@ -79,55 +81,78 @@ Claude Desktop config file locations: ### Quick Reference -You can run `abp help mcp-studio` at any time to see the available options and example configuration snippets for each supported IDE directly in your terminal. +You can run `abp help mcp-studio` at any time to see the available options and example configuration snippets directly in your terminal. ### Generating Config Files from ABP Studio -When creating a new solution, ABP Studio can generate MCP configuration files for Cursor and VS Code automatically. +ABP Studio solution templates can generate the VS Code MCP configuration file (`.vscode/mcp.json`) during solution creation. Cursor and Claude Desktop can be configured with the snippets shown above. ## Available Tools -ABP Studio exposes the following tools to MCP clients. All tools operate on the currently open solution and selected run profile in ABP Studio. +ABP Studio exposes the following tools to MCP clients. All tools operate on the currently open solution. Tools that interact with Solution Runner also require a selected run profile. -### Monitoring +### Runtime Monitoring | Tool | Description | |------|-------------| -| `list_applications` | Lists all running ABP applications connected to ABP Studio. | | `get_exceptions` | Gets recent exceptions including stack traces and error messages. | -| `get_logs` | Gets log entries. Can be filtered by log level. | -| `get_requests` | Gets HTTP request information. Can be filtered by status code. | +| `get_logs` | Gets runtime log entries. Can be filtered by application name and minimum log level. | +| `get_requests` | Gets HTTP request information. Can be filtered by application name, status code, and URL substring. | | `get_events` | Gets distributed events for debugging inter-service communication. | -| `clear_monitor` | Clears collected monitor data. | -### Application Control +### Solution Runner | Tool | Description | |------|-------------| -| `list_runnable_applications` | Lists all applications in the current run profile with their state. | -| `start_application` | Starts a stopped application. | -| `stop_application` | Stops a running application. | -| `restart_application` | Restarts a running application. | -| `build_application` | Builds a .NET application using `dotnet build`. | +| `start_applications` | Starts or restarts one or more applications by name, folder, or the entire application tree. | +| `stop_applications` | Stops one or more running applications by name, folder, or the entire application tree. | +| `start_containers` | Starts Docker containers in the selected run profile. | +| `stop_containers` | Stops Docker containers in the selected run profile. | +| `run_task` | Runs a Solution Runner task and waits for it to finish. | -### Container Control +### Solution Structure | Tool | Description | |------|-------------| -| `list_containers` | Lists Docker containers in the current run profile with their state. | -| `start_containers` | Starts Docker containers (docker-compose up). | -| `stop_containers` | Stops Docker containers (docker-compose down). | +| `get_solution_info` | Gets solution name, path, template, module count, and run profile information. | +| `list_modules` | Lists all modules in the solution. | +| `list_packages` | Lists packages (projects) in the solution. Can be filtered by module. | -### Solution Structure +### Build and Generation | Tool | Description | |------|-------------| -| `get_solution_info` | Gets solution name, path, template, and run profile information. | -| `list_modules` | Lists all modules in the solution. | -| `list_packages` | Lists packages (projects) in the solution. Can be filtered by module. | -| `get_module_dependencies` | Gets module dependency/import information. | +| `dotnet_build` | Builds the whole solution, selected modules, or selected packages by using `dotnet build`. | +| `install_libs` | Runs `abp install-libs` at the solution root. | +| `generate_csharp_proxies` | Generates C# static client proxies from a running API application. | +| `generate_angular_proxies` | Generates Angular service proxies from a running API application. | + +### Custom Commands and Kubernetes + +| Tool | Description | +|------|-------------| +| `list_custom_commands` | Lists custom commands defined in the current solution. | +| `run_custom_command` | Runs a custom command for a supported target and waits for completion. | +| `list_kubernetes_charts` | Lists Helm charts defined in the solution. | +| `list_kubernetes_services` | Lists services from the selected Kubernetes profile. | + +### Embedded Browser + +| Tool | Description | +|------|-------------| +| `browser_list_tabs` | Lists open tabs in ABP Studio's embedded browser. | +| `browser_open` | Opens or navigates an embedded browser tab to a URL. | +| `browser_snapshot` | Returns the current page title, URL, visible text, and interactive elements. | +| `browser_wait_for` | Waits for time-based or text-based conditions in a browser tab. | +| `browser_screenshot` | Captures a PNG screenshot of the selected browser tab. | +| `browser_click` | Clicks an element in the embedded browser by CSS selector. | +| `browser_type` | Types into an editable element in the embedded browser by CSS selector. | +| `browser_evaluate` | Runs JavaScript in the selected embedded browser tab and returns the result. | +| `browser_console` | Reads captured console output from the selected embedded browser tab. | ## Notes -- Monitor data (exceptions, logs, requests, events) is kept in memory and is cleared when the solution is closed. +- Monitor data (exceptions, logs, requests, events) is kept in memory, capped at 100 entries per application for each data type, and is cleared when the solution is closed. +- A dedicated `clear_monitor` MCP tool is not currently exposed. Closing the solution in ABP Studio clears the collected monitor data. +- Some tools depend on the current Studio context. For example, Solution Runner tools need a selected run profile, and `list_kubernetes_services` uses the selected Kubernetes profile. - The `abp mcp-studio` command connects to the local ABP Studio instance. This is separate from the `abp mcp` command, which connects to the ABP.IO cloud MCP service and requires an active license. From d16e586d6afeaddf0fb31c2c45c83a20691b09c9 Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 1 Jun 2026 14:10:27 +0300 Subject: [PATCH 2/3] docs: remove stale Studio MCP server docs --- docs/en/cli/index.md | 30 ---- docs/en/studio/model-context-protocol.md | 158 ---------------------- docs/en/studio/monitoring-applications.md | 4 +- docs/en/studio/overview.md | 2 - 4 files changed, 2 insertions(+), 192 deletions(-) delete mode 100644 docs/en/studio/model-context-protocol.md diff --git a/docs/en/cli/index.md b/docs/en/cli/index.md index a848320549..c02391eb42 100644 --- a/docs/en/cli/index.md +++ b/docs/en/cli/index.md @@ -75,7 +75,6 @@ Here is the list of all available commands before explaining their details: - [clear-download-cache](../cli#clear-download-cache): Clears the templates download cache. - [check-extensions](../cli#check-extensions): Checks the latest version of the ABP CLI extensions. - [install-old-cli](../cli#install-old-cli): Installs old ABP CLI. -- [mcp-studio](../cli#mcp-studio): Starts ABP Studio MCP bridge for AI tools (requires ABP Studio running). - [generate-razor-page](../cli#generate-razor-page): Generates a page class that you can use it in the ASP NET Core pipeline to return an HTML page. - [generate-jwks](../cli#generate-jwks): Generates an RSA key pair (JWKS public key + PEM private key) for OpenIddict `private_key_jwt` client authentication. @@ -1091,35 +1090,6 @@ Usage: abp install-old-cli [options] ``` -### mcp-studio - -Starts an MCP stdio bridge for AI tools (Cursor, Claude Desktop, VS Code, etc.) that connects to the local ABP Studio instance. ABP Studio must be running for this command to work. - -> You do not need to run this command manually. It is invoked automatically by your AI tool once you add the MCP configuration to your IDE. See the [Configuration](#configuration) examples below. - -> This command connects to the **local ABP Studio** instance. It is separate from the `abp mcp` command, which connects to the ABP.IO cloud MCP service and requires an active license. - -Usage: - -```bash -abp mcp-studio [options] -``` - -Options: - -- `--endpoint` or `-e`: Overrides ABP Studio MCP endpoint. Default value is `http://localhost:38280/mcp/`. - -Example: - -```bash -abp mcp-studio -abp mcp-studio --endpoint http://localhost:38280/mcp/ -``` - -For detailed configuration examples (Cursor, Claude Desktop, VS Code) and the full list of available MCP tools, see the [Model Context Protocol (MCP)](../studio/model-context-protocol.md) documentation. - -> You can also run `abp help mcp-studio` to see available options and example IDE configuration snippets directly in your terminal. - ### generate-razor-page `generate-razor-page` command to generate a page class and then use it in the ASP NET Core pipeline to return an HTML page. diff --git a/docs/en/studio/model-context-protocol.md b/docs/en/studio/model-context-protocol.md deleted file mode 100644 index 76e691e460..0000000000 --- a/docs/en/studio/model-context-protocol.md +++ /dev/null @@ -1,158 +0,0 @@ -```json -//[doc-seo] -{ - "Description": "Learn how to connect AI tools like Cursor, Claude Desktop, and VS Code to ABP Studio using the Model Context Protocol (MCP), and see the tools currently exposed by Studio." -} -``` - -# ABP Studio: Model Context Protocol (MCP) - -````json -//[doc-nav] -{ - "Next": { - "Name": "Working with Kubernetes", - "Path": "studio/kubernetes" - } -} -```` - -ABP Studio includes built-in [Model Context Protocol (MCP)](https://modelcontextprotocol.io/) support so AI tools can inspect runtime telemetry, work with the Solution Runner, build projects, generate proxies, run custom commands, inspect Kubernetes-related data, and automate ABP Studio's embedded browser. - -## How It Works - -ABP Studio runs a local MCP server in the background. The `abp mcp-studio` CLI command acts as a stdio bridge that AI clients connect to. The bridge forwards requests to ABP Studio and returns responses. - -```text -MCP Client (Cursor / Claude Desktop / VS Code) - ──stdio──▶ abp mcp-studio ──HTTP──▶ ABP Studio -``` - -> ABP Studio must be running while MCP is used. If ABP Studio is not running (or its MCP endpoint is unavailable), `abp mcp-studio` returns an error to the AI client. - -By default, the bridge connects to `http://localhost:38280/mcp/`. You can override this with the `--endpoint` option. - -## Configuration - -### Cursor (`.cursor/mcp.json`) - -```json -{ - "mcpServers": { - "abp-studio": { - "command": "abp", - "args": ["mcp-studio"] - } - } -} -``` - -### Claude Desktop (`claude_desktop_config.json`) - -```json -{ - "mcpServers": { - "abp-studio": { - "command": "abp", - "args": ["mcp-studio"] - } - } -} -``` - -Claude Desktop config file locations: - -- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json` -- Windows: `%APPDATA%\Claude\claude_desktop_config.json` -- Linux: `~/.config/Claude/claude_desktop_config.json` - -### VS Code (`.vscode/mcp.json`) - -```json -{ - "servers": { - "abp-studio": { - "command": "abp", - "args": ["mcp-studio"] - } - } -} -``` - -### Quick Reference - -You can run `abp help mcp-studio` at any time to see the available options and example configuration snippets directly in your terminal. - -### Generating Config Files from ABP Studio - -ABP Studio solution templates can generate the VS Code MCP configuration file (`.vscode/mcp.json`) during solution creation. Cursor and Claude Desktop can be configured with the snippets shown above. - -## Available Tools - -ABP Studio exposes the following tools to MCP clients. All tools operate on the currently open solution. Tools that interact with Solution Runner also require a selected run profile. - -### Runtime Monitoring - -| Tool | Description | -|------|-------------| -| `get_exceptions` | Gets recent exceptions including stack traces and error messages. | -| `get_logs` | Gets runtime log entries. Can be filtered by application name and minimum log level. | -| `get_requests` | Gets HTTP request information. Can be filtered by application name, status code, and URL substring. | -| `get_events` | Gets distributed events for debugging inter-service communication. | - -### Solution Runner - -| Tool | Description | -|------|-------------| -| `start_applications` | Starts or restarts one or more applications by name, folder, or the entire application tree. | -| `stop_applications` | Stops one or more running applications by name, folder, or the entire application tree. | -| `start_containers` | Starts Docker containers in the selected run profile. | -| `stop_containers` | Stops Docker containers in the selected run profile. | -| `run_task` | Runs a Solution Runner task and waits for it to finish. | - -### Solution Structure - -| Tool | Description | -|------|-------------| -| `get_solution_info` | Gets solution name, path, template, module count, and run profile information. | -| `list_modules` | Lists all modules in the solution. | -| `list_packages` | Lists packages (projects) in the solution. Can be filtered by module. | - -### Build and Generation - -| Tool | Description | -|------|-------------| -| `dotnet_build` | Builds the whole solution, selected modules, or selected packages by using `dotnet build`. | -| `install_libs` | Runs `abp install-libs` at the solution root. | -| `generate_csharp_proxies` | Generates C# static client proxies from a running API application. | -| `generate_angular_proxies` | Generates Angular service proxies from a running API application. | - -### Custom Commands and Kubernetes - -| Tool | Description | -|------|-------------| -| `list_custom_commands` | Lists custom commands defined in the current solution. | -| `run_custom_command` | Runs a custom command for a supported target and waits for completion. | -| `list_kubernetes_charts` | Lists Helm charts defined in the solution. | -| `list_kubernetes_services` | Lists services from the selected Kubernetes profile. | - -### Embedded Browser - -| Tool | Description | -|------|-------------| -| `browser_list_tabs` | Lists open tabs in ABP Studio's embedded browser. | -| `browser_open` | Opens or navigates an embedded browser tab to a URL. | -| `browser_snapshot` | Returns the current page title, URL, visible text, and interactive elements. | -| `browser_wait_for` | Waits for time-based or text-based conditions in a browser tab. | -| `browser_screenshot` | Captures a PNG screenshot of the selected browser tab. | -| `browser_click` | Clicks an element in the embedded browser by CSS selector. | -| `browser_type` | Types into an editable element in the embedded browser by CSS selector. | -| `browser_evaluate` | Runs JavaScript in the selected embedded browser tab and returns the result. | -| `browser_console` | Reads captured console output from the selected embedded browser tab. | - -## Notes - -- Monitor data (exceptions, logs, requests, events) is kept in memory, capped at 100 entries per application for each data type, and is cleared when the solution is closed. -- A dedicated `clear_monitor` MCP tool is not currently exposed. Closing the solution in ABP Studio clears the collected monitor data. -- Some tools depend on the current Studio context. For example, Solution Runner tools need a selected run profile, and `list_kubernetes_services` uses the selected Kubernetes profile. -- The `abp mcp-studio` command connects to the local ABP Studio instance. This is separate from the `abp mcp` command, which connects to the ABP.IO cloud MCP service and requires an active license. diff --git a/docs/en/studio/monitoring-applications.md b/docs/en/studio/monitoring-applications.md index e06d387146..04dac9ef13 100644 --- a/docs/en/studio/monitoring-applications.md +++ b/docs/en/studio/monitoring-applications.md @@ -11,8 +11,8 @@ //[doc-nav] { "Next": { - "Name": "Model Context Protocol (MCP)", - "Path": "studio/model-context-protocol" + "Name": "Working with Kubernetes", + "Path": "studio/kubernetes" } } ```` diff --git a/docs/en/studio/overview.md b/docs/en/studio/overview.md index f875e9ebf1..256389f79d 100644 --- a/docs/en/studio/overview.md +++ b/docs/en/studio/overview.md @@ -103,8 +103,6 @@ This pane is dedicated to managing Kubernetes services. It simplifies the proces The AI Assistant is an integrated chat interface within ABP Studio that provides intelligent assistance for ABP-related questions. You can access it from the left sidebar by clicking the AI icon. -For external AI tool integrations through MCP, see the [Model Context Protocol (MCP)](./model-context-protocol.md) documentation. - ![ai-assistant](./images/overview/ai-assistant.png) Key features of the AI Assistant include: From e776a107322222931b93e5a75b13cebafe80d996 Mon Sep 17 00:00:00 2001 From: enisn Date: Mon, 1 Jun 2026 14:16:05 +0300 Subject: [PATCH 3/3] docs: remove stale Studio MCP nav item --- docs/en/docs-nav.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/en/docs-nav.json b/docs/en/docs-nav.json index 87653e30e0..b503ea1a15 100644 --- a/docs/en/docs-nav.json +++ b/docs/en/docs-nav.json @@ -340,10 +340,6 @@ "text": "Monitoring Applications", "path": "studio/monitoring-applications.md" }, - { - "text": "Model Context Protocol (MCP)", - "path": "studio/model-context-protocol.md" - }, { "text": "Working with Kubernetes", "path": "studio/kubernetes.md"