MCPcopy Index your code
hub / github.com/1Panel-dev/MaxKB / generate_mcp_server_code

Method generate_mcp_server_code

apps/common/utils/tool_code.py:303–321  ·  view source on GitHub ↗
(self, code_str, params, name, description, tool_id)

Source from the content-addressed store, hash-verified

301 return "\n".join(code_parts)
302
303 def generate_mcp_server_code(self, code_str, params, name, description, tool_id):
304 code = self._generate_mcp_server_code(code_str, params, name, description, tool_id)
305 set_run_user = (
306 f"os.setgid({pwd.getpwnam(_run_user).pw_gid});os.setuid({pwd.getpwnam(_run_user).pw_uid});"
307 if _enable_sandbox
308 else ""
309 )
310 return f"""
311import os, sys, logging
312logging.basicConfig(level=logging.WARNING)
313logging.getLogger("mcp").setLevel(logging.ERROR)
314logging.getLogger("mcp.server").setLevel(logging.ERROR)
315path_to_exclude = ['/opt/py3/lib/python3.11/site-packages', '/opt/maxkb-app/apps']
316sys.path = [p for p in sys.path if p not in path_to_exclude]
317sys.path += {_sandbox_python_sys_path}
318{set_run_user}
319os.environ.clear()
320exec({dedent(code)!a})
321"""
322
323 def get_tool_mcp_config(self, tool, params):
324 _code = self.generate_mcp_server_code(tool.code, params, tool.name, tool.desc, str(tool.id))

Callers 1

get_tool_mcp_configMethod · 0.95

Calls 1

Tested by

no test coverage detected