diff --git a/mcpgateway/admin.py b/mcpgateway/admin.py index aea799339..53fa0768a 100644 --- a/mcpgateway/admin.py +++ b/mcpgateway/admin.py @@ -4605,7 +4605,6 @@ async def admin_import_tools( # Extract base metadata for bulk import base_metadata = MetadataCapture.extract_creation_metadata(request, user, import_batch_id=import_batch_id) - for i, item in enumerate(payload): name = (item or {}).get("name") try: @@ -5100,7 +5099,6 @@ async def admin_export_logs( ) -# Configuration Export/Import Endpoints @admin_router.get("/export/configuration") async def admin_export_configuration( types: Optional[str] = None, diff --git a/mcpgateway/config.py b/mcpgateway/config.py index f59568099..9daacd567 100644 --- a/mcpgateway/config.py +++ b/mcpgateway/config.py @@ -440,7 +440,6 @@ def _parse_federation_peers(cls, v): # Cache control for well-known files (seconds) well_known_cache_max_age: int = 3600 # 1 hour default - model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8", case_sensitive=False, extra="ignore") gateway_tool_name_separator: str = "-" diff --git a/mcpgateway/templates/admin.html b/mcpgateway/templates/admin.html index 84dbba37e..039d204f5 100644 --- a/mcpgateway/templates/admin.html +++ b/mcpgateway/templates/admin.html @@ -786,7 +786,6 @@

- @@ -1612,15 +1611,217 @@

-
+

Add New Tool

- + + +
+ + + + +
@@ -2801,8 +3002,8 @@

{% if gateway.authType == 'oauth' %} @@ -2823,8 +3024,7 @@

> 🔧 Fetch Tools - {% endif %} - {% if gateway.enabled %} + {% endif %} {% if gateway.enabled %}

- {% if a2a_agents %} - {% for agent in a2a_agents %} -
-
-
-

{{ agent.name }}

-

{{ agent.description or "" }}

-
- - {% if agent.enabled %}Active{% else %}Inactive{% endif %} - - - {% if agent.reachable %}Reachable{% else %}Unreachable{% endif %} - - - {{ agent.agentType }} - - - Auth: {{ agent.authType or "None" }} - + {% if a2a_agents %} {% for agent in a2a_agents %} +
+
+
+

+ {{ agent.name }} +

+

+ {{ agent.description or "" }} +

+
+ + {% if agent.enabled %}Active{% else %}Inactive{% endif + %} + + + {% if agent.reachable %}Reachable{% else %}Unreachable{% + endif %} + + + {{ agent.agentType }} + + + Auth: {{ agent.authType or "None" }} + +
+
+
Endpoint: {{ agent.endpointUrl }}
+
+ Executions: {{ agent.metrics.totalExecutions }} | + Success Rate: {% if agent.metrics.totalExecutions %}{{ + "%.1f"|format(100 - agent.metrics.failureRate) }}%{% + else %}N/A{% endif %}
-
-
Endpoint: {{ agent.endpointUrl }}
-
Executions: {{ agent.metrics.totalExecutions }} | Success Rate: {% if agent.metrics.totalExecutions %}{{ "%.1f"|format(100 - agent.metrics.failureRate) }}%{% else %}N/A{% endif %}
-
Created: {{ agent.createdAt.strftime('%Y-%m-%d %H:%M:%S') }}
- {% if agent.lastInteraction %} -
Last Interaction: {{ agent.lastInteraction.strftime('%Y-%m-%d %H:%M:%S') }}
- {% endif %} +
+ Created: {{ agent.createdAt.strftime('%Y-%m-%d + %H:%M:%S') }}
- {% if agent.tags %} -
- {% for tag in agent.tags %} - {{ tag }} - {% endfor %} + {% if agent.lastInteraction %} +
+ Last Interaction: {{ + agent.lastInteraction.strftime('%Y-%m-%d %H:%M:%S') }}
{% endif %} - -
-
+ {% if agent.tags %} +
+ {% for tag in agent.tags %} + {{ tag }} + {% endfor %} +
+ {% endif %} + + +
+
+ + + - - - - -
- -
-
+ +
+ +
- {% endfor %} - {% else %} -
-

No A2A agents registered yet.

-
+
+ {% endfor %} {% else %} +
+

+ No A2A agents registered yet. +

+
{% endif %}
@@ -3894,11 +4199,7 @@

- +