Skip to content

[Feature Request]: Test MCP Server Connectivity Debugging Tool #181

@crivetimihai

Description

@crivetimihai

🧭 Epic

Title: Test Server Connectivity from Gateway UI
Goal: Help administrators debug server setup issues by interactively sending custom HTTP requests to configured MCP servers
Why now: When adding a new MCP server, it's often unclear if a given URL or endpoint is live, secure, or responding as expected. Today, users must use curl/Postman to debug. This feature allows testing any method, path, headers, or body directly from the Gateway UI.


🧭 Type of Feature

  • New functionality

🙋‍♂️ User Story 1

As a: Gateway administrator
I want: to send custom HTTP requests (GET, POST, etc.) to any path on the server I'm configuring
So that: I can debug connectivity, validate endpoint behavior, and inspect the actual server responses before saving

✅ Acceptance Criteria

Scenario: Send a custom request to the server before saving
  Given I am adding a new server in the Gateway UI
  And I enter a server base URL
  When I click "Test Server"
  Then I should be able to:
    - Choose an HTTP method (GET, POST, PUT, DELETE, etc.)
    - Enter a relative path (e.g., /health)
    - Provide optional headers and request body
  When I click "Send"
  Then the system sends the request to base_url + path
  And I should see:
    - HTTP status code
    - Total response time (latency)
    - Response body (pretty-printed JSON if possible)

📐 Design Sketch (optional)

+-------------------- Gateway UI ---------------------+
| Server URL: https://api.example.com                |
|                                                    |
| [ Test Server ] ← opens test panel                 |
+----------------------------------------------------+

⇣ click

+-------------------- Test Server --------------------+
| Method: [GET ▼]                                     |
| Path: /version                                      |
| Headers (JSON): { "Authorization": "Bearer xyz" }  |
| Body (JSON): { "foo": "bar" } (for POST, PUT...)   |
| [ Send ]                                            |
|                                                    |
| ⇣ Results                                           |
| ➤ Status: 200 OK                                    |
| ➤ Latency: 120 ms                                   |
| ➤ Response:                                         |
| {                                                   |
|   "version": "1.0.0",                               |
|   "status": "healthy"                               |
| }                                                   |
+-----------------------------------------------------+

🔗 MCP Standards Check

  • No impact on protocol or server discovery logic
  • Safe, diagnostic-only feature
  • Follows existing conventions for JSON and HTTP tooling

🔄 Alternatives Considered

Option Pros Cons
Predefined test list (/health, /version) Simpler UI Not flexible, less useful for real-world debugging
Silent background ping No UI work Less control, can miss issues with specific headers/methods
CLI-only debug tools No frontend work Fragments experience, not user-friendly

📓 Additional Context

  • This is especially useful when:
    • Testing authenticated or proxied servers
    • Verifying custom response structures
    • Diagnosing CORS or TLS errors from browser context
  • Future enhancements could include:
    • Copy-as-curl button
    • History of past test requests
    • Auto-fill common headers like Content-Type: application/json

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestfrontendFrontend development (HTML, CSS, JavaScript)good first issueGood for newcomerstriageIssues / Features awaiting triage

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions