The visual compute platform for AI and robotics — connecting agents, GPU workloads, simulation, training, and real robots through typed workflows.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · streamable-http · http counts 31 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
add_node
-
close_editor_tab
-
connect_nodes
-
cook_editor_node
-
create_editor_workflow_tab
-
create_node_type
-
create_workflow
-
delete_learned_node
-
export_python
-
get_editor_graph
-
get_editor_runtime_status
-
get_learned_node_source
-
get_node_schema
-
get_run
-
list_learned_nodes
-
list_nodes
-
list_recent_runs
-
list_saved_workflows
-
list_templates
-
load_saved_workflow_in_editor
-
load_workflow
-
open_workflow_in_editor_tab
-
organize_editor_graph
-
promote_learned_node
-
rename_editor_tab
-
run_template_in_editor
-
run_workflow
-
save_editor_workflow
-
save_workflow
-
stop_editor_runtime_services
-
validate_workflow
prompt-surface
shipped agent-instruction files + hidden-content / dangerous-code findings —
quoted from the analyzed source
analyzed commit 10e2566 · analyzer v33 · 10h ago
skills & prompt files 5
- skill temiroff-Blacknode-10e2566/.agents/skills/blacknode-development/SKILL.md
- skill temiroff-Blacknode-10e2566/.agents/skills/blacknode-workflow/SKILL.md
- agent-rules temiroff-Blacknode-10e2566/AGENTS.md
- skill temiroff-Blacknode-10e2566/skills/blacknode-development/SKILL.md
- skill temiroff-Blacknode-10e2566/skills/blacknode-workflow/SKILL.md
danger signals8
- dynamic code execution eval()/exec() temiroff-Blacknode-10e2566/editor-server/server.py :13434
exec(compile(req.code, "<custom>", "exec"), globs) - dynamic code execution eval()/exec() temiroff-Blacknode-10e2566/python/blacknode/nodes/ai.py :497
exec(compile(code, "<PythonFn>", "exec"), {"__builtins__": __builtins__}, local_ns) - dynamic code execution eval()/exec() temiroff-Blacknode-10e2566/tests/test_app_deployments.py :382
exec(run_app_source, run_app_namespace) - dynamic code execution __import__ sink temiroff-Blacknode-10e2566/tests/test_deployments.py :307
own = __import__("os").getpid() - dynamic code execution eval()/exec() temiroff-Blacknode-10e2566/tests/test_editor_devices.py :2088
exec( - dynamic code execution eval()/exec() temiroff-Blacknode-10e2566/tests/test_real_repo_learned_demo.py :18
exec(code, namespace) - suspicious endpoint api.telegram.org
expected for this server's purpose
temiroff-Blacknode-10e2566/python/blacknode/integrations/telegram_runtime.py :50
with _ur.urlopen(f"https://api.telegram.org/bot{bot_token}/getMe", timeout=8) as r: - suspicious endpoint api.telegram.org
expected for this server's purpose
temiroff-Blacknode-10e2566/python/blacknode/nodes/messaging.py :44
return _post_json(f"https://api.telegram.org/bot{token}/sendMessage", payload)
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 293
filesystem 112
- fs temiroff-Blacknode-10e2566/editor-server/artifact_store.py :11
from pathlib import Path - fs temiroff-Blacknode-10e2566/editor-server/device_installer.py :13
import shutil - fs temiroff-Blacknode-10e2566/editor-server/device_registry.py :15
from pathlib import Path - fs temiroff-Blacknode-10e2566/editor-server/filesystem_access.py :6
from pathlib import Path - fs temiroff-Blacknode-10e2566/editor-server/local_runtime.py :8
import shutil - fs temiroff-Blacknode-10e2566/editor-server/project_store.py :10
from pathlib import Path - fs temiroff-Blacknode-10e2566/editor-server/run_store.py :25
from pathlib import Path - fs temiroff-Blacknode-10e2566/editor-server/server.py :9
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/examples/_bootstrap.py :4
from pathlib import Path - fs temiroff-Blacknode-10e2566/python/blacknode/app_deployments.py :6
from pathlib import Path - fs temiroff-Blacknode-10e2566/python/blacknode/app_packages.py :8
from pathlib import Path - fs temiroff-Blacknode-10e2566/python/blacknode/cli.py :8
import shutil - fs temiroff-Blacknode-10e2566/python/blacknode/deployments.py :30
import shutil - fs temiroff-Blacknode-10e2566/python/blacknode/discovery.py :7
from pathlib import Path - fs temiroff-Blacknode-10e2566/python/blacknode/graph.py :211
with open(path, "w") as f: - fs temiroff-Blacknode-10e2566/python/blacknode/learned/manifest.py :7
from pathlib import Path - fs temiroff-Blacknode-10e2566/python/blacknode/learned/registry.py :6
from pathlib import Path - fs temiroff-Blacknode-10e2566/python/blacknode/mcp/tools.py :14
import shutil - fs temiroff-Blacknode-10e2566/python/blacknode/nodes/image.py :33
img = pil.open(io.BytesIO(raw)).convert("RGB") - fs temiroff-Blacknode-10e2566/python/blacknode/nodes/io.py :6
with open(ctx.get("path", ""), encoding=ctx.get("encoding", "utf-8")) as f: - fs temiroff-Blacknode-10e2566/python/blacknode/nodes/nvidia.py :5
from pathlib import Path - fs temiroff-Blacknode-10e2566/python/blacknode/nodes/trajectory.py :31
from pathlib import Path - fs temiroff-Blacknode-10e2566/python/blacknode/packages.py :25
import shutil - fs temiroff-Blacknode-10e2566/python/blacknode/providers/keys.py :5
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/python/blacknode/sandbox/cutlass_worker.py :21
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/python/blacknode/sandbox/docker_runner.py :6
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/python/blacknode/sandbox/runner_template.py :5
from pathlib import Path - fs temiroff-Blacknode-10e2566/python/blacknode/training/export.py :24
from pathlib import Path - fs temiroff-Blacknode-10e2566/python/blacknode/vision_models.py :10
from pathlib import Path - fs temiroff-Blacknode-10e2566/python/blacknode/workflow.py :10
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/scripts/_cutlass_demo.py :11
open(path, "wb").write(base64.b64decode(data_url.split(",", 1)[1])) - fs (weak) temiroff-Blacknode-10e2566/scripts/_cutlass_heavy.py :3
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/scripts/_cutlass_template_test.py :5
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/scripts/complex_learned_demo.py :17
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/scripts/demo_dry_run.py :18
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/scripts/real_repo_learned_demo.py :16
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/scripts/update_device_source_lock.py :11
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/conftest.py :4
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/learned/test_manifest.py :6
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/learned/test_registry.py :6
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/learned/test_registry_integration.py :7
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/sandbox/test_docker_runner.py :5
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/sandbox/test_docker_runner_integration.py :5
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/sandbox/test_static.py :47
" return open(path).read()\n" - fs (weak) temiroff-Blacknode-10e2566/tests/test_agent_skill.py :4
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_api_keys.py :7
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_app_deployments.py :9
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_cli.py :9
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_compute_device_inspection.py :7
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_create_node_type.py :5
import shutil - fs (weak) temiroff-Blacknode-10e2566/tests/test_create_node_type_integration.py :6
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_custom_nodes_and_library.py :5
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_deployments.py :14
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_device_source_lock_script.py :7
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_driver_registry.py :8
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_api_keys.py :6
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_app_mode.py :6
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_app_packages.py :7
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_canvas_interactions.py :1
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_cloud.py :8
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_custom_nodes.py :5
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_deployed_capabilities.py :1
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_deployments.py :12
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_depth_cloud_color_modes.py :1
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_depth_viewer.py :6
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_device_layout.py :1
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_devices.py :18
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_devices_refined.py :1
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_family_colors.py :1
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_graph_run.py :7
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_hosted_mode.py :5
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_imu_viewer.py :1
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_learned_nodes.py :9
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_live_controls.py :1
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_mcp_actions.py :6
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_media_output.py :1
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_onboarding_state.py :5
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_operator_view.py :1
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_package_welcome.py :1
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_point_cloud_viewer.py :1
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_projects.py :7
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_robot_joint_ports.py :4
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_robot_profile_controls.py :1
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_ros2_graph_explorer.py :1
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_runtime.py :9
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_simulation_viewer.py :1
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_template_groups.py :1
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_template_packages.py :5
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_typography.py :7
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_variadic_ports.py :4
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_editor_workflow_shortcuts.py :1
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_examples.py :10
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_filesystem_access.py :6
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_framework_exporters.py :7
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_io.py :6
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_launchers.py :2
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_mcp_server.py :6
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_mcp_tools.py :6
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_nim_finetune.py :7
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_nvidia_nodes.py :5
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_package_index.py :2
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_packages.py :455
"from pathlib import Path\nPath('component-hook-ran').write_text('yes')\n", - fs (weak) temiroff-Blacknode-10e2566/tests/test_packages_dependency_check.py :3
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_python_roundtrip.py :13
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_rating.py :6
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_real_repo_learned_demo.py :7
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_run_store.py :6
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_slack_runtime.py :9
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_telegram_runtime.py :8
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_templates.py :6
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_training_export.py :8
from pathlib import Path - fs (weak) temiroff-Blacknode-10e2566/tests/test_trajectory.py :6
from pathlib import Path
shell / exec 20
- shell temiroff-Blacknode-10e2566/editor-server/device_installer.py :15
import subprocess - shell temiroff-Blacknode-10e2566/editor-server/local_runtime.py :11
import subprocess - shell temiroff-Blacknode-10e2566/editor-server/server.py :211
out = subprocess.run( - shell temiroff-Blacknode-10e2566/python/blacknode/app_packages.py :5
import subprocess - shell temiroff-Blacknode-10e2566/python/blacknode/cli.py :9
import subprocess - shell temiroff-Blacknode-10e2566/python/blacknode/deployments.py :32
import subprocess - shell temiroff-Blacknode-10e2566/python/blacknode/nodes/nvidia.py :7
import subprocess - shell temiroff-Blacknode-10e2566/python/blacknode/packages.py :27
import subprocess - shell temiroff-Blacknode-10e2566/python/blacknode/process.py :13
import subprocess - shell (weak) temiroff-Blacknode-10e2566/python/blacknode/sandbox/cutlass_worker.py :18
import subprocess - shell (weak) temiroff-Blacknode-10e2566/scripts/demo_dry_run.py :12
import subprocess - shell (weak) temiroff-Blacknode-10e2566/scripts/smoke_test_mcp.py :10
import subprocess - shell (weak) temiroff-Blacknode-10e2566/tests/sandbox/test_static.py :23
result = check_safe("from subprocess import run\n") - shell (weak) temiroff-Blacknode-10e2566/tests/test_app_deployments.py :5
import subprocess - shell (weak) temiroff-Blacknode-10e2566/tests/test_complex_learned_demo.py :4
import subprocess - shell (weak) temiroff-Blacknode-10e2566/tests/test_demo_dry_run.py :4
import subprocess - shell (weak) temiroff-Blacknode-10e2566/tests/test_editor_devices.py :10
import subprocess - shell (weak) temiroff-Blacknode-10e2566/tests/test_editor_mcp_actions.py :4
import subprocess - shell (weak) temiroff-Blacknode-10e2566/tests/test_packages.py :4
import subprocess - shell (weak) temiroff-Blacknode-10e2566/tests/test_python_roundtrip.py :9
import subprocess
network 25
- net temiroff-Blacknode-10e2566/editor-server/cloud_client.py :7
import urllib.error - net temiroff-Blacknode-10e2566/editor-server/device_installer.py :14
import socket - net temiroff-Blacknode-10e2566/editor-server/device_registry.py :11
import urllib.error - net temiroff-Blacknode-10e2566/editor-server/local_runtime.py :9
import socket - net temiroff-Blacknode-10e2566/editor-server/server.py :5
import urllib.error, urllib.parse, urllib.request - net temiroff-Blacknode-10e2566/python/blacknode/app_packages.py :494
import socket - net temiroff-Blacknode-10e2566/python/blacknode/cli.py :11
import urllib.error - net temiroff-Blacknode-10e2566/python/blacknode/integrations/slack_runtime.py :272
import urllib.request as _ur - net temiroff-Blacknode-10e2566/python/blacknode/integrations/status.py :15
import urllib.request - net temiroff-Blacknode-10e2566/python/blacknode/integrations/telegram_runtime.py :44
import urllib.request as _ur - net temiroff-Blacknode-10e2566/python/blacknode/live_sync.py :7
import urllib.request - net temiroff-Blacknode-10e2566/python/blacknode/mcp/tools.py :17
from urllib import error as urllib_error - net temiroff-Blacknode-10e2566/python/blacknode/nodes/api.py :18
import urllib.error - net temiroff-Blacknode-10e2566/python/blacknode/nodes/io.py :24
import urllib.request - net temiroff-Blacknode-10e2566/python/blacknode/nodes/messaging.py :17
import urllib.request - net temiroff-Blacknode-10e2566/python/blacknode/nodes/nvidia.py :10
from urllib import error as urllib_error - net temiroff-Blacknode-10e2566/python/blacknode/nodes/search.py :10
from urllib.parse import quote_plus - net temiroff-Blacknode-10e2566/python/blacknode/operator_views.py :6
from urllib.parse import urlsplit - net (weak) temiroff-Blacknode-10e2566/scripts/demo_dry_run.py :17
import urllib.request - net (weak) temiroff-Blacknode-10e2566/scripts/update_device_source_lock.py :8
import urllib.error - net (weak) temiroff-Blacknode-10e2566/tests/sandbox/test_docker_runner_integration.py :46
"import requests\n" - net (weak) temiroff-Blacknode-10e2566/tests/test_app_deployments.py :4
import socket - net (weak) temiroff-Blacknode-10e2566/tests/test_editor_depth_viewer.py :59
server.urllib.request, - net (weak) temiroff-Blacknode-10e2566/tests/test_editor_devices.py :16
import urllib.error - net (weak) temiroff-Blacknode-10e2566/tests/test_io.py :39
with patch("urllib.request.urlopen", fake_urlopen):
secrets 6
- secrets temiroff-Blacknode-10e2566/editor-server/cloud_client.py :37
api_key=os.environ.get("BLACKNODE_CLOUD_API_KEY", "").strip(), - secrets temiroff-Blacknode-10e2566/python/blacknode/nodes/ai.py :580
api_key=ctx.get("api_key") or os.environ.get("OPENAI_API_KEY", "sk-local"), - secrets temiroff-Blacknode-10e2566/python/blacknode/nodes/nvidia.py :168
"ngc_api_key": "present" if os.environ.get("NGC_API_KEY") else "missing", - secrets temiroff-Blacknode-10e2566/python/blacknode/providers/anthropic_provider.py :10
self._client = anthropic.Anthropic(api_key=api_key or os.environ.get("ANTHROPIC_API_KEY")) - secrets temiroff-Blacknode-10e2566/python/blacknode/providers/openai_provider.py :87
api_key=api_key or os.environ.get("OPENAI_API_KEY", "sk-local"), - secrets (weak) temiroff-Blacknode-10e2566/scripts/update_device_source_lock.py :46
token = os.environ.get("GITHUB_TOKEN", "").strip()
database 1
- db temiroff-Blacknode-10e2566/python/blacknode/nodes/database.py :10
import sqlite3
tool registrations 31
- list_nodes temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :154
- get_node_schema temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :160
- list_templates temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :166
- load_workflow temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :172
- save_workflow temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :178
- create_workflow temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :194
- add_node temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :200
- connect_nodes temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :218
- validate_workflow temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :230
- run_workflow temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :236
- export_python temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :242
- create_node_type temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :248
- list_learned_nodes temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :270
- delete_learned_node temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :276
- get_learned_node_source temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :282
- promote_learned_node temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :288
- create_editor_workflow_tab temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :306
- open_workflow_in_editor_tab temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :315
- run_template_in_editor temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :331
- cook_editor_node temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :353
- get_editor_runtime_status temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :363
- stop_editor_runtime_services temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :369
- get_editor_graph temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :375
- save_editor_workflow temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :381
- list_saved_workflows temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :395
- list_recent_runs temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :401
- get_run temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :407
- load_saved_workflow_in_editor temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :413
- organize_editor_graph temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :429
- rename_editor_tab temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :435
- close_editor_tab temiroff-Blacknode-10e2566/python/blacknode/mcp/server.py :441
declared dependencies 25
- mcp@>=1.0,<2.0
- anthropic@>=0.25
- docker@>=7.1
- openai@>=1.0
- anyio@>=4.10,<4.15
- fastapi@>=0.110
- httpx@>=0.27
- httpx2@>=2.12
- pytest@*
- maturin@>=1.0,<2.0
- slack_bolt@>=1.18
- slack_sdk@>=3.27
- python-telegram-bot@>=20
- cupy-cuda12x@>=13
- numpy@>=1.24
- pillow@>=10
- serde@1
- serde_json@1
- tokio@1
- petgraph@0.6
- pyo3@0.28
- thiserror@1
- anyhow@1
- dashmap@5
- uuid@1
transport_posture 1
- binds all interfaces (0.0.0.0) temiroff-Blacknode-10e2566/tests/test_cli.py :262
host="0.0.0.0",