geronimo-pericoli commited on
Commit
75b72b8
·
verified ·
1 Parent(s): 3e88fba

Update server.py

Browse files
Files changed (1) hide show
  1. server.py +5 -10
server.py CHANGED
@@ -99,20 +99,16 @@ mcp = FastMCP("OnBase", port=port)
99
 
100
 
101
  @mcp.resource("data://retrievers/list/{source}")
102
- async def retrievers_list_resource(ctx: Context) -> dict:
103
  """
104
  Resource interno que proporciona la lista de retrievers.
105
- El parámetro 'source' viene en el URI.
106
  """
107
  try:
108
- # Obtenemos el parámetro source del contexto de ruta
109
- source = ctx.path_params.get("source")
110
-
111
  # Cargamos los metadatos desde el contexto
112
  retrievers_metadata = ctx.get("retrievers_metadata", {})
113
 
114
  available = []
115
- source_exists = source in retrievers_metadata if source else False
116
 
117
  for current_source, indexes in retrievers_metadata.items():
118
  if source_exists and current_source != source:
@@ -144,7 +140,6 @@ async def retrievers_list_resource(ctx: Context) -> dict:
144
  "source_used": "none"
145
  }
146
 
147
-
148
  @mcp.tool()
149
  async def list_retrievers(ctx: Context, source: str = None) -> dict:
150
  """
@@ -156,9 +151,9 @@ async def list_retrievers(ctx: Context, source: str = None) -> dict:
156
  Returns:
157
  dict: Lista de retrievers.
158
  """
159
- # Construimos la URI basada en si hay source o no
160
- uri = "data://retrievers/list/all" if source is None else f"data://retrievers/list/{source}"
161
- return await ctx.resources.read(uri)
162
 
163
 
164
 
 
99
 
100
 
101
  @mcp.resource("data://retrievers/list/{source}")
102
+ async def retrievers_list_resource(ctx: Context, source: str) -> dict:
103
  """
104
  Resource interno que proporciona la lista de retrievers.
 
105
  """
106
  try:
 
 
 
107
  # Cargamos los metadatos desde el contexto
108
  retrievers_metadata = ctx.get("retrievers_metadata", {})
109
 
110
  available = []
111
+ source_exists = source in retrievers_metadata if source != "all" else False
112
 
113
  for current_source, indexes in retrievers_metadata.items():
114
  if source_exists and current_source != source:
 
140
  "source_used": "none"
141
  }
142
 
 
143
  @mcp.tool()
144
  async def list_retrievers(ctx: Context, source: str = None) -> dict:
145
  """
 
151
  Returns:
152
  dict: Lista de retrievers.
153
  """
154
+ # Convertimos None a "all" para el resource
155
+ source_param = "all" if source is None else source
156
+ return await ctx.resources.read(f"data://retrievers/list/{source_param}")
157
 
158
 
159