github Python analyzed 360ece2

StealHD/infohub-light

github

Privacy-first, self-hosted multi-user information hub for RSS, GitHub, Reddit, Telegram, Hacker News, and MCP.

maintainer
StealHD
licence
MIT
first seen
2026-08-20
last seen
2026-09-17
releases · 30d
16
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 22 tools
transport stdio · streamable-http · http counts 22 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • apply_subscription_change
  • apply_system_settings_change
  • diagnose_job
  • diagnose_source
  • get_item
  • get_job
  • get_my_feed
  • get_source_setup_guide
  • list_available_sources
  • list_jobs
  • list_my_information_automations
  • list_subscriptions
  • list_system_settings
  • prepare_create_subscription
  • prepare_delete_subscription
  • prepare_information_automation
  • prepare_update_subscription
  • prepare_update_system_settings
  • query_operation_logs
  • resolve_source
  • search_bilibili_users
  • source_health
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 360ece2 · analyzer v33 · 1d ago

skills & prompt files 3

danger signals20

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

code files: 1411

filesystem 210

  • fs (weak) StealHD-infohub-light-360ece2/scripts/actorops_migration_safety.py :7 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/actorops_v2_cutover.py :13 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/audit_actorops_v2_legacy_costs.py :15 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/backfill_source_avatars.py :10 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/benchmark_remote_mcp.py :15 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/bootstrap_local_sources.py :9 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/check_code_size.py :14 from pathlib import Path, PurePosixPath
  • fs (weak) StealHD-infohub-light-360ece2/scripts/check_e2e_contract.py :9 from pathlib import Path, PurePosixPath
  • fs (weak) StealHD-infohub-light-360ece2/scripts/check_markdown_controls.py :10 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/check_observability_contract.py :10 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/code_size_policy.py :8 from pathlib import Path, PurePosixPath
  • fs (weak) StealHD-infohub-light-360ece2/scripts/configure_managed_host.py :6 from pathlib import Path
show 28 more
  • fs (weak) StealHD-infohub-light-360ece2/scripts/deepseek_analysis_smoke.py :9 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/finalize_actorops_v1_historical_costs.py :16 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/install_analysis_supervisor.py :4 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/manage_agent_connection.py :7 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/manage_information_connector.py :8 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/manage_reminder_delegation.py :9 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/managed_host_command.py :7 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_actorops_v2.py :12 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_actorops_v2_attempt_recovery.py :11 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_actorops_v2_operator_controls.py :12 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_actorops_v2_resilience.py :11 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_actorops_v2_revalidation.py :11 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_actorops_v2_sampling.py :11 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_actorops_v2_single_track.py :11 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_actorops_v2_stability.py :11 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_actorops_v2_verified_replacement.py :11 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_agent_access_v42.py :7 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_agent_analysis_v44.py :8 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_agent_cleanup_v43.py :7 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_agent_connections_v37.py :11 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_agent_skill_policy_v41.py :11 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_apify_actor_auto_pool_v25.py :11 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_apify_actor_canary_batches_v17.py :12 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_apify_actor_manual_pool_selection_v19.py :12 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_apify_actor_ops_v15.py :15 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_apify_actor_pool_management_v22.py :11 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_apify_actor_pool_staging_v18.py :12 from pathlib import Path
  • fs (weak) StealHD-infohub-light-360ece2/scripts/migrate_apify_actor_resilience_v21.py :14 from pathlib import Path

170 more not shown — this panel samples each group; the count above is the real total.

shell / exec 39

  • shell (weak) StealHD-infohub-light-360ece2/scripts/check_code_size.py :10 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/scripts/check_markdown_controls.py :8 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/scripts/code_size_policy.py :7 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/scripts/finalize_actorops_v1_historical_costs.py :302 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/scripts/install_analysis_supervisor.py :5 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/scripts/openclaw_setup_process.py :8 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/scripts/patch_openclaw_codex_model_list_timeout.py :7 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/scripts/provision_openclaw_agent.py :8 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/scripts/release_evidence.py :5 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/scripts/release_fast.py :9 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/scripts/release_image_smoke.py :7 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/scripts/release_light_checks.py :6 import subprocess
show 27 more
  • shell (weak) StealHD-infohub-light-360ece2/scripts/release_mode.py :7 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/scripts/retire_actorops_v1.py :12 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/scripts/runtime_health.py :9 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/scripts/service_real_source_smoke.py :12 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/scripts/service_stack_smoke.py :13 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/scripts/test_gate.py :11 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/scripts/test_gate_changes.py :9 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/scripts/test_gate_ci.py :8 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/scripts/test_gate_evidence.py :10 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/tests/test_agent_native_config.py :7 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/tests/test_backfill_source_avatars.py :4 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/tests/test_code_size.py :6 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/tests/test_fast_release_artifacts.py :3 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/tests/test_fast_release_modes.py :3 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/tests/test_gate_dedup.py :4 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/tests/test_gate_workflow_scheduling.py :7 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/tests/test_light_runtime_scripts.py :5 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/tests/test_markdown_controls.py :4 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/tests/test_migrate_apify_actor_routing_v13.py :6 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/tests/test_native_mcp_installed.py :7 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/tests/test_native_mcp_probe.py :5 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/tests/test_openclaw_fork_model_patch.py :2 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/tests/test_release_preflight.py :5 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/tests/test_service_import_boundaries.py :1 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/tests/test_setup_openclaw_local.py :8 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/tests/test_test_gate.py :4 import subprocess
  • shell (weak) StealHD-infohub-light-360ece2/tests/test_test_gate_ci.py :5 import subprocess

network 122

  • net (weak) StealHD-infohub-light-360ece2/scripts/audit_actorops_v2_legacy_costs.py :17 from urllib.parse import quote
  • net (weak) StealHD-infohub-light-360ece2/scripts/benchmark_remote_mcp.py :22 import httpx
  • net (weak) StealHD-infohub-light-360ece2/scripts/configure_managed_host.py :22 from urllib.parse import urlsplit
  • net (weak) StealHD-infohub-light-360ece2/scripts/migrate_rsshub_sources.py :20 from urllib.parse import urlsplit
  • net (weak) StealHD-infohub-light-360ece2/scripts/openclaw_setup_gateway.py :7 import urllib.error
  • net (weak) StealHD-infohub-light-360ece2/scripts/openclaw_setup_validation.py :6 from urllib.parse import urlsplit
  • net (weak) StealHD-infohub-light-360ece2/scripts/remote_mcp_read_canary.py :15 from urllib.parse import urlsplit
  • net (weak) StealHD-infohub-light-360ece2/scripts/run_information_connector.py :7 import httpx
  • net (weak) StealHD-infohub-light-360ece2/scripts/service_api_smoke.py :9 import urllib.error
  • net (weak) StealHD-infohub-light-360ece2/scripts/service_real_source_smoke.py :15 import urllib.error
  • net (weak) StealHD-infohub-light-360ece2/scripts/service_stack_smoke.py :16 import urllib.error
  • net StealHD-infohub-light-360ece2/src/ai/analyzer.py :8 import httpx
show 28 more
  • net StealHD-infohub-light-360ece2/src/api/actorops_v2_operator_routes.py :11 import httpx
  • net StealHD-infohub-light-360ece2/src/api/openclaw_relay_routes.py :7 from urllib.parse import urlsplit
  • net StealHD-infohub-light-360ece2/src/api/server.py :17 from urllib.parse import urlparse
  • net StealHD-infohub-light-360ece2/src/api/web_routes.py :6 from urllib.parse import unquote
  • net StealHD-infohub-light-360ece2/src/apify_actor_identity.py :7 from urllib.parse import parse_qsl, urlencode, urlsplit, urlunsplit
  • net StealHD-infohub-light-360ece2/src/content_identity.py :4 from urllib.parse import urlsplit
  • net StealHD-infohub-light-360ece2/src/mcp/remote_config.py :8 from urllib.parse import urlsplit
  • net StealHD-infohub-light-360ece2/src/orchestrator.py :9 import httpx
  • net StealHD-infohub-light-360ece2/src/rsshub.py :14 from urllib.parse import urlsplit, urlunsplit
  • net StealHD-infohub-light-360ece2/src/scrapers/apify_client.py :15 from urllib.parse import quote
  • net StealHD-infohub-light-360ece2/src/scrapers/apify_social.py :14 from urllib.parse import urlparse
  • net StealHD-infohub-light-360ece2/src/scrapers/base.py :6 import httpx
  • net StealHD-infohub-light-360ece2/src/scrapers/github.py :8 from urllib.parse import quote
  • net StealHD-infohub-light-360ece2/src/scrapers/hackernews.py :9 import httpx
  • net StealHD-infohub-light-360ece2/src/scrapers/openbb.py :35 import httpx
  • net StealHD-infohub-light-360ece2/src/scrapers/ossinsight.py :13 import httpx
  • net StealHD-infohub-light-360ece2/src/scrapers/reddit.py :13 import httpx
  • net StealHD-infohub-light-360ece2/src/scrapers/rss.py :12 from urllib.parse import urljoin, urlparse
  • net StealHD-infohub-light-360ece2/src/scrapers/telegram.py :10 import httpx
  • net StealHD-infohub-light-360ece2/src/scrapers/twitter.py :12 import httpx
  • net StealHD-infohub-light-360ece2/src/security.py :14 from urllib.parse import unquote, urlsplit
  • net StealHD-infohub-light-360ece2/src/services/actorops/adapters/instagram/common.py :6 from urllib.parse import urlsplit
  • net StealHD-infohub-light-360ece2/src/services/actorops/adapters/instagram/media_inventory.py :7 from urllib.parse import urlsplit, urlunsplit
  • net StealHD-infohub-light-360ece2/src/services/actorops/adapters/x/common.py :6 from urllib.parse import urlsplit
  • net StealHD-infohub-light-360ece2/src/services/actorops/adapters/youtube/common.py :6 from urllib.parse import parse_qsl, urlsplit
  • net StealHD-infohub-light-360ece2/src/services/actorops/apify_catalog.py :9 from urllib.parse import quote
  • net StealHD-infohub-light-360ece2/src/services/actorops/apify_ledger.py :9 import httpx
  • net StealHD-infohub-light-360ece2/src/services/actorops/apify_remote.py :7 from urllib.parse import quote

82 more not shown — this panel samples each group; the count above is the real total.

secrets 12

  • secrets (weak) StealHD-infohub-light-360ece2/scripts/service_api_smoke.py :270 parser.add_argument("--password", default=os.getenv("HORIZON_AUTH_PASSWORD"))
  • secrets (weak) StealHD-infohub-light-360ece2/scripts/service_real_source_smoke.py :93 if os.getenv("APIFY_TOKEN"):
  • secrets (weak) StealHD-infohub-light-360ece2/scripts/service_stack_smoke.py :341 parser.add_argument("--password", default=os.getenv("HORIZON_AUTH_PASSWORD"))
  • secrets (weak) StealHD-infohub-light-360ece2/scripts/source_contract_smoke.py :192 include_apify = bool(os.getenv("APIFY_TOKEN") or os.getenv("APIFY_TOKEN_2"))
  • secrets StealHD-infohub-light-360ece2/src/auth.py :7 import getpass
  • secrets StealHD-infohub-light-360ece2/src/scrapers/github.py :28 self.token = os.getenv("GITHUB_TOKEN")
  • secrets StealHD-infohub-light-360ece2/src/services/agent_connections/ssh_host.py :37 identity = protected_file(os.getenv('HORIZON_OPENCLAW_MANAGED_SSH_KEY', ''))
  • secrets StealHD-infohub-light-360ece2/src/services/openclaw_relay/settings.py :16 token = os.environ.get('HORIZON_OPENCLAW_SERVER_TOKEN', '')
  • secrets StealHD-infohub-light-360ece2/src/services/source_probe.py :82 token = os.getenv("GITHUB_TOKEN")
  • secrets StealHD-infohub-light-360ece2/src/storage/service_store.py :948 password = os.getenv("HORIZON_AUTH_PASSWORD")
  • secrets (weak) StealHD-infohub-light-360ece2/tests/test_secret_store.py :27 assert os.environ["APIFY_TOKEN"] == "first-value"
  • secrets (weak) StealHD-infohub-light-360ece2/tests/test_test_gate.py :732 "print(os.environ['DEMO_API_TOKEN']); "

database 131

  • db (weak) StealHD-infohub-light-360ece2/scripts/actorops_migration_safety.py :5 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/actorops_v2_cutover.py :10 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/audit_actorops_v2_legacy_costs.py :10 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/finalize_actorops_v1_historical_costs.py :11 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_actorops_v2.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_actorops_v2_attempt_recovery.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_actorops_v2_operator_controls.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_actorops_v2_resilience.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_actorops_v2_revalidation.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_actorops_v2_sampling.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_actorops_v2_single_track.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_actorops_v2_stability.py :9 import sqlite3
show 28 more
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_actorops_v2_verified_replacement.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_agent_access_v42.py :5 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_agent_analysis_v44.py :5 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_agent_cleanup_v43.py :5 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_agent_connections_v37.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_agent_skill_policy_v41.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_apify_actor_auto_pool_v25.py :8 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_apify_actor_canary_batches_v17.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_apify_actor_manual_pool_selection_v19.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_apify_actor_ops_v15.py :11 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_apify_actor_pool_management_v22.py :8 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_apify_actor_pool_staging_v18.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_apify_actor_resilience_v21.py :10 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_apify_actor_routing_v13.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_apify_actor_validation_cap_v27.py :8 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_apify_actor_validation_tuning_v20.py :11 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_apify_discovery_limits_v16.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_content_timeline_v11.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_feed_storage_v3.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_information_automations_v38.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_information_connector_v39.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_information_recovery_v45.py :5 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_information_unified_v40.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_notification_channels_v15.py :9 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_notification_destinations_v47.py :8 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_notification_targets_v16.py :10 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_rsshub_sources.py :16 import sqlite3
  • db (weak) StealHD-infohub-light-360ece2/scripts/migrate_secret_connection_profiles_v18.py :9 import sqlite3

91 more not shown — this panel samples each group; the count above is the real total.

tool registrations 22

  • diagnose_source StealHD-infohub-light-360ece2/src/mcp/remote_diagnostic_tools.py :22
  • diagnose_job StealHD-infohub-light-360ece2/src/mcp/remote_diagnostic_tools.py :34
  • query_operation_logs StealHD-infohub-light-360ece2/src/mcp/remote_diagnostic_tools.py :46
  • list_my_information_automations StealHD-infohub-light-360ece2/src/mcp/remote_information_tools.py :53
  • prepare_information_automation StealHD-infohub-light-360ece2/src/mcp/remote_information_tools.py :59
  • get_my_feed StealHD-infohub-light-360ece2/src/mcp/remote_read_tools.py :25
  • get_item StealHD-infohub-light-360ece2/src/mcp/remote_read_tools.py :44
  • list_subscriptions StealHD-infohub-light-360ece2/src/mcp/remote_read_tools.py :59
  • source_health StealHD-infohub-light-360ece2/src/mcp/remote_read_tools.py :68
  • list_jobs StealHD-infohub-light-360ece2/src/mcp/remote_read_tools.py :73
  • get_job StealHD-infohub-light-360ece2/src/mcp/remote_read_tools.py :86
  • get_source_setup_guide StealHD-infohub-light-360ece2/src/mcp/remote_read_tools.py :91
show 10 more
  • search_bilibili_users StealHD-infohub-light-360ece2/src/mcp/remote_read_tools.py :106
  • resolve_source StealHD-infohub-light-360ece2/src/mcp/remote_read_tools.py :120
  • list_available_sources StealHD-infohub-light-360ece2/src/mcp/remote_read_tools.py :152
  • prepare_create_subscription StealHD-infohub-light-360ece2/src/mcp/remote_subscription_tools.py :35
  • prepare_update_subscription StealHD-infohub-light-360ece2/src/mcp/remote_subscription_tools.py :65
  • prepare_delete_subscription StealHD-infohub-light-360ece2/src/mcp/remote_subscription_tools.py :87
  • apply_subscription_change StealHD-infohub-light-360ece2/src/mcp/remote_subscription_tools.py :105
  • list_system_settings StealHD-infohub-light-360ece2/src/mcp/remote_system_settings_tools.py :37
  • prepare_update_system_settings StealHD-infohub-light-360ece2/src/mcp/remote_system_settings_tools.py :46
  • apply_system_settings_change StealHD-infohub-light-360ece2/src/mcp/remote_system_settings_tools.py :63

declared dependencies 20

  • mcp@>=1.26,<2
  • httpx@>=0.27.0
  • websockets@>=15,<16
  • cryptography@>=44
  • feedparser@>=6.0.11
  • anthropic@>=0.39.0
  • openai@>=1.54.0
  • google-genai@>=0.3.0
  • pydantic@>=2.9.0
  • python-dateutil@>=2.9.0
  • rich@>=13.9.0
  • tenacity@>=9.0.0
show 8 more
  • python-dotenv@>=1.0.0
  • ddgs@>=7.0.0
  • beautifulsoup4@>=4.12.0
  • fastapi@>=0.115.0
  • uvicorn@>=0.30.0
  • pytest@>=8.0.0
  • openbb@>=4.4.0
  • openbb-benzinga@>=1.6.0