Skip to main content
Glama

ResQ PyPI Packages

CI License

Python packages for the ResQ disaster response platform, published to PyPI under the resq-software organization.

Packages

Package

Description

Version

resq-mcp

FastMCP server -- connects AI agents to drone fleet, simulations, and disaster intelligence

PyPI

resq-dsa

Zero-dependency data structures & algorithms for search, rescue, and geospatial ops

PyPI

Related MCP server: Example MCP SSE Server

Architecture

graph TB
    subgraph "resq-software/pypi"
        subgraph "packages/resq-mcp"
            MCP[resq-mcp<br/><i>FastMCP Server</i>]
            DTSOP[DTSOP<br/>Digital Twin Simulations]
            HCE[HCE<br/>Hybrid Coordination]
            PDIE[PDIE<br/>Predictive Intelligence]
            DRONE[Drone Fleet<br/>Telemetry & Control]
            MCP --> DTSOP
            MCP --> HCE
            MCP --> PDIE
            MCP --> DRONE
        end
        subgraph "packages/resq-dsa"
            DSA[resq-dsa<br/><i>Zero-Dep DSA</i>]
            BF[BloomFilter]
            CMS[CountMinSketch]
            GR[Graph + A*]
            HP[BoundedHeap]
            TR[Trie]
            DSA --> BF
            DSA --> CMS
            DSA --> GR
            DSA --> HP
            DSA --> TR
        end
    end

    AI[AI Clients<br/>Claude / VS Code / Cursor] -->|MCP protocol| MCP
    APP[Python Applications] -->|pip install| DSA

Quick Start

# Install a package
pip install resq-mcp   # MCP server for AI agents
pip install resq-dsa   # Data structures (zero dependencies)

Development

# Clone and setup
git clone https://github.com/resq-software/pypi.git && cd pypi
./bootstrap.sh

# Work on a package
cd packages/resq-mcp && uv sync && uv run pytest
cd packages/resq-dsa && uv sync && uv run pytest

Release Flow

graph LR
    DISPATCH[Manual dispatch<br/><i>Actions tab</i>] --> SR[Semantic Release]
    SR -->|feat: / fix:| BUMP[Version Bump + Changelog]
    BUMP --> BUILD[Build sdist + wheel]
    BUILD --> ATTEST[Sigstore Attestation]
    ATTEST --> PYPI[Publish to PyPI]
    PYPI --> DOCKER[Docker Image<br/><i>resq-mcp only</i>]

The two published packages use python-semantic-release with Trusted Publisher OIDC. Conventional commits determine the version bump, but releases are triggered manually from the Actions tab — the branch ruleset rejects the bot's version commit, so the workflow is workflow_dispatch only.

License

Apache-2.0 -- Copyright 2025 ResQ Software

Available Tools

3 tools
get_deployment_strategyA

Generate an RL-optimized drone deployment and evacuation strategy.

Uses reinforcement learning models trained on thousands of simulated disasters to recommend optimal resource allocation, routing, and risk parameters for a specific incident or pre-alert.

Args: incident_id: Incident identifier (INC-XXX) or pre-alert ID (PRE-XXX) to generate strategy for.

Returns: OptimizationStrategy: Complete strategy recommendation with: - strategy_id: Unique identifier - related_alert_id: Original incident/alert ID - recommended_deployment: Drone type counts - evacuation_routes: Prioritized route list - estimated_success_rate: Predicted success (0.0-1.0) - simulation_proof_url: NeoFS evidence link

Example: >>> strategy = await get_deployment_strategy("PRE-ABC123") >>> print(strategy.strategy_id) >>> print(strategy.recommended_deployment) # {"surveillance": 2, ...} >>> print(f"Success rate: {strategy.estimated_success_rate:.0%}")

Use Cases: - Pre-positioning drones before predicted disasters (PDIE alerts) - Active response optimization for confirmed incidents - Multi-objective optimization (speed, safety, resource efficiency) - Scenario comparison and sensitivity analysis

Integration: Strategy linked to blockchain for immutable audit trail. After approval, use update_mission_params to push to drones.

Inputs: incident_id (required). Returns: Reinforcement learning-optimized deployment and evacuation strategy. Part of DT…

run_simulationA

Trigger a Digital Twin physics simulation for disaster scenario modeling.

Queues a high-fidelity simulation job and returns immediately with a job ID. Clients should subscribe to the simulation resource URI for real-time progress updates and result notification.

Workflow: 1. Validate simulation request parameters 2. Generate unique simulation ID 3. Queue job to DTSOP backend (Unity/Unreal Engine) 4. Store job metadata in simulation registry 5. Return simulation ID and subscription URI 6. Background processor updates status → processing → completed 7. Client fetches results from NeoFS when completed

Args: request: SimulationRequest with: - scenario_id: Unique scenario identifier - sector_id: Geographic sector to simulate - disaster_type: Physics model (flood/wildfire/earthquake) - parameters: Scenario params (wind_speed, water_level, etc.) - priority: "standard" or "urgent" ctx: Optional FastMCP context for logging.

Returns: str: Message with simulation ID and subscription instructions: "Simulation queued with ID: SIM-XXXXXXXX. Subscribe to resq://simulations/SIM-XXXXXXXX for updates."

Example: >>> from resq_mcp.models import SimulationRequest >>> request = SimulationRequest( ... scenario_id="flood-001", ... sector_id="Sector-1", ... disaster_type="flood", ... parameters={"water_level": 2.5}, ... priority="urgent" ... ) >>> result = await run_simulation(request) >>> print(result) # "Simulation queued with ID: SIM-ABCD1234..."

Integration: Production would: - Validate request against simulation templates - Check cluster capacity and queue position - Store job in Redis with priority - Submit to Unity/Unreal Engine processing cluster - Return estimated completion time

Inputs: request (required). Returns: result

validate_incidentA

Submit validation result for an incident report.

Used by human operators or automated validation systems (HCE) to confirm or reject incident reports before triggering full response.

Args: val: IncidentValidation with: - incident_id: ID of incident being validated - is_confirmed: True=confirmed, False=rejected/false positive - validation_source: Who/what validated (e.g., "Human-Operator") - correlated_pre_alert_id: Optional linked PDIE alert - notes: Validation reasoning and evidence

Returns: str: Confirmation message indicating action taken: "Incident {id} successfully CONFIRMED." or "Incident {id} successfully REJECTED."

Example: >>> from resq_mcp.models import IncidentValidation >>> validation = IncidentValidation( ... incident_id="INC-123", ... is_confirmed=True, ... validation_source="Human-Operator-Alice", ... notes="Confirmed via video evidence and ground reports" ... ) >>> result = await validate_incident(validation) >>> print(result) # "Incident INC-123 successfully CONFIRMED."

Workflow: 1. Edge AI detects incident (low confidence) 2. HCE cross-references with PDIE/sensors 3. If ambiguous → human review required 4. Operator submits validation via this tool 5. If confirmed → trigger response strategy 6. If rejected → log as false positive, update ML model

Audit Trail: All validations logged with timestamp, source, and reasoning for post-incident analysis and ML model refinement.

Inputs: val (required). Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.4/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: get_deployment_strategy generates optimized drone strategies, run_simulation triggers physics simulations, and validate_incident handles incident report validation. The descriptions clearly differentiate their roles in the disaster response workflow.

    Naming Consistency5/5

    All three tools follow a consistent verb_noun naming pattern (get_deployment_strategy, run_simulation, validate_incident) with clear, descriptive names that accurately reflect their functions. There are no deviations in naming conventions.

    Tool Count3/5

    With only 3 tools, the server feels somewhat thin for a disaster response domain that includes strategy generation, simulation, and incident validation. While each tool is valuable, additional tools for mission execution, status monitoring, or data retrieval would provide more complete coverage.

    Completeness4/5

    The tools cover key phases of disaster response (validation, strategy generation, simulation), but there are notable gaps in mission execution and monitoring. The get_deployment_strategy description mentions using update_mission_params to push to drones, but this tool is not included, creating a workflow dead end.

    Maintenance

    ActivityActive
    ResponsivenessUsually handled

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      Not graded
      maintenance
      An Intelligent Model Context Protocol server that generates mock servers from OpenAPI specifications, featuring advanced logging, performance analytics, and server discovery for AI-assisted API development.
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      A Model Context Protocol server that enables real-time communication using Server-Sent Events (SSE), providing standardized model management and resource templating capabilities.
      -
    • -
      license
      Not graded
      quality
      Not graded
      maintenance
      A production-grade Model Context Protocol server that enables secure management of context data through a React dashboard, supporting ZIP processing, context approval workflows, and system monitoring.
      556 npm
      -