geronimo-pericoli commited on
Commit
df8dd91
verified
1 Parent(s): a76bb8a

Update server.py

Browse files
Files changed (1) hide show
  1. server.py +18 -9
server.py CHANGED
@@ -99,21 +99,28 @@ mcp = FastMCP("OnBase", port=port)
99
  @mcp.tool()
100
  async def list_retrievers(source: str = None) -> dict:
101
  """
102
- Devuelve la lista de retrievers disponibles, opcionalmente filtrados por source
 
103
 
104
  Args:
105
- source (str, optional): Si se especifica, solo devuelve los retrievers de esta fuente. Defaults to None.
106
 
107
  Returns:
108
- dict: Diccionario con la lista de retrievers y metadatos
 
 
 
 
 
 
109
  """
110
-
111
- #logger.info(f"馃攣 Count: {count}")
112
  try:
113
  available = []
 
 
114
  for current_source, indexes in retrievers_metadata.items():
115
- # Si se especific贸 un source y no coincide, saltar esta fuente
116
- if source and current_source != source:
117
  continue
118
 
119
  for index_name, metadata in indexes.items():
@@ -128,7 +135,8 @@ async def list_retrievers(source: str = None) -> dict:
128
  "retrievers": available,
129
  "count": len(available),
130
  "status": "success",
131
- "source_filter": source if source else "all"
 
132
  }
133
  except Exception as e:
134
  return {
@@ -136,7 +144,8 @@ async def list_retrievers(source: str = None) -> dict:
136
  "count": 0,
137
  "status": "error",
138
  "error": str(e),
139
- "source_filter": source if source else "all"
 
140
  }
141
 
142
 
 
99
  @mcp.tool()
100
  async def list_retrievers(source: str = None) -> dict:
101
  """
102
+ Devuelve la lista de retrievers disponibles.
103
+ Si se especifica una source y existe, filtra por ella; si no existe, devuelve todas.
104
 
105
  Args:
106
+ source (str, optional): Fuente para filtrar. Si no existe, se ignorar谩. Defaults to None.
107
 
108
  Returns:
109
+ dict: {
110
+ "retrievers": Lista de retrievers (filtrados o completos),
111
+ "count": N煤mero total,
112
+ "status": "success"|"error",
113
+ "source_requested": source, # Muestra lo que se solicit贸
114
+ "source_used": "all"|source # Muestra lo que realmente se us贸
115
+ }
116
  """
 
 
117
  try:
118
  available = []
119
+ source_exists = source in retrievers_metadata if source else False
120
+
121
  for current_source, indexes in retrievers_metadata.items():
122
+ # Solo filtrar si el source existe, sino mostrar todo
123
+ if source_exists and current_source != source:
124
  continue
125
 
126
  for index_name, metadata in indexes.items():
 
135
  "retrievers": available,
136
  "count": len(available),
137
  "status": "success",
138
+ "source_requested": source,
139
+ "source_used": source if source_exists else "all"
140
  }
141
  except Exception as e:
142
  return {
 
144
  "count": 0,
145
  "status": "error",
146
  "error": str(e),
147
+ "source_requested": source,
148
+ "source_used": "none"
149
  }
150
 
151