LICENSE
README.md
pyproject.toml
src/fd_daas_mcp/__init__.py
src/fd_daas_mcp/cli.py
src/fd_daas_mcp/models.py
src/fd_daas_mcp/registry.py
src/fd_daas_mcp/selfcheck.py
src/fd_daas_mcp/server.py
src/fd_daas_mcp.egg-info/PKG-INFO
src/fd_daas_mcp.egg-info/SOURCES.txt
src/fd_daas_mcp.egg-info/dependency_links.txt
src/fd_daas_mcp.egg-info/entry_points.txt
src/fd_daas_mcp.egg-info/requires.txt
src/fd_daas_mcp.egg-info/top_level.txt
src/fd_daas_mcp/mcp/alerts/alert_database.py
src/fd_daas_mcp/mcp/alerts/alert_tools.py
src/fd_daas_mcp/mcp/alerts/engine.py
src/fd_daas_mcp/mcp/alerts/expressions.py
src/fd_daas_mcp/mcp/alerts/messaging.py
src/fd_daas_mcp/mcp/alerts/selfcheck.py
src/fd_daas_mcp/mcp/alerts/server.py
src/fd_daas_mcp/mcp/alerts/notifiers/__init__.py
src/fd_daas_mcp/mcp/alerts/notifiers/base.py
src/fd_daas_mcp/mcp/alerts/notifiers/dingtalk.py
src/fd_daas_mcp/mcp/alerts/notifiers/discord.py
src/fd_daas_mcp/mcp/alerts/notifiers/feishu.py
src/fd_daas_mcp/mcp/alerts/notifiers/registry.py
src/fd_daas_mcp/mcp/alerts/notifiers/slack.py
src/fd_daas_mcp/mcp/alerts/notifiers/telegram.py
src/fd_daas_mcp/mcp/alerts/notifiers/twitter.py
src/fd_daas_mcp/mcp/alerts/notifiers/wecowork.py
src/fd_daas_mcp/mcp/composite/composite_database.py
src/fd_daas_mcp/mcp/composite/composite_tools.py
src/fd_daas_mcp/mcp/composite/seed_example.py
src/fd_daas_mcp/mcp/composite/selfcheck.py
src/fd_daas_mcp/mcp/composite/selfcheck_ui_tool.py
src/fd_daas_mcp/mcp/composite/server.py
src/fd_daas_mcp/mcp/composite/ui_tools.py
src/fd_daas_mcp/mcp/cron/agent_runner.py
src/fd_daas_mcp/mcp/cron/database.py
src/fd_daas_mcp/mcp/cron/main.py
src/fd_daas_mcp/mcp/cron/registry.py
src/fd_daas_mcp/mcp/cron/scheduler.py
src/fd_daas_mcp/mcp/cron/server.py
src/fd_daas_mcp/mcp/cron/tasks.py
src/fd_daas_mcp/mcp/cron/tasks/__init__.py
src/fd_daas_mcp/mcp/cron/tasks/fetch_via_leader.py
src/fd_daas_mcp/mcp/daas/README.md
src/fd_daas_mcp/mcp/daas/backfill_massive.py
src/fd_daas_mcp/mcp/daas/collection_writer.py
src/fd_daas_mcp/mcp/daas/daas_database.py
src/fd_daas_mcp/mcp/daas/daas_tools.py
src/fd_daas_mcp/mcp/daas/entity_collection_sync.py
src/fd_daas_mcp/mcp/daas/entity_collection_tools.py
src/fd_daas_mcp/mcp/daas/entity_rule_script.py
src/fd_daas_mcp/mcp/daas/entity_sync.py
src/fd_daas_mcp/mcp/daas/entity_tools.py
src/fd_daas_mcp/mcp/daas/fetch_data_cli.py
src/fd_daas_mcp/mcp/daas/indicator_collection_tools.py
src/fd_daas_mcp/mcp/daas/indicator_tools.py
src/fd_daas_mcp/mcp/daas/migrate_process_cron.py
src/fd_daas_mcp/mcp/daas/pipeline_tools.py
src/fd_daas_mcp/mcp/daas/process_api.py
src/fd_daas_mcp/mcp/daas/process_database.py
src/fd_daas_mcp/mcp/daas/process_tools.py
src/fd_daas_mcp/mcp/daas/register_us_leaders_cron.py
src/fd_daas_mcp/mcp/daas/registry_service.py
src/fd_daas_mcp/mcp/daas/rule_engine.py
src/fd_daas_mcp/mcp/daas/rule_tools.py
src/fd_daas_mcp/mcp/daas/seed_external_mcps.py
src/fd_daas_mcp/mcp/daas/seed_massive_endpoints.py
src/fd_daas_mcp/mcp/daas/seed_pipeline_from_mapping.py
src/fd_daas_mcp/mcp/daas/seed_starter_catalog.py
src/fd_daas_mcp/mcp/daas/seed_us_leaders_indicators.py
src/fd_daas_mcp/mcp/daas/selfcheck.py
src/fd_daas_mcp/mcp/daas/selfcheck_collection_writer.py
src/fd_daas_mcp/mcp/daas/selfcheck_entity_collection_script.py
src/fd_daas_mcp/mcp/daas/selfcheck_entity_collections.py
src/fd_daas_mcp/mcp/daas/selfcheck_indicator_scores.py
src/fd_daas_mcp/mcp/daas/selfcheck_massive_endpoints.py
src/fd_daas_mcp/mcp/daas/selfcheck_pipeline.py
src/fd_daas_mcp/mcp/daas/selfcheck_process.py
src/fd_daas_mcp/mcp/daas/selfcheck_scores.py
src/fd_daas_mcp/mcp/daas/server.py
src/fd_daas_mcp/mcp/daas/sources/__init__.py
src/fd_daas_mcp/mcp/dashboard/backfill_dashboards.py
src/fd_daas_mcp/mcp/dashboard/dashboard_database.py
src/fd_daas_mcp/mcp/dashboard/selfcheck_dashboards.py
src/fd_daas_mcp/mcp/dashboard/server.py
src/fd_daas_mcp/mcp/dashboard/dashboards/build_us_leaders_dashboard.py
src/fd_daas_mcp/mcp/dashboard/dashboards/daas.md
src/fd_daas_mcp/mcp/dashboard/dashboards/fetch_pool_indicators.py
src/fd_daas_mcp/mcp/dashboard/dashboards/screen_us_top300.py
src/fd_daas_mcp/mcp/leader/README.md
src/fd_daas_mcp/mcp/leader/__init__.py
src/fd_daas_mcp/mcp/leader/data_crew.py
src/fd_daas_mcp/mcp/leader/database.py
src/fd_daas_mcp/mcp/leader/gateway_database.py
src/fd_daas_mcp/mcp/leader/gateway_tools.py
src/fd_daas_mcp/mcp/leader/leader_crew.py
src/fd_daas_mcp/mcp/leader/leader_database.py
src/fd_daas_mcp/mcp/leader/leader_tools.py
src/fd_daas_mcp/mcp/leader/migrate_registry.py
src/fd_daas_mcp/mcp/leader/registry_service.py
src/fd_daas_mcp/mcp/leader/seed_massive_upstream.py
src/fd_daas_mcp/mcp/leader/seed_specialist_agents.py
src/fd_daas_mcp/mcp/leader/seed_upstreams.py
src/fd_daas_mcp/mcp/leader/selfcheck_gateway.py
src/fd_daas_mcp/mcp/leader/selfcheck_tiers.py
src/fd_daas_mcp/mcp/leader/selfcheck_workflow.py
src/fd_daas_mcp/mcp/leader/server.py
src/fd_daas_mcp/mcp/leader/specialist_agents.py
src/fd_daas_mcp/mcp/leader/workflow_database.py
src/fd_daas_mcp/mcp/leader/workflow_tools.py
src/fd_daas_mcp/mcp/leader/tests/test_datasource.py
src/fd_daas_mcp/mcp/pdf/embedding_client.py
src/fd_daas_mcp/mcp/pdf/pdf_database.py
src/fd_daas_mcp/mcp/pdf/pdf_tools.py
src/fd_daas_mcp/mcp/pdf/selfcheck.py
src/fd_daas_mcp/mcp/pdf/server.py
src/fd_daas_mcp/mcp/research/research_database.py
src/fd_daas_mcp/mcp/research/research_report.py
src/fd_daas_mcp/mcp/research/research_tools.py
src/fd_daas_mcp/mcp/research/server.py
tests/test_alert_tools.py
tests/test_bootstrap_default_url.py
tests/test_cli.py
tests/test_composite_tools.py
tests/test_core_group_tools.py
tests/test_cron_tools.py
tests/test_dashboard_tools.py
tests/test_doctor_command.py
tests/test_entity_collection_sync.py
tests/test_indicator_collection_sync.py
tests/test_init_command.py
tests/test_leader_tools.py
tests/test_pdf_optional.py
tests/test_registration_report.py
tests/test_registry.py
tests/test_research_tools.py
tests/test_rule_engine.py
tests/test_rule_tools.py
tests/test_run_indicator_eviction.py
tests/test_seed_starter_catalog.py
tests/test_selfcheck.py