Compare commits
No commits in common. "f24f12c4ba3b6dfb1e17efcbcab8674ded05023b" and "5ab63b71cda35a773e92d0ef90373dad762896a9" have entirely different histories.
f24f12c4ba
...
5ab63b71cd
|
@ -3,7 +3,6 @@ import json
|
||||||
import logging
|
import logging
|
||||||
from contextlib import AbstractAsyncContextManager
|
from contextlib import AbstractAsyncContextManager
|
||||||
from typing import Literal, Callable, Any
|
from typing import Literal, Callable, Any
|
||||||
from importlib import metadata
|
|
||||||
|
|
||||||
import jsonref
|
import jsonref
|
||||||
from maintainer.ai.model.nacos_mcp_info import McpToolMeta, McpServerDetailInfo, \
|
from maintainer.ai.model.nacos_mcp_info import McpToolMeta, McpServerDetailInfo, \
|
||||||
|
@ -279,10 +278,6 @@ class NacosServer(Server):
|
||||||
asyncio.create_task(self.subscribe())
|
asyncio.create_task(self.subscribe())
|
||||||
if self._nacos_settings.SERVICE_REGISTER and (self.type == "mcp-sse"
|
if self._nacos_settings.SERVICE_REGISTER and (self.type == "mcp-sse"
|
||||||
or self.type == "mcp-streamable"):
|
or self.type == "mcp-streamable"):
|
||||||
version = metadata.version('nacos-mcp-wrapper-python')
|
|
||||||
service_meta_data = {
|
|
||||||
"source": f"nacos-mcp-wrapper-python-{version}",
|
|
||||||
**self._nacos_settings.SERVICE_META_DATA}
|
|
||||||
await self.naming_client.register_instance(
|
await self.naming_client.register_instance(
|
||||||
request=RegisterInstanceParam(
|
request=RegisterInstanceParam(
|
||||||
group_name=server_detail_info.remoteServerConfig.serviceRef.groupName,
|
group_name=server_detail_info.remoteServerConfig.serviceRef.groupName,
|
||||||
|
@ -290,10 +285,8 @@ class NacosServer(Server):
|
||||||
ip=self._nacos_settings.SERVICE_IP,
|
ip=self._nacos_settings.SERVICE_IP,
|
||||||
port=self._nacos_settings.SERVICE_PORT if self._nacos_settings.SERVICE_PORT else port,
|
port=self._nacos_settings.SERVICE_PORT if self._nacos_settings.SERVICE_PORT else port,
|
||||||
ephemeral=self._nacos_settings.SERVICE_EPHEMERAL,
|
ephemeral=self._nacos_settings.SERVICE_EPHEMERAL,
|
||||||
metadata=service_meta_data
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
logging.info(f"Register to nacos success,{self.name},version:{self.version}")
|
|
||||||
return
|
return
|
||||||
|
|
||||||
mcp_tool_specification = None
|
mcp_tool_specification = None
|
||||||
|
@ -342,7 +335,7 @@ class NacosServer(Server):
|
||||||
mcp_tool_specification,
|
mcp_tool_specification,
|
||||||
endpoint_spec)
|
endpoint_spec)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.info(f"Found MCP server {self.name} in Nacos,try to update it")
|
logger.info(f"Failed to create MCP server to Nacos,try to update mcp server")
|
||||||
version_detail = None
|
version_detail = None
|
||||||
try:
|
try:
|
||||||
version_detail = await self.mcp_service.get_mcp_server_detail(
|
version_detail = await self.mcp_service.get_mcp_server_detail(
|
||||||
|
@ -351,12 +344,12 @@ class NacosServer(Server):
|
||||||
self.version
|
self.version
|
||||||
)
|
)
|
||||||
except Exception as e_2:
|
except Exception as e_2:
|
||||||
logger.info(f" Version {self.version} of Mcp server {self.name} is not in Nacos, try to update it")
|
logger.info(f"Cant found version {self.version} of Mcp server {self.name}")
|
||||||
if version_detail is None:
|
if version_detail is None:
|
||||||
await self.mcp_service.update_mcp_server(
|
await self.mcp_service.update_mcp_server(
|
||||||
self._nacos_settings.NAMESPACE,
|
self._nacos_settings.NAMESPACE,
|
||||||
self.name,
|
self.name,
|
||||||
True,
|
False,
|
||||||
server_basic_info,
|
server_basic_info,
|
||||||
mcp_tool_specification,
|
mcp_tool_specification,
|
||||||
endpoint_spec
|
endpoint_spec
|
||||||
|
@ -369,8 +362,6 @@ class NacosServer(Server):
|
||||||
f"mcp server info is not compatible,{self.name},version:{self.version},reason:{error_msg}"
|
f"mcp server info is not compatible,{self.name},version:{self.version},reason:{error_msg}"
|
||||||
)
|
)
|
||||||
if self._nacos_settings.SERVICE_REGISTER:
|
if self._nacos_settings.SERVICE_REGISTER:
|
||||||
version = metadata.version('nacos-mcp-wrapper-python')
|
|
||||||
service_meta_data = {"source": f"nacos-mcp-wrapper-python-{version}",**self._nacos_settings.SERVICE_META_DATA}
|
|
||||||
await self.naming_client.register_instance(
|
await self.naming_client.register_instance(
|
||||||
request=RegisterInstanceParam(
|
request=RegisterInstanceParam(
|
||||||
group_name="DEFAULT_GROUP" if self._nacos_settings.SERVICE_GROUP is None else self._nacos_settings.SERVICE_GROUP,
|
group_name="DEFAULT_GROUP" if self._nacos_settings.SERVICE_GROUP is None else self._nacos_settings.SERVICE_GROUP,
|
||||||
|
@ -378,10 +369,8 @@ class NacosServer(Server):
|
||||||
ip=self._nacos_settings.SERVICE_IP,
|
ip=self._nacos_settings.SERVICE_IP,
|
||||||
port=self._nacos_settings.SERVICE_PORT if self._nacos_settings.SERVICE_PORT else port,
|
port=self._nacos_settings.SERVICE_PORT if self._nacos_settings.SERVICE_PORT else port,
|
||||||
ephemeral=self._nacos_settings.SERVICE_EPHEMERAL,
|
ephemeral=self._nacos_settings.SERVICE_EPHEMERAL,
|
||||||
metadata=service_meta_data,
|
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
asyncio.create_task(self.subscribe())
|
asyncio.create_task(self.subscribe())
|
||||||
logging.info(f"Register to nacos success,{self.name},version:{self.version}")
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error(f"Failed to register MCP server to Nacos: {e}")
|
logging.error(f"Failed to register MCP server to Nacos: {e}")
|
||||||
|
|
|
@ -63,10 +63,6 @@ class NacosSettings(BaseSettings):
|
||||||
description="nacos connection labels",
|
description="nacos connection labels",
|
||||||
default={})
|
default={})
|
||||||
|
|
||||||
SERVICE_META_DATA : Optional[dict] = Field(
|
|
||||||
description="nacos service metadata",
|
|
||||||
default={})
|
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
env_prefix = "NACOS_MCP_SERVER_"
|
env_prefix = "NACOS_MCP_SERVER_"
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
psutil==7.0.0
|
psutil==7.0.0
|
||||||
anyio==4.9.0
|
anyio==4.9.0
|
||||||
mcp==1.9.2
|
mcp==1.9.2
|
||||||
nacos-sdk-python>=2.0.9
|
nacos-sdk-python>=2.0.8
|
||||||
pydantic==2.11.3
|
pydantic==2.11.3
|
||||||
pydantic-settings==2.9.1
|
pydantic-settings==2.9.1
|
||||||
jsonref==1.1.0
|
jsonref==1.1.0
|
||||||
|
|
2
setup.py
2
setup.py
|
@ -9,7 +9,7 @@ def read_requirements():
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
name='nacos-mcp-wrapper-python',
|
name='nacos-mcp-wrapper-python',
|
||||||
version='1.0.9', # 项目的版本号
|
version='1.0.7', # 项目的版本号
|
||||||
packages=find_packages(
|
packages=find_packages(
|
||||||
exclude=["test", "*.tests", "*.tests.*", "tests.*", "tests"]), # 自动发现所有包
|
exclude=["test", "*.tests", "*.tests.*", "tests.*", "tests"]), # 自动发现所有包
|
||||||
url="https://github.com/nacos-group/nacos-mcp-wrapper-python",
|
url="https://github.com/nacos-group/nacos-mcp-wrapper-python",
|
||||||
|
|
Loading…
Reference in New Issue