LICENSE
MANIFEST.in
README.md
pyproject.toml
src/frisian_mcp/__init__.py
src/frisian_mcp/_ci_doctor_settings.py
src/frisian_mcp/_ci_doctor_urls.py
src/frisian_mcp/_relations.py
src/frisian_mcp/apps.py
src/frisian_mcp/checks.py
src/frisian_mcp/decorators.py
src/frisian_mcp/middleware.py
src/frisian_mcp/negotiation.py
src/frisian_mcp/protocol.py
src/frisian_mcp/registry.py
src/frisian_mcp/resources.py
src/frisian_mcp/route_audit.py
src/frisian_mcp/route_config.py
src/frisian_mcp/route_grammar.py
src/frisian_mcp/route_paths.py
src/frisian_mcp/route_resources.py
src/frisian_mcp/route_views.py
src/frisian_mcp/test_settings.py
src/frisian_mcp/test_settings_mysql.py
src/frisian_mcp/test_settings_postgresql.py
src/frisian_mcp/urls.py
src/frisian_mcp/views.py
src/frisian_mcp.egg-info/PKG-INFO
src/frisian_mcp.egg-info/SOURCES.txt
src/frisian_mcp.egg-info/dependency_links.txt
src/frisian_mcp.egg-info/requires.txt
src/frisian_mcp.egg-info/top_level.txt
src/frisian_mcp/backends/__init__.py
src/frisian_mcp/backends/base.py
src/frisian_mcp/backends/discovery.py
src/frisian_mcp/backends/dispatcher.py
src/frisian_mcp/backends/group_dispatcher.py
src/frisian_mcp/backends/invocation.py
src/frisian_mcp/contrib/__init__.py
src/frisian_mcp/contrib/middleware.py
src/frisian_mcp/contrib/agents/__init__.py
src/frisian_mcp/contrib/agents/admin.py
src/frisian_mcp/contrib/agents/apps.py
src/frisian_mcp/contrib/agents/models.py
src/frisian_mcp/contrib/agents/migrations/0001_initial.py
src/frisian_mcp/contrib/agents/migrations/__init__.py
src/frisian_mcp/contrib/oauth/__init__.py
src/frisian_mcp/contrib/oauth/_consent_gate.py
src/frisian_mcp/contrib/oauth/_pkce_default_permission.py
src/frisian_mcp/contrib/oauth/_rate_limiting.py
src/frisian_mcp/contrib/oauth/_redirect_uri_allowlist.py
src/frisian_mcp/contrib/oauth/admin.py
src/frisian_mcp/contrib/oauth/apps.py
src/frisian_mcp/contrib/oauth/authentication.py
src/frisian_mcp/contrib/oauth/models.py
src/frisian_mcp/contrib/oauth/urls.py
src/frisian_mcp/contrib/oauth/views.py
src/frisian_mcp/contrib/oauth/wellknown_urls.py
src/frisian_mcp/contrib/oauth/migrations/0001_initial.py
src/frisian_mcp/contrib/oauth/migrations/0002_oauthclient_user.py
src/frisian_mcp/contrib/oauth/migrations/0003_oauthauthorizeconsent.py
src/frisian_mcp/contrib/oauth/migrations/0003_squashed_0004_consent_grant_fingerprint.py
src/frisian_mcp/contrib/oauth/migrations/0004_consent_grant_fingerprint.py
src/frisian_mcp/contrib/oauth/migrations/__init__.py
src/frisian_mcp/contrib/oauth/templates/frisian_mcp/oauth/authorize.html
src/frisian_mcp/contrib/permissions/__init__.py
src/frisian_mcp/contrib/permissions/base.py
src/frisian_mcp/contrib/permissions/exempt_view_adapter.py
src/frisian_mcp/contrib/tokens/__init__.py
src/frisian_mcp/contrib/tokens/admin.py
src/frisian_mcp/contrib/tokens/apps.py
src/frisian_mcp/contrib/tokens/authentication.py
src/frisian_mcp/contrib/tokens/models.py
src/frisian_mcp/contrib/tokens/permissions.py
src/frisian_mcp/contrib/tokens/migrations/0001_initial.py
src/frisian_mcp/contrib/tokens/migrations/__init__.py
src/frisian_mcp/management/__init__.py
src/frisian_mcp/management/commands/__init__.py
src/frisian_mcp/management/commands/mcp_config.py
src/frisian_mcp/management/commands/mcp_doctor.py
src/frisian_mcp/management/commands/mcp_hash_api_key.py
src/frisian_mcp/usage/__init__.py
src/frisian_mcp/usage/counter.py
src/frisian_mcp/usage/envelope.py
src/frisian_mcp/usage/resolver.py
tests/test_adr011_capability_reauthorization.py
tests/test_adr011_redemption_reauthorization.py
tests/test_api_ui_collision.py
tests/test_apps_startup_summary.py
tests/test_async_tool_handlers.py
tests/test_checks.py
tests/test_contrib_agents.py
tests/test_contrib_middleware.py
tests/test_contrib_oauth.py
tests/test_contrib_tokens.py
tests/test_contrib_tokens_permissions.py
tests/test_cross_carve_discoverability.py
tests/test_crud_payload_hardening.py
tests/test_custom_action_required_fields.py
tests/test_decorators.py
tests/test_deferred_discovery.py
tests/test_discovery.py
tests/test_discovery_backends.py
tests/test_discovery_schema_derivation.py
tests/test_dispatcher.py
tests/test_fk_m2m_schemas.py
tests/test_group_description_composition.py
tests/test_group_dispatcher.py
tests/test_has_perm_capabilities.py
tests/test_heavy_negotiation_matrix.py
tests/test_help_required_disclosure.py
tests/test_input_validation_reporting.py
tests/test_invocation_error_status.py
tests/test_invocation_forwarded_origin.py
tests/test_invocation_host_permissions.py
tests/test_invocation_write_actions.py
tests/test_lite_mode.py
tests/test_mcp_config.py
tests/test_mcp_doctor.py
tests/test_mcp_heavy.py
tests/test_mcp_mock_guard.py
tests/test_mcp_url_install.py
tests/test_middleware.py
tests/test_oauth_consent_migrations.py
tests/test_package_neutrality.py
tests/test_permission_aware_discovery.py
tests/test_permission_tiers.py
tests/test_permissions.py
tests/test_rate_limit_backend.py
tests/test_register_api.py
tests/test_registry.py
tests/test_required_field_detection.py
tests/test_resource_providers.py
tests/test_resources.py
tests/test_route_absence_invariants.py
tests/test_route_audit_logging.py
tests/test_route_config.py
tests/test_route_config_matrix.py
tests/test_route_grammar.py
tests/test_route_paths.py
tests/test_route_protected_resources.py
tests/test_route_views.py
tests/test_route_wiring.py
tests/test_schema_token_budget.py
tests/test_schema_validation.py
tests/test_session_id.py
tests/test_sse.py
tests/test_token_tier_resolution.py
tests/test_token_usage_content.py
tests/test_token_usage_contract.py
tests/test_token_usage_counter.py
tests/test_token_usage_dispatch.py
tests/test_token_usage_envelope.py
tests/test_token_usage_resolver.py
tests/test_token_usage_smoke.py
tests/test_tool_hints.py
tests/test_tools_list_cache.py
tests/test_tools_pagination.py
tests/test_trailing_slash_middleware.py
tests/test_uri_template_extraction.py
tests/test_views.py
tests/test_write_path_filtering.py