github Python analyzed a18828a

game4automation/realvirtual-MCP

github

Python MCP Server - AI agent bridge for Unity Digital Twin simulations via MCP protocol

maintainer
game4automation
license
MIT
first seen
2026-07-12
last seen
2026-07-22
releases · 30d
0
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged dynamic code execution ×53 in game4automation/realvirtual-MCP
  2. HIGH code analysis flagged dynamic code execution ×48 in game4automation/realvirtual-MCP
capabilities 3 tools
transport stdio · streamable-http · http · sse counts 3 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • async_tool
  • my_tool
  • tool_with_context
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit a18828a · analyzer v28 · 3d ago

danger signals54

code evidence vHEAD · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 1229

filesystem 98

  • fs game4automation-realvirtual-MCP-a18828a/Lib/adodbapi/setup.py :32 a = open("adodbapi.py") # find the version string in the source code
  • fs game4automation-realvirtual-MCP-a18828a/Lib/anyio/_core/_fileio.py :4 import pathlib
  • fs game4automation-realvirtual-MCP-a18828a/Lib/anyio/_core/_sockets.py :870 # Copied from pathlib...
  • fs game4automation-realvirtual-MCP-a18828a/Lib/anyio/streams/file.py :12 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/anyio/to_process.py :211 sys.stdin = open(os.devnull)
  • fs game4automation-realvirtual-MCP-a18828a/Lib/bin/pywin32_postinstall.py :8 import shutil
  • fs game4automation-realvirtual-MCP-a18828a/Lib/cffi/_imp_emulation.py :75 with open(file_path, 'rb') as file:
  • fs game4automation-realvirtual-MCP-a18828a/Lib/cffi/recompiler.py :290 g = open(os.path.join(os.path.dirname(__file__), filename), 'r')
  • fs game4automation-realvirtual-MCP-a18828a/Lib/cffi/setuptools_ext.py :22 with open(filename) as f:
  • fs game4automation-realvirtual-MCP-a18828a/Lib/cffi/verifier.py :184 with open(self.sourcefilename, "r") as fp:
  • fs game4automation-realvirtual-MCP-a18828a/Lib/click/_compat.py :366 return open(file, mode)
  • fs game4automation-realvirtual-MCP-a18828a/Lib/click/_termui_impl.py :19 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/click/formatting.py :126 import shutil
  • fs game4automation-realvirtual-MCP-a18828a/Lib/click/shell_completion.py :312 import shutil
  • fs game4automation-realvirtual-MCP-a18828a/Lib/click/testing.py :572 import shutil
  • fs game4automation-realvirtual-MCP-a18828a/Lib/click/types.py :900 convert to :class:`pathlib.Path`.
  • fs game4automation-realvirtual-MCP-a18828a/Lib/click/utils.py :139 open(filename, mode).close()
  • fs game4automation-realvirtual-MCP-a18828a/Lib/dotenv/cli.py :76 with open(path) as stream:
  • fs game4automation-realvirtual-MCP-a18828a/Lib/dotenv/main.py :4 import pathlib
  • fs game4automation-realvirtual-MCP-a18828a/Lib/httpx/_multipart.py :8 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/isapi/install.py :9 import shutil
  • fs game4automation-realvirtual-MCP-a18828a/Lib/jsonschema/cli.py :52 file = open(path) # noqa: SIM115, PTH123
  • fs game4automation-realvirtual-MCP-a18828a/Lib/mcp/cli/claude.py :5 import shutil
  • fs game4automation-realvirtual-MCP-a18828a/Lib/mcp/cli/cli.py :8 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/mcp/client/stdio/__init__.py :5 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/mcp/os/win32/utilities.py :6 import shutil
  • fs game4automation-realvirtual-MCP-a18828a/Lib/mcp/server/fastmcp/resources/types.py :6 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/mcp/server/fastmcp/utilities/types.py :4 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/multipart/__init__.py :6 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pycparser/__init__.py :94 with io.open(filename, encoding=encoding) as f:
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pycparser/_ast_gen.py :46 with open(filename, "r") as f:
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/_internal/_generate_schema.py :10 import pathlib
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/_internal/_git.py :6 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/deprecated/json.py :7 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/deprecated/parse.py :7 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/main.py :59 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/mypy.py :1373 with open(config_file, 'rb') as rf:
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/types.py :12 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/v1/env_settings.py :3 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/v1/errors.py :2 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/v1/json.py :6 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/v1/main.py :6 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/v1/mypy.py :948 with open(config_file, read_mode) as rf:
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/v1/parse.py :4 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/v1/schema.py :9 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/v1/tools.py :3 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/v1/types.py :8 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/v1/utils.py :46 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/v1/validators.py :9 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/v1/version.py :20 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic/version.py :37 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic_settings/sources/base.py :9 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic_settings/sources/providers/dotenv.py :8 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic_settings/sources/providers/json.py :6 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic_settings/sources/providers/nested_secrets.py :5 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic_settings/sources/providers/pyproject.py :5 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic_settings/sources/providers/secrets.py :7 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic_settings/sources/providers/toml.py :6 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic_settings/sources/providers/yaml.py :5 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic_settings/sources/types.py :6 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pydantic_settings/utils.py :2 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/python_multipart/decoders.py :29 fd = open("notb64.txt", "wb")
  • fs game4automation-realvirtual-MCP-a18828a/Lib/python_multipart/multipart.py :5 import shutil
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/Demos/dibdemo.py :38 f = open(filename, "rb")
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/framework/app.py :352 with open(version_path) as f:
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/framework/bitmap.py :26 f = open(filename, "rb")
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/framework/editor/document.py :4 import shutil
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/framework/editor/editor.py :100 f = open(filename, "rb")
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/framework/interact.py :353 open(rcfile, "rb").read(), rcfile, "exec", dont_inherit=True
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/framework/scriptutils.py :309 f = open(script, "rb")
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/framework/sgrepmdi.py :190 params = open(fnm, "r").read()
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/scintilla/IDLEenvironment.py :586 v.SCIAddText(open(fname).read())
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/scintilla/config.py :102 cf = open(compiled_name, "rb")
  • fs game4automation-realvirtual-MCP-a18828a/Lib/pythonwin/pywin/scintilla/document.py :45 f = open(filename, "rb")
  • fs game4automation-realvirtual-MCP-a18828a/Lib/starlette/config.py :6 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/typing_extensions.py :828 assert isinstance(open('/some/file'), Closable)
  • fs game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/config.py :14 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/main.py :599 os.remove(config.uds) # pragma: py-win32
  • fs game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/supervisors/basereload.py :9 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/supervisors/statreload.py :5 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/supervisors/watchfilesreload.py :4 from pathlib import Path
  • fs game4automation-realvirtual-MCP-a18828a/Lib/websockets/legacy/protocol.py :409 def open(self) -> bool:
  • fs game4automation-realvirtual-MCP-a18828a/Lib/websockets/version.py :27 import pathlib
  • fs game4automation-realvirtual-MCP-a18828a/Lib/win32/Demos/BackupRead_BackupWrite.py :24 f = open(tempfile, "w")
  • fs game4automation-realvirtual-MCP-a18828a/Lib/win32/Demos/BackupSeek_streamheaders.py :27 f = open(tempfile, "w")
  • fs game4automation-realvirtual-MCP-a18828a/Lib/win32/Demos/CopyFileEx.py :37 f = open(fsrc, "w")
  • fs game4automation-realvirtual-MCP-a18828a/Lib/win32/Demos/CreateFileTransacted_MiniVersion.py :33 f = open(tempfile, "w")
  • fs game4automation-realvirtual-MCP-a18828a/Lib/win32/Demos/OpenEncryptedFileRaw.py :26 os.remove(dst_dir)
  • fs game4automation-realvirtual-MCP-a18828a/Lib/win32/Demos/RegRestoreKey.py :13 os.remove(fname)
  • fs game4automation-realvirtual-MCP-a18828a/Lib/win32/Demos/security/explicit_entries.py :10 f = open(fname, "w")
  • fs game4automation-realvirtual-MCP-a18828a/Lib/win32/Demos/security/regsave_sa.py :13 os.remove(fname)
  • fs game4automation-realvirtual-MCP-a18828a/Lib/win32/Demos/security/set_file_audit.py :45 os.remove(dir_name)
  • fs game4automation-realvirtual-MCP-a18828a/Lib/win32/Demos/win32fileDemo.py :19 os.unlink(testName)
  • fs game4automation-realvirtual-MCP-a18828a/Lib/win32/Demos/winprocess.py :207 cmd = open(cmd_name, "w+b")
  • fs game4automation-realvirtual-MCP-a18828a/Lib/win32/lib/win32pdhquery.py :224 def open(self):
  • fs game4automation-realvirtual-MCP-a18828a/Lib/win32/lib/win32rcparser.py :251 self.open(rcstream)
  • fs game4automation-realvirtual-MCP-a18828a/Lib/win32/lib/win32timezone.py :587 key = _RegKeyDict.open(winreg.HKEY_LOCAL_MACHINE, self.tzRegKey)
  • fs game4automation-realvirtual-MCP-a18828a/Lib/win32/lib/win32verstamp.py :130 f = open(pathname, "a+b")

shell / exec 16

  • shell game4automation-realvirtual-MCP-a18828a/Lib/anyio/_core/_subprocesses.py :7 from subprocess import PIPE, CalledProcessError, CompletedProcess
  • shell game4automation-realvirtual-MCP-a18828a/Lib/anyio/to_process.py :11 import subprocess
  • shell game4automation-realvirtual-MCP-a18828a/Lib/bin/pywin32_testall.py :5 import subprocess
  • shell game4automation-realvirtual-MCP-a18828a/Lib/cffi/pkgconfig.py :33 pc = subprocess.Popen(a, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
  • shell game4automation-realvirtual-MCP-a18828a/Lib/click/_termui_impl.py :439 import subprocess
  • shell game4automation-realvirtual-MCP-a18828a/Lib/click/shell_completion.py :313 import subprocess
  • shell game4automation-realvirtual-MCP-a18828a/Lib/dotenv/cli.py :9 from subprocess import Popen
  • shell game4automation-realvirtual-MCP-a18828a/Lib/mcp/cli/cli.py :6 import subprocess
  • shell game4automation-realvirtual-MCP-a18828a/Lib/mcp/os/win32/utilities.py :7 import subprocess
  • shell game4automation-realvirtual-MCP-a18828a/Lib/pycparser/__init__.py :14 from subprocess import check_output
  • shell game4automation-realvirtual-MCP-a18828a/Lib/pydantic/_internal/_git.py :5 import subprocess
  • shell game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/_subprocess.py :82 # supress the exception to avoid a traceback from subprocess.Popen
  • shell game4automation-realvirtual-MCP-a18828a/Lib/websockets/cli.py :167 os.system("")
  • shell game4automation-realvirtual-MCP-a18828a/Lib/websockets/version.py :29 import subprocess
  • shell game4automation-realvirtual-MCP-a18828a/Lib/win32/Demos/EvtFormatMessage.py :74 # Obscure error when run under subprocess.Popen(), presumably due to
  • shell game4automation-realvirtual-MCP-a18828a/Lib/win32/lib/win32serviceutil.py :810 os.system(f"{exeName} -debug {serviceName} {svcArgs}")

network 83

  • net game4automation-realvirtual-MCP-a18828a/Lib/anyio/_backends/_asyncio.py :9 import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/anyio/_backends/_trio.py :6 import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/anyio/_core/_asyncio_selector_thread.py :4 import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/anyio/_core/_sockets.py :5 import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/anyio/abc/_eventloop.py :10 from socket import AddressFamily, SocketKind, socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/anyio/abc/_sockets.py :4 import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/anyio/pytest_plugin.py :3 import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/click/_termui_impl.py :680 from urllib.parse import unquote
  • net game4automation-realvirtual-MCP-a18828a/Lib/cryptography/hazmat/primitives/twofactor/hotp.py :9 from urllib.parse import quote, urlencode
  • net game4automation-realvirtual-MCP-a18828a/Lib/httpcore/_backends/sync.py :4 import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/httpcore/_models.py :6 import urllib.parse
  • net game4automation-realvirtual-MCP-a18828a/Lib/httpcore/_utils.py :4 import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/httpx/_api.py :96 >>> import httpx
  • net game4automation-realvirtual-MCP-a18828a/Lib/httpx/_auth.py :9 from urllib.request import parse_http_list
  • net game4automation-realvirtual-MCP-a18828a/Lib/httpx/_client.py :603 >>> client = httpx.Client()
  • net game4automation-realvirtual-MCP-a18828a/Lib/httpx/_config.py :124 "httpx.Timeout must either include a default, or set all "
  • net game4automation-realvirtual-MCP-a18828a/Lib/httpx/_content.py :14 from urllib.parse import urlencode
  • net game4automation-realvirtual-MCP-a18828a/Lib/httpx/_exceptions.py :85 response = httpx.get("https://www.example.com")
  • net game4automation-realvirtual-MCP-a18828a/Lib/httpx/_models.py :9 import urllib.request
  • net game4automation-realvirtual-MCP-a18828a/Lib/httpx/_transports/asgi.py :68 transport = httpx.ASGITransport(
  • net game4automation-realvirtual-MCP-a18828a/Lib/httpx/_transports/base.py :42 with httpx.HTTPTransport() as transport:
  • net game4automation-realvirtual-MCP-a18828a/Lib/httpx/_transports/default.py :14 "all://": httpx.HTTPTransport(http2=True),
  • net game4automation-realvirtual-MCP-a18828a/Lib/httpx/_transports/wsgi.py :50 client = httpx.Client(app=app)
  • net game4automation-realvirtual-MCP-a18828a/Lib/httpx/_urls.py :4 from urllib.parse import parse_qs, unquote, urlencode
  • net game4automation-realvirtual-MCP-a18828a/Lib/httpx/_utils.py :7 from urllib.request import getproxies
  • net game4automation-realvirtual-MCP-a18828a/Lib/httpx_sse/_api.py :5 import httpx
  • net game4automation-realvirtual-MCP-a18828a/Lib/httpx_sse/_decoders.py :27 Mostly a copy of httpx._decoders.LineDecoder, but as per SSE spec, only \r\n, \r,
  • net game4automation-realvirtual-MCP-a18828a/Lib/httpx_sse/_exceptions.py :1 import httpx
  • net game4automation-realvirtual-MCP-a18828a/Lib/isapi/samples/redirector.py :20 from urllib.request import urlopen
  • net game4automation-realvirtual-MCP-a18828a/Lib/isapi/samples/redirector_asynch.py :8 import urllib.error
  • net game4automation-realvirtual-MCP-a18828a/Lib/isapi/samples/redirector_with_filter.py :36 import urllib.error
  • net game4automation-realvirtual-MCP-a18828a/Lib/jsonschema/_utils.py :2 from urllib.parse import urlsplit
  • net game4automation-realvirtual-MCP-a18828a/Lib/jsonschema/validators.py :11 from urllib.parse import unquote, urldefrag, urljoin, urlsplit
  • net game4automation-realvirtual-MCP-a18828a/Lib/jwt/jwks_client.py :4 import urllib.request
  • net game4automation-realvirtual-MCP-a18828a/Lib/mcp/client/__main__.py :5 from urllib.parse import urlparse
  • net game4automation-realvirtual-MCP-a18828a/Lib/mcp/client/auth/extensions/client_credentials.py :16 import httpx
  • net game4automation-realvirtual-MCP-a18828a/Lib/mcp/client/auth/oauth2.py :16 from urllib.parse import quote, urlencode, urljoin, urlparse
  • net game4automation-realvirtual-MCP-a18828a/Lib/mcp/client/auth/utils.py :3 from urllib.parse import urljoin, urlparse
  • net game4automation-realvirtual-MCP-a18828a/Lib/mcp/client/session_group.py :20 import httpx
  • net game4automation-realvirtual-MCP-a18828a/Lib/mcp/client/sse.py :5 from urllib.parse import parse_qs, urljoin, urlparse
  • net game4automation-realvirtual-MCP-a18828a/Lib/mcp/client/streamable_http.py :19 import httpx
  • net game4automation-realvirtual-MCP-a18828a/Lib/mcp/server/auth/middleware/client_auth.py :6 from urllib.parse import unquote
  • net game4automation-realvirtual-MCP-a18828a/Lib/mcp/server/auth/provider.py :3 from urllib.parse import parse_qs, urlencode, urlparse, urlunparse
  • net game4automation-realvirtual-MCP-a18828a/Lib/mcp/server/auth/routes.py :3 from urllib.parse import urlparse
  • net game4automation-realvirtual-MCP-a18828a/Lib/mcp/server/fastmcp/resources/types.py :11 import httpx
  • net game4automation-realvirtual-MCP-a18828a/Lib/mcp/server/sse.py :43 from urllib.parse import quote
  • net game4automation-realvirtual-MCP-a18828a/Lib/mcp/shared/_httpx_utils.py :5 import httpx
  • net game4automation-realvirtual-MCP-a18828a/Lib/mcp/shared/auth_utils.py :4 from urllib.parse import urlparse, urlsplit, urlunsplit
  • net game4automation-realvirtual-MCP-a18828a/Lib/mcp/shared/session.py :9 import httpx
  • net game4automation-realvirtual-MCP-a18828a/Lib/referencing/_core.py :6 from urllib.parse import unquote, urldefrag, urljoin
  • net game4automation-realvirtual-MCP-a18828a/Lib/starlette/authentication.py :7 from urllib.parse import urlencode
  • net game4automation-realvirtual-MCP-a18828a/Lib/starlette/datastructures.py :12 from urllib.parse import SplitResult, parse_qsl, urlencode, urlsplit
  • net game4automation-realvirtual-MCP-a18828a/Lib/starlette/formparsers.py :8 from urllib.parse import unquote_plus
  • net game4automation-realvirtual-MCP-a18828a/Lib/starlette/responses.py :17 from urllib.parse import quote
  • net game4automation-realvirtual-MCP-a18828a/Lib/starlette/testclient.py :21 from urllib.parse import unquote, urljoin
  • net game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/_subprocess.py :13 from socket import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/config.py :9 import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/protocols/http/h11_impl.py :9 from urllib.parse import unquote
  • net game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/protocols/http/httptools_impl.py :8 import urllib
  • net game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/protocols/utils.py :4 import urllib.parse
  • net game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/protocols/websockets/websockets_impl.py :8 from urllib.parse import unquote
  • net game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/protocols/websockets/websockets_sansio_impl.py :9 from urllib.parse import unquote
  • net game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/protocols/websockets/wsproto_impl.py :6 from urllib.parse import unquote
  • net game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/server.py :9 import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/supervisors/basereload.py :10 from socket import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/supervisors/multiprocess.py :9 from socket import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/supervisors/statreload.py :6 from socket import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/supervisors/watchfilesreload.py :5 from socket import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/websockets/asyncio/async_timeout.py :79 ... async with aiohttp.get('https://github.com') as r:
  • net game4automation-realvirtual-MCP-a18828a/Lib/websockets/asyncio/client.py :6 import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/websockets/asyncio/connection.py :149 See :meth:`~socket.socket.getsockname`.
  • net game4automation-realvirtual-MCP-a18828a/Lib/websockets/asyncio/router.py :5 import urllib.parse
  • net game4automation-realvirtual-MCP-a18828a/Lib/websockets/asyncio/server.py :8 import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/websockets/legacy/client.py :9 import urllib.parse
  • net game4automation-realvirtual-MCP-a18828a/Lib/websockets/legacy/protocol.py :376 see :meth:`~socket.socket.getsockname`.
  • net game4automation-realvirtual-MCP-a18828a/Lib/websockets/legacy/server.py :9 import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/websockets/proxy.py :4 import urllib.parse
  • net game4automation-realvirtual-MCP-a18828a/Lib/websockets/sync/client.py :3 import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/websockets/sync/connection.py :6 import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/websockets/sync/router.py :5 import urllib.parse
  • net game4automation-realvirtual-MCP-a18828a/Lib/websockets/sync/server.py :9 import socket
  • net game4automation-realvirtual-MCP-a18828a/Lib/websockets/uri.py :4 import urllib.parse
  • net game4automation-realvirtual-MCP-a18828a/Lib/win32/Demos/security/sspi/fetch_url.py :12 import urllib.error

secrets 2

  • secrets game4automation-realvirtual-MCP-a18828a/Lib/adodbapi/process_connect_string.py :35 import getpass
  • secrets game4automation-realvirtual-MCP-a18828a/Lib/click/termui.py :55 import getpass

tool registrations 4

  • my_tool game4automation-realvirtual-MCP-a18828a/Lib/mcp/server/fastmcp/server.py :473
  • tool_with_context game4automation-realvirtual-MCP-a18828a/Lib/mcp/server/fastmcp/server.py :477
  • async_tool game4automation-realvirtual-MCP-a18828a/Lib/mcp/server/fastmcp/server.py :482
  • my_tool game4automation-realvirtual-MCP-a18828a/Lib/mcp/server/fastmcp/server.py :1107

install hooks 1

  • setup.py game4automation-realvirtual-MCP-a18828a/Lib/adodbapi/setup.py :46 cmdclass={"build_py": build_py},

declared dependencies 2

  • mcp@>=1.8.0
  • websockets@>=12.0

perm:untrusted 1

  • untrusted game4automation-realvirtual-MCP-a18828a/Lib/jsonschema/validators.py :1224 result = requests.get(uri).json()

transport_posture 2

  • punycode (IDN homograph) host in endpoint game4automation-realvirtual-MCP-a18828a/Lib/httpx/_urls.py :47 url = httpx.URL("http://xn--fiqs8s.icom.museum")
  • network-listening, binds all interfaces, no auth detected game4automation-realvirtual-MCP-a18828a/Lib/uvicorn/server.py :204 host = "0.0.0.0" if config.host is None else config.host