Skip to content

[Bug]: Server Tags Not Propagated to Tools via /tools Endpoint #836

@KaRtHiK-56

Description

@KaRtHiK-56

🐞 Bug Summary

In version 0.6.0, the new UI supports adding tags to servers during registration. While the tags are saved correctly at the server level, they are not being propagated to the associated tools returned by the /tools endpoint. As a result, the tags field in the tools' metadata is always empty.


🧩 Affected Component

Select the area of the project impacted:

  • [ ✔ ] mcpgateway - API
  • [ ✔ ] mcpgateway - UI (admin panel)
  • mcpgateway.wrapper - stdio wrapper
  • Federation or Transports
  • CLI, Makefiles, or shell scripts
  • Container setup (Docker/Podman/Compose)
  • Other (explain below)

🔁 Steps to Reproduce

  1. Navigate to the admin panel and register a new server.
  2. Add one or more tags to the server during creation.
  3. Verify that the server metadata includes the assigned tags (successful).
  4. Navigate to the /tools endpoint to fetch tool data.
  5. Observe that the tools related to the server have an empty tags array.
{
    "id": "b07ecb79b4dd4648ab458d8843de8433",
    "originalName": "add",
    "url": "http://localhost:8010/sse",
    "description": "Add two numbers",
    "requestType": "SSE",
    "integrationType": "MCP",
    "headers": null,
    "inputSchema": {
      "properties": {
        "a": {
          "title": "A",
          "type": "integer"
        },
        "b": {
          "title": "B",
          "type": "integer"
        }
      },
      "required": [
        "a",
        "b"
      ],
      "title": "addArguments",
      "type": "object"
    },
    "annotations": {
      "readOnlyHint": true
    },
    "jsonpathFilter": "",
    "auth": null,
    "createdAt": "2025-08-25T05:40:25.685422",
    "updatedAt": "2025-08-25T05:44:04.473108",
    "enabled": true,
    "reachable": true,
    "gatewayId": "ea6a05d82fed43ea9ac1fe687ce27f0f",
    "executionCount": 0,
    "metrics": {
      "totalExecutions": 0,
      "successfulExecutions": 0,
      "failedExecutions": 0,
      "failureRate": 0,
      "minResponseTime": null,
      "maxResponseTime": null,
      "avgResponseTime": null,
      "lastExecutionTime": null
    },
    "name": "fast-time-add",
    "gatewaySlug": "fast-time",
    "customName": "add",
    "customNameSlug": "add",
    **"tags": [],**
    "createdBy": "admin",
    "createdFromIp": "127.0.0.1",
    "createdVia": "federation",
    "createdUserAgent": "curl/8.7.1",
    "modifiedBy": "admin",
    "modifiedFromIp": "127.0.0.1",
    "modifiedVia": "api",
    "modifiedUserAgent": "curl/8.7.1",
    "importBatchId": null,
    "federationSource": "fast_time",
    "version": 2
  }

Despite the server having tags defined, the associated tools do not inherit or reflect those tags when returned from the /tools endpoint.


🤔 Expected Behavior

Each tool returned by the /tools endpoint should include a tags field that reflects the tags assigned to its originating server, unless explicitly overridden.

🧩 Additional Context (optional)

Add any configuration details, flags, or related issues.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingtriageIssues / Features awaiting triage

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions