remove unused
This commit is contained in:
@@ -1,76 +0,0 @@
|
||||
# https://gofastmcp.com/patterns/decorating-methods
|
||||
from dataclasses import dataclass, field, is_dataclass
|
||||
from typing import Type, Literal
|
||||
import tyro
|
||||
from fastmcp import FastMCP
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
from fastmcp.tools.tool import FunctionTool
|
||||
from loguru import logger
|
||||
|
||||
from lang_agent.rag.simple import SimpleRagConfig
|
||||
from lang_agent.base import LangToolBase
|
||||
from lang_agent.config import InstantiateConfig, ToolConfig
|
||||
from lang_agent.dummy.calculator import Calculator, CalculatorConfig
|
||||
from lang_agent.tool_manager import ToolManager, ToolManagerConfig
|
||||
|
||||
# from catering_end.lang_tool import CartToolConfig, CartTool
|
||||
|
||||
@tyro.conf.configure(tyro.conf.SuppressFixed)
|
||||
@dataclass
|
||||
class MCPServerConfig(InstantiateConfig):
|
||||
_target: Type = field(default_factory=lambda: MCPServer)
|
||||
|
||||
server_name:str = "langserver"
|
||||
|
||||
host: str = "127.0.0.1"
|
||||
"""host of server"""
|
||||
|
||||
port: int = 50051
|
||||
"""port"""
|
||||
|
||||
transport:Literal["stdio", "sse", "streamable-http"] = "streamable-http"
|
||||
"""transport method"""
|
||||
|
||||
toolmanager_config: ToolManagerConfig = field(default_factory=ToolManagerConfig)
|
||||
|
||||
|
||||
class MCPServer:
|
||||
def __init__(self, config: MCPServerConfig):
|
||||
self.config = config
|
||||
self.mcp = FastMCP(self.config.server_name)
|
||||
|
||||
self.populate_modules()
|
||||
self.register_mcp_functions()
|
||||
|
||||
def populate_modules(self):
|
||||
self.tool_manager:ToolManager = self.config.toolmanager_config.setup()
|
||||
|
||||
def register_mcp_functions(self):
|
||||
|
||||
fncs = self.tool_manager.get_tool_fncs()
|
||||
for fnc in fncs:
|
||||
self.mcp.tool(fnc)
|
||||
|
||||
|
||||
def run(self):
|
||||
# 获取FastAPI应用实例
|
||||
app = self.mcp.http_app()
|
||||
|
||||
# 配置CORS
|
||||
app.add_middleware(
|
||||
CORSMiddleware,
|
||||
allow_origins=["*"],
|
||||
allow_credentials=True,
|
||||
allow_methods=["*"],
|
||||
allow_headers=["*"],
|
||||
)
|
||||
|
||||
self.mcp.run(transport=self.config.transport,
|
||||
host=self.config.host,
|
||||
port=self.config.port)
|
||||
|
||||
if __name__ == "__main__":
|
||||
conf:MCPServer = MCPServerConfig().setup()
|
||||
tool_conf = conf._get_tool_config()
|
||||
for e in tool_conf:
|
||||
print(e)
|
||||
Reference in New Issue
Block a user