Skip to main content

MCP server for Mipiti — AI-powered security posture platform

Project description

Mipiti MCP Server

MCP (Model Context Protocol) server for Mipiti — security posture platform.

Lets AI coding agents (Claude Code, Claude Desktop, Cursor, etc.) generate and manage threat models, controls, assumptions, compliance mapping, and evidence programmatically.

Hosted Endpoint (Recommended)

The Mipiti backend hosts an MCP server at https://api.mipiti.io/mcp/. No installation needed — just configure your MCP client to connect.

Claude Code (quickstart)

claude mcp add --transport http Mipiti https://api.mipiti.io/mcp/

You'll be prompted to log in via your browser (OAuth). That's it.

OAuth (manual config)

MCP clients with OAuth support (Claude Code, Claude Desktop, Cursor) automatically prompt you to log in via your browser. Add to your project's .mcp.json:

{
  "mcpServers": {
    "mipiti": {
      "type": "http",
      "url": "https://api.mipiti.io/mcp/"
    }
  }
}

On first connection, your MCP client opens a browser window where you approve access with your Mipiti account. Tokens refresh automatically.

API Key

For clients without OAuth support, or headless/CI environments, create an API key in Settings:

{
  "mcpServers": {
    "mipiti": {
      "type": "http",
      "url": "https://api.mipiti.io/mcp/",
      "headers": {
        "X-API-Key": "your-api-key"
      }
    }
  }
}

Standalone Package (Alternative)

If you prefer running the MCP server locally (e.g., for development or self-hosted instances), install the mipiti-mcp package. This is a thin HTTP client that calls the Mipiti API.

pip install mipiti-mcp
# Or run directly with uvx
uvx mipiti-mcp

Environment Variables

Variable Required Default Description
MIPITI_API_KEY Yes Your Mipiti API key
MIPITI_API_URL No https://api.mipiti.io API base URL

Claude Code (standalone)

{
  "mcpServers": {
    "mipiti": {
      "command": "uvx",
      "args": ["mipiti-mcp"],
      "env": {
        "MIPITI_API_KEY": "your-api-key"
      }
    }
  }
}

Tools (69)

Threat Modeling

Tool Description
generate_threat_model Generate a complete threat model from a feature description. Runs a multi-step AI pipeline producing trust boundaries, assets, attackers, control objectives, and assumptions. Progress reported automatically via MCP protocol — the tool blocks until complete.
refine_threat_model Refine an existing threat model based on an instruction. Creates a new version. Only affected entity types are modified — unaffected entities are preserved server-side.
query_threat_model Ask a question about an existing threat model.
get_threat_model Get the full details of a specific threat model (trust boundaries, assets, attackers, assumptions). Use include_cos=True to include control objectives.
list_threat_models List all saved threat models with IDs, titles, versions, and creation dates.
rename_threat_model Rename a model (metadata only, no new version).
delete_threat_model Permanently delete a model and all its data.
export_threat_model Export as PDF, HTML, or CSV.

Entity CRUD

Tool Description
add_asset / edit_asset / remove_asset Targeted single-entity changes for assets. Creates a new version.
add_attacker / edit_attacker / remove_attacker Same for attackers.

Trust Boundaries

Tool Description
get_threat_model Returns existing trust boundaries (along with assets, attackers, assumptions). Review current boundaries before adding or modifying.
add_trust_boundary / edit_trust_boundary / remove_trust_boundary CRUD for trust boundaries. Defines where trust transitions occur in the system architecture. Attackers are positioned at boundaries; COs are annotated with boundary reachability. Changes auto-generate boundary assumptions for newly unreachable COs.

Controls

Tool Description
get_controls List controls with current status. Use summary_only=True for compact response.
get_control_objectives List COs with which controls cover each one. Includes boundary_reachable per CO.
update_control_status Mark implemented or not_implemented. Requires at least one assertion first.
refine_control Modify a control's description with justification. Platform evaluates whether the mitigation group still covers the COs.
regenerate_controls Regenerate controls. Supports mode="per_co" and co_ids to target specific COs.
import_controls Import controls from JSON or free text, auto-mapped to COs and deduplicated.
delete_control Soft-delete with justification. Blocked if it's the only control covering a CO.
check_control_gaps AI-powered gap analysis across all controls.
get_mitigation_groups / set_mitigation_groups Inspect and modify how controls are grouped into mitigation paths for a CO (AND within groups, OR across groups). Platform AI-evaluates whether proposed changes preserve CO coverage.

Assumptions and Attestation

Tool Description
get_threat_model Returns existing assumptions (along with assets, attackers, trust boundaries). Review current assumptions before adding or modifying.
add_assumption Add an assumption, optionally linking it to COs via linked_co_ids.
edit_assumption Update description and/or linked COs.
remove_assumption Soft-delete (preserved for audit). Linked COs are no longer mitigated by it.
restore_assumption Restore a soft-deleted assumption. Re-attestation required.
submit_attestation Record that a responsible party affirmed an assumption holds. Provide attested_by, statement, expires_at.
list_attestations Attestation history for an assumption.
assume_control Mark a control as externally handled by an assumption. Counts as active for mitigation group completeness when attested.
unassume_control Clear externally-handled status; control reverts to not_implemented.
convert_assumption_to_controls Generate controls for assumption-covered COs and retire the assumption linkage.

Assertions and Evidence

Tool Description
submit_assertions Submit typed, machine-verifiable claims about system properties (21 assertion types).
list_assertions / delete_assertion List or delete assertions for a control.
add_evidence / remove_evidence Attach auxiliary metadata (docs, links). Evidence is contextual — only assertions prove implementation.
get_verification_report Shows verified, partially verified, and unverified controls with sufficiency details.
get_sufficiency Quick check: do assertions for a single control collectively cover all aspects?
get_scan_prompt Returns targeted prompts for scanning the codebase against not_implemented controls.
get_review_queue Controls not reviewed in 90+ days. Start here for periodic maintenance.
submit_findings / list_findings / update_finding Report and track negative findings (gap discovery).

Assurance

Tool Description
assess_model Deterministic assessment of all COs. Returns mitigated/at_risk/unassessed with risk_reason (missing_controls, pending_attestation, expired_attestation) and boundary_reachable per CO.

Compliance

Tool Description
list_compliance_frameworks Available frameworks (OWASP ASVS, ISO 27001, SOC 2, NIST CSF, GDPR, FedRAMP, PCI DSS, EU CRA).
select_compliance_frameworks Select frameworks for a model.
get_compliance_report Coverage report for a selected framework.
auto_map_controls AI-powered semantic mapping of controls to framework requirements.
map_control_to_requirement Manual control-to-requirement mapping.
auto_remediate LLM-powered gap closure — proposes new assets, attackers, and controls for uncovered framework requirements.

Components

Tool Description
add_component / edit_component / remove_component Components bridge trust boundaries (security architecture) to repositories (code organization). Component(id, name, repo_url, path, trust_boundary_ids) scopes controls to the codebase that implements them. Used for multi-repo systems and per-repo threat models.

Systems and Workspaces

Tool Description
list_workspaces List available workspaces.
list_systems / get_system / create_system Manage systems (groups of related models).
add_model_to_system Add a model to a system.
get_system_dependencies Cross-model dependency graph with satisfaction status for assumptions linked to other models.
link_dependency Link a cross-model assumption to a target model — dual-path satisfaction (controls OR manual attestation).
select_system_compliance_frameworks / get_system_compliance_report System-level compliance aggregation.

Setup and Operations

Tool Description
get_setup_status Check which onboarding steps are done.
complete_setup_step Mark an onboarding step as done (mcp_configured, mipiti_verify_installed, ci_secret_added, ci_pipeline_added).

Development

git clone https://github.com/Mipiti/mipiti-mcp.git
cd mipiti-mcp
pip install -e ".[dev]"
python -m pytest -v

Local Testing with Claude Desktop

{
  "mcpServers": {
    "mipiti": {
      "command": "uv",
      "args": ["run", "--directory", "/path/to/mipiti-mcp", "mipiti-mcp"],
      "env": {
        "MIPITI_API_KEY": "your-key"
      }
    }
  }
}

License

Proprietary. Copyright (c) 2026 Mipiti, LLC. All rights reserved. See LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mipiti_mcp-0.26.1.tar.gz (47.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mipiti_mcp-0.26.1-py3-none-any.whl (38.5 kB view details)

Uploaded Python 3

File details

Details for the file mipiti_mcp-0.26.1.tar.gz.

File metadata

  • Download URL: mipiti_mcp-0.26.1.tar.gz
  • Upload date:
  • Size: 47.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mipiti_mcp-0.26.1.tar.gz
Algorithm Hash digest
SHA256 48d3d611ba0bb614bb55cc115c2955f4b6249c01573d12e46232c1a0d3520be9
MD5 bac715e48f91919c515c595d7c023ed5
BLAKE2b-256 c403b388a847550598b24db402bb6791e95f0d372e2de3ad7d12c04dc382c832

See more details on using hashes here.

Provenance

The following attestation bundles were made for mipiti_mcp-0.26.1.tar.gz:

Publisher: publish.yml on Mipiti/mipiti-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mipiti_mcp-0.26.1-py3-none-any.whl.

File metadata

  • Download URL: mipiti_mcp-0.26.1-py3-none-any.whl
  • Upload date:
  • Size: 38.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for mipiti_mcp-0.26.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e94753ff0ae0f3903d994c7b38e48d5a0ac8137685fbec41e4dec6ca9bc4ec31
MD5 f0ff97ac726ab945cb4d46b9a5aea8e0
BLAKE2b-256 fcd633d60a241b756e4641bbf28260191dbea803d00e45549687385a2f724be7

See more details on using hashes here.

Provenance

The following attestation bundles were made for mipiti_mcp-0.26.1-py3-none-any.whl:

Publisher: publish.yml on Mipiti/mipiti-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page