universal-mcp 0.1.24rc24__tar.gz → 0.1.24rc26__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/PKG-INFO +1 -1
  2. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/pyproject.toml +1 -1
  3. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/agentr/client.py +3 -1
  4. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/agentr/registry.py +3 -1
  5. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/.gitignore +0 -0
  6. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/LICENSE +0 -0
  7. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/README.md +0 -0
  8. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/tests/__init__.py +0 -0
  9. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/tests/conftest.py +0 -0
  10. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/tests/test_api_generator.py +0 -0
  11. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/tests/test_apps.py +0 -0
  12. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/tests/test_local_registry.py +0 -0
  13. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/tests/test_localserver.py +0 -0
  14. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/tests/test_stores.py +0 -0
  15. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/tests/test_tool.py +0 -0
  16. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/tests/test_tool_manager.py +0 -0
  17. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/agentr/README.md +0 -0
  18. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/agentr/__init__.py +0 -0
  19. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/agentr/integration.py +0 -0
  20. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/agentr/server.py +0 -0
  21. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/applications/application.py +0 -0
  22. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/applications/sample/app.py +0 -0
  23. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/applications/utils.py +0 -0
  24. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/cli.py +0 -0
  25. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/client/oauth.py +0 -0
  26. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/client/token_store.py +0 -0
  27. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/client/transport.py +0 -0
  28. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/config.py +0 -0
  29. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/exceptions.py +0 -0
  30. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/integrations/__init__.py +0 -0
  31. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/integrations/integration.py +0 -0
  32. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/logger.py +0 -0
  33. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/py.typed +0 -0
  34. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/servers/__init__.py +0 -0
  35. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/servers/server.py +0 -0
  36. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/stores/__init__.py +0 -0
  37. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/stores/store.py +0 -0
  38. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/tools/__init__.py +0 -0
  39. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/tools/adapters.py +0 -0
  40. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/tools/docstring_parser.py +0 -0
  41. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/tools/func_metadata.py +0 -0
  42. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/tools/local_registry.py +0 -0
  43. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/tools/manager.py +0 -0
  44. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/tools/registry.py +0 -0
  45. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/tools/tools.py +0 -0
  46. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/types.py +0 -0
  47. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/utils/__init__.py +0 -0
  48. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/utils/installation.py +0 -0
  49. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/utils/openapi/__inti__.py +0 -0
  50. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/utils/openapi/api_generator.py +0 -0
  51. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/utils/openapi/api_splitter.py +0 -0
  52. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/utils/openapi/cli.py +0 -0
  53. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/utils/openapi/docgen.py +0 -0
  54. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/utils/openapi/filters.py +0 -0
  55. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/utils/openapi/openapi.py +0 -0
  56. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/utils/openapi/postprocessor.py +0 -0
  57. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/utils/openapi/preprocessor.py +0 -0
  58. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/utils/openapi/readme.py +0 -0
  59. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/utils/openapi/test_generator.py +0 -0
  60. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/utils/prompts.py +0 -0
  61. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/utils/singleton.py +0 -0
  62. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/utils/templates/README.md.j2 +0 -0
  63. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/utils/templates/api_client.py.j2 +0 -0
  64. {universal_mcp-0.1.24rc24 → universal_mcp-0.1.24rc26}/src/universal_mcp/utils/testing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: universal-mcp
3
- Version: 0.1.24rc24
3
+ Version: 0.1.24rc26
4
4
  Summary: Universal MCP acts as a middle ware for your API applications. It can store your credentials, authorize, enable disable apps on the fly and much more.
5
5
  Author-email: Manoj Bajaj <manojbajaj95@gmail.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "universal-mcp"
7
- version = "0.1.24-rc24"
7
+ version = "0.1.24-rc26"
8
8
  description = "Universal MCP acts as a middle ware for your API applications. It can store your credentials, authorize, enable disable apps on the fly and much more."
9
9
  readme = "README.md"
10
10
  authors = [
@@ -207,7 +207,9 @@ class AgentrClient:
207
207
  limit (int, optional): The number of tools to return. Defaults to 2.
208
208
  app_id (str, optional): The ID of the app to search tools for.
209
209
  """
210
- params = {"search": query, "limit": limit, "distance_threshold": distance_threshold}
210
+ params = {"limit": limit, "distance_threshold": distance_threshold}
211
+ if query:
212
+ params["search"] = query
211
213
  if app_id:
212
214
  params["app_id"] = app_id
213
215
  response = self.client.get("/tools/", params=params)
@@ -1,4 +1,5 @@
1
1
  import base64
2
+ import inspect
2
3
  from typing import Any
3
4
 
4
5
  from loguru import logger
@@ -176,6 +177,7 @@ class AgentrRegistry(ToolRegistry):
176
177
 
177
178
  langchain_tools = []
178
179
  for tool in loaded_tools:
180
+ full_docstring = inspect.getdoc(tool.fn)
179
181
 
180
182
  def create_coroutine(t):
181
183
  async def call_tool_wrapper(**arguments: dict[str, Any]):
@@ -188,7 +190,7 @@ class AgentrRegistry(ToolRegistry):
188
190
 
189
191
  langchain_tool = StructuredTool(
190
192
  name=tool.name,
191
- description=tool.description or "",
193
+ description=full_docstring or tool.description or "",
192
194
  coroutine=create_coroutine(tool),
193
195
  response_format="content",
194
196
  args_schema=tool.parameters,