open-edison 0.1.78rc1__py3-none-any.whl → 0.1.79__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: open-edison
3
- Version: 0.1.78rc1
3
+ Version: 0.1.79
4
4
  Summary: Open-source MCP security, aggregation, and monitoring. Single-user, self-hosted MCP proxy.
5
5
  Author-email: Hugo Berg <hugo@edison.watch>
6
6
  License-File: LICENSE
@@ -9,7 +9,7 @@ src/oauth_manager.py,sha256=qw87VxfRLfvd3YI1EhMmEJJ51N_WJsNpo17GUCvi13c,9971
9
9
  src/oauth_override.py,sha256=C7QS8sPA6JqJDiNZA0FGeXcB7jU-yYu-k8V56QVpsqU,393
10
10
  src/permissions.py,sha256=G_rCkVRC6yvNEoTe7g6gHXmmnwcmpS6vFScm7bI8oeY,14632
11
11
  src/server.py,sha256=H1OtYZcZbOZbcFYb-RljRnDGU-lYrrSNBO2g6ZylnSw,47703
12
- src/single_user_mcp.py,sha256=ML-rBl1Nr2okzmLl2fLJYEvkphr-71n6eVtXpilmqio,24909
12
+ src/single_user_mcp.py,sha256=veemh0RnwEvvkxI-lA2it8rtnPrCbn3VDR3t4DrE7Kc,25016
13
13
  src/telemetry.py,sha256=-RZPIjpI53zbsKmp-63REeZ1JirWHV5WvpSRa2nqZEk,11321
14
14
  src/vulture_whitelist.py,sha256=CjBOSsarbzbQt_9ATWc8MbruBsYX3hJVa_ysbRD9ZYM,135
15
15
  src/frontend_dist/index.html,sha256=eCG8DLoWNQc5GImBg0Z9dT8HZUMPhAw-4Wc6dEqgKCU,673
@@ -34,8 +34,8 @@ src/middleware/session_tracking.py,sha256=_igPVEH_l2hQ5onLb5cdn7MOXNtSxr9USEdJkl
34
34
  src/setup_tui/__init__.py,sha256=mDFrQoiOtQOHc0sFfGKrNXVLEDeB1S0O5aISBVzfxYo,184
35
35
  src/setup_tui/main.py,sha256=9-m5p3HUnENGbfzd7Mk6LI5NjWtgMeXCWtFi65EBsVc,11257
36
36
  src/tools/io.py,sha256=hhc4pv3eUzYWSZ7BbThclxSMwWBQaGMoGsItIPf_pco,1047
37
- open_edison-0.1.78rc1.dist-info/METADATA,sha256=oUkfAF2BycT7liOFk0fyuEMXqztx9kMgHD3e9KJi7BU,11996
38
- open_edison-0.1.78rc1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
39
- open_edison-0.1.78rc1.dist-info/entry_points.txt,sha256=YiGNm9x2I00hgT10HDyB4gxC1LcaV_mu8bXFjolu0Yw,171
40
- open_edison-0.1.78rc1.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
41
- open_edison-0.1.78rc1.dist-info/RECORD,,
37
+ open_edison-0.1.79.dist-info/METADATA,sha256=MaGX5_gr76_Ar_Y-haTea2EoVthgjtCBIJMYsX253Xg,11993
38
+ open_edison-0.1.79.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
39
+ open_edison-0.1.79.dist-info/entry_points.txt,sha256=YiGNm9x2I00hgT10HDyB4gxC1LcaV_mu8bXFjolu0Yw,171
40
+ open_edison-0.1.79.dist-info/licenses/LICENSE,sha256=OXLcl0T2SZ8Pmy2_dmlvKuetivmyPd5m1q-Gyd-zaYY,35149
41
+ open_edison-0.1.79.dist-info/RECORD,,
src/single_user_mcp.py CHANGED
@@ -115,10 +115,10 @@ class SingleUserMCP(FastMCP[Any]):
115
115
  )
116
116
 
117
117
  # Validate and normalize all results
118
- tools = self._validate_server_result(tools, "tools", server.name)
119
- resources = self._validate_server_result(resources, "resources", server.name)
120
- templates = self._validate_server_result(templates, "templates", server.name)
121
- prompts = self._validate_server_result(prompts, "prompts", server.name)
118
+ tools = self._validate_server_result(tools, "tools", prefix)
119
+ resources = self._validate_server_result(resources, "resources", prefix)
120
+ templates = self._validate_server_result(templates, "templates", prefix)
121
+ prompts = self._validate_server_result(prompts, "prompts", prefix)
122
122
 
123
123
  # Import all components
124
124
  self._import_tools(tools, prefix)
@@ -132,9 +132,13 @@ class SingleUserMCP(FastMCP[Any]):
132
132
  self, result: Any, result_type: str, server_name: str
133
133
  ) -> dict[str, Any]:
134
134
  """Validate and normalize server result from asyncio.gather with return_exceptions=True."""
135
+ if isinstance(result, RuntimeError):
136
+ log.debug(f'Server {server_name} does not appear to contain "{result_type}"')
137
+ return {}
135
138
  if isinstance(result, Exception):
136
- log.warning(f'Server {server_name} does not appear to contain "{result_type}"')
137
- log.debug(f"Server {server_name} _validate_server_result exception result: {result}")
139
+ log.error(
140
+ f'Server {server_name} received and unexpected exception when feetching "{result_type}". result: {result}'
141
+ )
138
142
  return {}
139
143
  if not isinstance(result, dict):
140
144
  log.warning(f"Server {server_name} returned an unexpected response")