mcp-proxy-adapter 6.7.1__py3-none-any.whl → 6.7.2__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.
@@ -132,40 +132,43 @@ class ProxyRegistrationManager:
132
132
  # Heartbeat settings - only validate if enabled
133
133
  if self.enabled:
134
134
  heartbeat_config = self.registration_config.get("heartbeat", {})
135
- self.timeout = heartbeat_config.get("timeout")
136
- if self.timeout is None:
137
- raise ValueError(
138
- "heartbeat.timeout is required in registration configuration. "
139
- "Please specify a timeout value."
140
- )
141
- self.retry_attempts = heartbeat_config.get("retry_attempts")
142
- if self.retry_attempts is None:
143
- raise ValueError(
144
- "heartbeat.retry_attempts is required in registration configuration. "
145
- "Please specify a retry_attempts value."
146
- )
135
+ heartbeat_enabled = heartbeat_config.get("enabled", True)
136
+
137
+ if heartbeat_enabled:
138
+ self.timeout = heartbeat_config.get("timeout")
139
+ if self.timeout is None:
140
+ raise ValueError(
141
+ "heartbeat.timeout is required in registration configuration. "
142
+ "Please specify a timeout value."
143
+ )
144
+ self.retry_attempts = heartbeat_config.get("retry_attempts")
145
+ if self.retry_attempts is None:
146
+ raise ValueError(
147
+ "heartbeat.retry_attempts is required in registration configuration. "
148
+ "Please specify a retry_attempts value."
149
+ )
150
+ self.retry_delay = heartbeat_config.get("retry_delay")
151
+ if self.retry_delay is None:
152
+ raise ValueError(
153
+ "heartbeat.retry_delay is required in registration configuration. "
154
+ "Please specify a retry_delay value."
155
+ )
156
+ self.heartbeat_interval = heartbeat_config.get("interval")
157
+ if self.heartbeat_interval is None:
158
+ raise ValueError(
159
+ "heartbeat.interval is required in registration configuration. "
160
+ "Please specify an interval value."
161
+ )
162
+ else:
163
+ # Heartbeat disabled - use defaults
164
+ self.timeout = heartbeat_config.get("timeout", 30)
165
+ self.retry_attempts = heartbeat_config.get("retry_attempts", 3)
166
+ self.retry_delay = heartbeat_config.get("retry_delay", 5)
167
+ self.heartbeat_interval = heartbeat_config.get("interval", 30)
147
168
  else:
148
169
  self.timeout = None
149
170
  self.retry_attempts = None
150
-
151
- if self.enabled:
152
- self.retry_delay = heartbeat_config.get("retry_delay")
153
- if self.retry_delay is None:
154
- raise ValueError(
155
- "heartbeat.retry_delay is required in registration configuration. "
156
- "Please specify a retry_delay value."
157
- )
158
- else:
159
171
  self.retry_delay = None
160
-
161
- if self.enabled:
162
- self.heartbeat_interval = heartbeat_config.get("interval")
163
- if self.heartbeat_interval is None:
164
- raise ValueError(
165
- "heartbeat.interval is required in registration configuration. "
166
- "Please specify an interval value."
167
- )
168
- else:
169
172
  self.heartbeat_interval = None
170
173
 
171
174
  # Auto registration settings
@@ -782,6 +785,15 @@ class ProxyRegistrationManager:
782
785
  except Exception as e:
783
786
  logger.error(f"Heartbeat error: {e}")
784
787
 
788
+ async def heartbeat(self) -> bool:
789
+ """
790
+ Public method to send heartbeat to proxy server.
791
+
792
+ Returns:
793
+ True if heartbeat was successful, False otherwise.
794
+ """
795
+ return await self._send_heartbeat()
796
+
785
797
  async def _send_heartbeat(self) -> bool:
786
798
  """Send heartbeat to proxy server."""
787
799
  if not self.server_key:
@@ -2,4 +2,4 @@
2
2
  Version information for MCP Proxy Adapter.
3
3
  """
4
4
 
5
- __version__ = "6.7.1"
5
+ __version__ = "6.7.2"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mcp-proxy-adapter
3
- Version: 6.7.1
3
+ Version: 6.7.2
4
4
  Summary: Powerful JSON-RPC microservices framework with built-in security, authentication, and proxy registration
5
5
  Home-page: https://github.com/maverikod/mcp-proxy-adapter
6
6
  Author: Vasiliy Zdanovskiy
@@ -4,7 +4,7 @@ mcp_proxy_adapter/config.py,sha256=QpoPaUKcWJ-eu6HYphhIZmkc2M-p1JgpLFAgolf_l5s,2
4
4
  mcp_proxy_adapter/custom_openapi.py,sha256=XRviX-C-ZkSKdBhORhDTdeN_1FWyEfXZADiASft3t9I,28149
5
5
  mcp_proxy_adapter/main.py,sha256=ILdGeikcZls2y9Uro0bQLi53FPSuJv_yZBio-3WD2zM,9233
6
6
  mcp_proxy_adapter/openapi.py,sha256=2UZOI09ZDRJuBYBjKbMyb2U4uASszoCMD5o_4ktRpvg,13480
7
- mcp_proxy_adapter/version.py,sha256=f7P2CcobyBU9CJovfKbOnqeKTQDfipyBZBpKBXU94nM,74
7
+ mcp_proxy_adapter/version.py,sha256=8BW2GJtsmlLZwL8XRvuPQimNVnKFme-0iHrLwWsvEpM,74
8
8
  mcp_proxy_adapter/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
9
  mcp_proxy_adapter/api/app.py,sha256=GGhA5X7HQPLJFxeaWHu5YUwi2ldPvPvJD2YcaL9Nbo0,37874
10
10
  mcp_proxy_adapter/api/handlers.py,sha256=X-hcMNVeTAu4yVkKJEChEsj2bFptUS6sLNN-Wysjkow,10011
@@ -73,7 +73,7 @@ mcp_proxy_adapter/core/mtls_proxy.py,sha256=5APlWs0ImiHGEC65W_7F-PbVO3NZ2BVSj9r1
73
73
  mcp_proxy_adapter/core/mtls_server.py,sha256=_hj6QWuExKX2LRohYvjPGFC2qTutS7ObegpEc09QijM,10117
74
74
  mcp_proxy_adapter/core/protocol_manager.py,sha256=iaXWsfm1XSfemz5QQBesMluc4cwf-LtuZVi9bm1uj28,14680
75
75
  mcp_proxy_adapter/core/proxy_client.py,sha256=CB6KBhV3vH2GU5nZ27VZ_xlNbYTAU_tnYFrkuK5He58,6094
76
- mcp_proxy_adapter/core/proxy_registration.py,sha256=QKjRDbrKRVDcsZl66CRdmr-IoymJjF9cbyp6CLSW090,40504
76
+ mcp_proxy_adapter/core/proxy_registration.py,sha256=QlQFHnjIN8ETWcasPDUXNMfMsU_-KdrvLTYJiDua_wI,41237
77
77
  mcp_proxy_adapter/core/role_utils.py,sha256=YwRenGoXI5YrHVbFjKFAH2DJs2miyqhcr9LWF7mxieg,12284
78
78
  mcp_proxy_adapter/core/security_adapter.py,sha256=MAtNthsp7Qj4-oLFzSi7Pr3vWQbWS_uelqa5LGgrXIE,12957
79
79
  mcp_proxy_adapter/core/security_factory.py,sha256=M-1McwUOmuV7Eo-m_P2undtJVNK_KIjDx8o_uRY8rLo,8005
@@ -134,8 +134,8 @@ mcp_proxy_adapter/schemas/base_schema.json,sha256=v9G9cGMd4dRhCZsOQ_FMqOi5VFyVbI
134
134
  mcp_proxy_adapter/schemas/openapi_schema.json,sha256=C3yLkwmDsvnLW9B5gnKKdBGl4zxkeU-rEmjTrNVsQU0,8405
135
135
  mcp_proxy_adapter/schemas/roles.json,sha256=pgf_ZyqKyXbfGUxvobpiLiSJz9zzxrMuoVWEkEpz3N8,764
136
136
  mcp_proxy_adapter/schemas/roles_schema.json,sha256=deHgI7L6GwfBXacOlNtDgDJelDThppClC3Ti4Eh8rJY,5659
137
- mcp_proxy_adapter-6.7.1.dist-info/METADATA,sha256=82G1E37shptreMST_9zGo9VaqSyFShYmAiOUSvI9x2o,8510
138
- mcp_proxy_adapter-6.7.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
139
- mcp_proxy_adapter-6.7.1.dist-info/entry_points.txt,sha256=Bf-O5Aq80n22Ayu9fI9BgidzWqwzIVaqextAddTuHZw,563
140
- mcp_proxy_adapter-6.7.1.dist-info/top_level.txt,sha256=JZT7vPLBYrtroX-ij68JBhJYbjDdghcV-DFySRy-Nnw,18
141
- mcp_proxy_adapter-6.7.1.dist-info/RECORD,,
137
+ mcp_proxy_adapter-6.7.2.dist-info/METADATA,sha256=Xg6ENQrj-kv2GZ0TXmwW3OBxzje9tBsWKclciTZDjnE,8510
138
+ mcp_proxy_adapter-6.7.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
139
+ mcp_proxy_adapter-6.7.2.dist-info/entry_points.txt,sha256=Bf-O5Aq80n22Ayu9fI9BgidzWqwzIVaqextAddTuHZw,563
140
+ mcp_proxy_adapter-6.7.2.dist-info/top_level.txt,sha256=JZT7vPLBYrtroX-ij68JBhJYbjDdghcV-DFySRy-Nnw,18
141
+ mcp_proxy_adapter-6.7.2.dist-info/RECORD,,