github Python analyzed 37b566c

HelloThisIsFlo/omnifocus-operator

github

An MCP server that exposes OmniFocus to AI agents via the Model Context Protocol (MCP).

maintainer
HelloThisIsFlo
license
first seen
2026-06-07
last seen
2026-06-29
releases · 30d
0
short id

Drift inferred · capture-to-capture

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

capabilities 59 tools
transport stdio counts 59 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • add_task
  • add_task_tool
  • add_tasks
  • add_typed
  • add_untyped
  • all_ctx_levels
  • ask_boolean
  • ask_choice
  • ask_multi_select
  • ask_number
  • ask_string
  • ask_structured
  • ask_with_defaults
  • check_stderr
  • check_stderr_with_logging
  • check_timing_log
  • compare_ctx_vs_logger
  • confirm_action
  • create_task
  • create_task_untyped
  • ctx_with_structured_data
  • echo
  • edit_task
  • edit_task_tool
  • edit_tasks
  • edit_typed
  • edit_untyped
  • emit_intermediates
  • emit_only_final
  • emit_with_final
  • explore_server_loggers
  • fail_loudly
  • failing_tool
  • fallback_demo
  • fast_tool
  • format_showcase
  • get_call_count
  • get_something
  • get_tasks
  • get_tasks_depends_closure
  • get_tasks_depends_ctx
  • get_tasks_lifespan
  • inspect_context
  • list_dict
  • list_model
  • mixed
  • multi_turn
  • process_batch
  • process_unknown_total
  • process_with_messages
  • rapid_fire
  • single_model
  • slow_tool
  • spike_add_task
  • spike_edit_actions
  • spike_edit_task
  • spike_move_action
  • spike_repetition_edit
  • spike_tag_action
skills & danger signals github-tarball
code evidence vv1.4.1 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 300

filesystem 52

  • fs (weak) HelloThisIsFlo-omnifocus-operator-37b566c/.agents/skills/test-omnifocus-operator/scripts/analyze_snapshot.py :42 import pathlib
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.agents/skills/uat-regression/discover.py :25 import pathlib
  • fs (weak) HelloThisIsFlo-omnifocus-operator-37b566c/.research/benchmark/run.py :18 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-date-filters/1-overdue-equivalence/test_overdue_equivalence.py :23 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-date-filters/2-flag-equivalences/test_flag_equivalences.py :20 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-date-filters/3-effective-date-inheritance/test_effective_inheritance.py :16 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-date-filters/4-date-column-audit/test_date_column_audit.py :24 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-date-filters/5-completed-dropped-behavior/test_completed_dropped.py :21 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-date-filters/6-due-soon-spike/spike_due_soon.py :21 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-inbox/validate_inbox_equivalence.py :17 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-ordering/1-rank-analysis/rank_semantics.py :29 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/1-initial-discovery/poc_parse_ofocus.py :23 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/3-validation-todos/todo1_cache_timing/test_cache_timing.py :21 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/3-validation-todos/todo2_enum_priority/test_enum_priority.py :19 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/3-validation-todos/todo2_enum_priority/verify_side_by_side.py :19 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/3-validation-todos/todo3_sqlite_benchmark/test_sqlite_benchmark.py :15 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/3-validation-todos/todo4_sqlite_freshness/test_sqlite_freshness.py :35 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/4-final-checks/verify_failed_fields.py :19 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/4-final-checks/verify_field_coverage.py :16 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/4-final-checks/verify_repetition_fields.py :15 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/05_middleware.py :132 with open(LOG_FILE) as f:
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/setup_mcp.py :11 import shutil
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/taskpaper/converter/test_converter.py :15 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/timezone-behavior/01-api-audit/01d-sqlite-floating-inspect.py :22 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/timezone-behavior/02-conversion-proof/02-date-conversion-proof.py :16 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/timezone-behavior/03-create-readback/03-create-and-readback.py :18 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/v1.4.1-cache-coverage/experiments/05_omnijs_diff.py :40 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/v1.4.1-filter-benchmark/experiments/01_bench_parent_only.py :17 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/v1.4.1-filter-benchmark/experiments/02_bench_parent_plus_tag.py :6 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/v1.4.1-filter-benchmark/experiments/03_bench_parent_plus_date.py :6 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/v1.4.1-filter-benchmark/experiments/04_bench_livedb_crosscheck.py :17 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/setup_operator.py :11 import shutil
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/src/omnifocus_operator/bridge/real.py :15 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/src/omnifocus_operator/repository/factory.py :12 from pathlib import Path
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/src/omnifocus_operator/repository/hybrid/hybrid.py :17 import pathlib
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/src/omnifocus_operator/service/resolve_dates.py :35 - Repo: half-open (>= after, < before).
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/src/omnifocus_operator/simulator/__main__.py :25 from pathlib import Path
  • fs (weak) HelloThisIsFlo-omnifocus-operator-37b566c/tests/doubles/bridge.py :9 from pathlib import Path
  • fs (weak) HelloThisIsFlo-omnifocus-operator-37b566c/tests/test_bridge_contract.py :20 from pathlib import Path
  • fs (weak) HelloThisIsFlo-omnifocus-operator-37b566c/tests/test_bridge_only_repository.py :11 from pathlib import Path
  • fs (weak) HelloThisIsFlo-omnifocus-operator-37b566c/tests/test_cross_path_equivalence.py :43 from pathlib import Path
  • fs (weak) HelloThisIsFlo-omnifocus-operator-37b566c/tests/test_descriptions.py :10 import pathlib
  • fs (weak) HelloThisIsFlo-omnifocus-operator-37b566c/tests/test_hybrid_repository.py :20 from pathlib import Path
  • fs (weak) HelloThisIsFlo-omnifocus-operator-37b566c/tests/test_ipc_engine.py :17 from pathlib import Path
  • fs (weak) HelloThisIsFlo-omnifocus-operator-37b566c/tests/test_repository_factory.py :15 from pathlib import Path
  • fs (weak) HelloThisIsFlo-omnifocus-operator-37b566c/tests/test_rrule.py :7 from pathlib import Path
  • fs (weak) HelloThisIsFlo-omnifocus-operator-37b566c/tests/test_server.py :11 from pathlib import Path
  • fs (weak) HelloThisIsFlo-omnifocus-operator-37b566c/tests/test_simulator_bridge.py :17 from pathlib import Path
  • fs (weak) HelloThisIsFlo-omnifocus-operator-37b566c/tests/test_simulator_integration.py :28 from pathlib import Path
  • fs (weak) HelloThisIsFlo-omnifocus-operator-37b566c/tests/test_smoke.py :3 from pathlib import Path
  • fs (weak) HelloThisIsFlo-omnifocus-operator-37b566c/tests/test_type_boundary.py :12 import pathlib
  • fs HelloThisIsFlo-omnifocus-operator-37b566c/uat/capture_golden_master.py :15 import shutil

shell / exec 6

  • shell (weak) HelloThisIsFlo-omnifocus-operator-37b566c/.research/benchmark/run.py :14 import subprocess
  • shell HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/3-validation-todos/todo1_cache_timing/test_cache_timing.py :17 import subprocess
  • shell HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/3-validation-todos/todo4_sqlite_freshness/test_sqlite_freshness.py :30 import subprocess
  • shell HelloThisIsFlo-omnifocus-operator-37b566c/src/omnifocus_operator/bridge/real.py :12 import subprocess
  • shell (weak) HelloThisIsFlo-omnifocus-operator-37b566c/tests/test_ipc_engine.py :14 import subprocess
  • shell (weak) HelloThisIsFlo-omnifocus-operator-37b566c/tests/test_simulator_integration.py :12 import subprocess

network 4

  • net (weak) HelloThisIsFlo-omnifocus-operator-37b566c/.research/benchmark/run.py :16 import urllib.parse
  • net HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/3-validation-todos/todo1_cache_timing/test_cache_timing.py :19 import urllib.parse
  • net HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/3-validation-todos/todo4_sqlite_freshness/test_sqlite_freshness.py :32 import urllib.parse
  • net HelloThisIsFlo-omnifocus-operator-37b566c/src/omnifocus_operator/bridge/real.py :13 import urllib.parse

database 39

  • db HelloThisIsFlo-omnifocus-operator-37b566c/.agents/skills/uat-regression/discover.py :27 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-date-filters/1-overdue-equivalence/test_overdue_equivalence.py :21 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-date-filters/2-flag-equivalences/test_flag_equivalences.py :18 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-date-filters/3-effective-date-inheritance/test_effective_inheritance.py :14 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-date-filters/4-date-column-audit/test_date_column_audit.py :22 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-date-filters/5-completed-dropped-behavior/test_completed_dropped.py :19 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-date-filters/6-due-soon-spike/spike_due_soon.py :18 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-inbox/validate_inbox_equivalence.py :16 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-ordering/1-rank-analysis/rank_range_validation.py :31 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-ordering/1-rank-analysis/rank_semantics.py :28 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-ordering/2-hierarchy/hierarchy_ordering.py :34 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-ordering/2-hierarchy/inbox_ordering.py :25 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-ordering/2-hierarchy/multi_project_cte.py :23 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-ordering/2-hierarchy/reorder_validation.py :59 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-ordering/3-other-entities/entity_ordering.py :30 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access-ordering/3-other-entities/rankintask_decoding.py :36 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/3-validation-todos/todo1_cache_timing/test_cache_timing.py :16 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/3-validation-todos/todo2_enum_priority/test_enum_priority.py :17 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/3-validation-todos/todo2_enum_priority/verify_side_by_side.py :17 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/3-validation-todos/todo3_sqlite_benchmark/test_sqlite_benchmark.py :13 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/3-validation-todos/todo4_sqlite_freshness/test_sqlite_freshness.py :28 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/4-final-checks/verify_failed_fields.py :17 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/4-final-checks/verify_field_coverage.py :14 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/direct-database-access/4-final-checks/verify_repetition_fields.py :14 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/timezone-behavior/01-api-audit/01d-sqlite-floating-inspect.py :20 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/timezone-behavior/02-conversion-proof/02-date-conversion-proof.py :13 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/timezone-behavior/03-create-readback/03-create-and-readback.py :16 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/v1.4.1-cache-coverage/experiments/01_schema_probe.py :17 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/v1.4.1-cache-coverage/experiments/02_value_sample.py :14 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/v1.4.1-cache-coverage/experiments/03_attachment_presence.py :17 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/v1.4.1-cache-coverage/experiments/04_settings_defaults.py :15 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/v1.4.1-cache-coverage/experiments/05_omnijs_diff.py :38 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/v1.4.1-filter-benchmark/experiments/04_bench_livedb_crosscheck.py :15 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/v1.4.1-filter-benchmark/experiments/corpus.py :16 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/v1.4.1-filter-benchmark/experiments/python_parent_filter.py :19 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/v1.4.1-filter-benchmark/experiments/sql_parent_filter.py :14 import sqlite3
  • db HelloThisIsFlo-omnifocus-operator-37b566c/src/omnifocus_operator/repository/hybrid/hybrid.py :20 import sqlite3
  • db (weak) HelloThisIsFlo-omnifocus-operator-37b566c/tests/test_cross_path_equivalence.py :14 import sqlite3
  • db (weak) HelloThisIsFlo-omnifocus-operator-37b566c/tests/test_hybrid_repository.py :12 import sqlite3

tool registrations 74

  • emit_intermediates HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/bugfix-progress-handler-stdio-disconnect/server.py :42
  • emit_with_final HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/bugfix-progress-handler-stdio-disconnect/server.py :60
  • emit_only_final HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/bugfix-progress-handler-stdio-disconnect/server.py :80
  • echo HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/bugfix-progress-handler-stdio-disconnect/server.py :94
  • spike_add_task HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/1-schema-generation/01_add_task_schema.py :27
  • spike_edit_task HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/1-schema-generation/02_edit_task_schema.py :37
  • add_typed HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/1-schema-generation/03_schema_comparison.py :36
  • edit_typed HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/1-schema-generation/03_schema_comparison.py :42
  • add_untyped HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/1-schema-generation/03_schema_comparison.py :51
  • edit_untyped HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/1-schema-generation/03_schema_comparison.py :57
  • single_model HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/1-schema-generation/04_list_wrapper_behavior.py :35
  • list_model HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/1-schema-generation/04_list_wrapper_behavior.py :41
  • list_dict HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/1-schema-generation/04_list_wrapper_behavior.py :47
  • add_task HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/2-error-flow/01_middleware_intercepts.py :94
  • edit_task HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/2-error-flow/01_middleware_intercepts.py :100
  • add_task HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/3-approaches/01_middleware_reformatter.py :83
  • edit_task HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/3-approaches/01_middleware_reformatter.py :89
  • add_tasks HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/3-approaches/02_on_list_tools_schema.py :115
  • edit_tasks HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/3-approaches/02_on_list_tools_schema.py :132
  • add_task HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/3-approaches/03_model_validator_wrap.py :75
  • edit_task HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/3-approaches/03_model_validator_wrap.py :81
  • add_task_tool HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/3-approaches/04_custom_function_tool.py :108
  • add_task_tool HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/3-approaches/04_custom_function_tool.py :109
  • add_task_tool HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/3-approaches/04_custom_function_tool.py :111
  • edit_task_tool HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/3-approaches/04_custom_function_tool.py :114
  • edit_task_tool HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/3-approaches/04_custom_function_tool.py :115
  • edit_task_tool HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/3-approaches/04_custom_function_tool.py :117
  • add_task HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/3-approaches/05_error_handling_middleware.py :75
  • edit_task HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/3-approaches/05_error_handling_middleware.py :81
  • get_something HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/3-approaches/05_error_handling_middleware.py :87
  • spike_edit_task HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/4-unset-deep-dive/04_json_schema_exclusion.py :245
  • spike_edit_actions HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/4-unset-deep-dive/04_json_schema_exclusion.py :250
  • spike_tag_action HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/4-unset-deep-dive/04_json_schema_exclusion.py :255
  • spike_move_action HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/4-unset-deep-dive/04_json_schema_exclusion.py :260
  • spike_repetition_edit HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/4-unset-deep-dive/04_json_schema_exclusion.py :265
  • add_tasks HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/5-integration/01_typed_add_tasks_e2e.py :62
  • edit_tasks HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/5-integration/02_typed_edit_tasks_e2e.py :84
  • create_task HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/middleware_validation_spike.py :113
  • create_task_untyped HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-middleware-validation/middleware_validation_spike.py :120
  • inspect_context HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/01_server_and_context.py :40
  • compare_ctx_vs_logger HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/02_client_logging.py :83
  • explore_server_loggers HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/02_client_logging.py :110
  • format_showcase HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/02_client_logging.py :149
  • ctx_with_structured_data HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/02_client_logging.py :241
  • all_ctx_levels HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/02_client_logging.py :276
  • rapid_fire HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/02_client_logging.py :286
  • check_stderr HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/03_server_logging.py :48
  • check_stderr_with_logging HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/03_server_logging.py :71
  • get_tasks HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/04_test_client.py :57
  • add_task HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/04_test_client.py :62
  • get_call_count HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/04_test_client.py :67
  • fail_loudly HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/04_test_client.py :72
  • echo HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/05_middleware.py :103
  • fast_tool HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/05_middleware.py :109
  • slow_tool HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/05_middleware.py :115
  • failing_tool HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/05_middleware.py :122
  • check_timing_log HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/05_middleware.py :128
  • process_batch HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/06_progress.py :43
  • process_with_messages HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/06_progress.py :59
  • process_unknown_total HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/06_progress.py :77
  • get_tasks_lifespan HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/07_dependency_injection.py :77
  • get_tasks_depends_ctx HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/07_dependency_injection.py :95
  • get_tasks_depends_closure HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/07_dependency_injection.py :119
  • mixed HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/07_dependency_injection.py :136
  • confirm_action HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/08_elicitation.py :47
  • ask_string HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/08_elicitation.py :66
  • ask_number HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/08_elicitation.py :78
  • ask_boolean HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/08_elicitation.py :90
  • ask_choice HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/08_elicitation.py :102
  • ask_multi_select HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/08_elicitation.py :117
  • ask_structured HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/08_elicitation.py :140
  • ask_with_defaults HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/08_elicitation.py :174
  • multi_turn HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/08_elicitation.py :195
  • fallback_demo HelloThisIsFlo-omnifocus-operator-37b566c/.research/deep-dives/fastmcp-spike/experiments/08_elicitation.py :225

declared dependencies 2

  • fastmcp@>=3.1.1
  • pydantic-settings@>=2.0