{
  "id": "07-mcp-run-turbomcp",
  "slug": "mcp-run-turbomcp",
  "normalized_name": "mcp run turbomcp",
  "name": "mcp.run / TurboMCP",
  "vendor_url": "turbomcp.ai (mcp.run now 301-redirects here)",
  "category": "mcp-infrastructure",
  "what_it_does": "An enterprise self-hosted MCP gateway and management platform - a trusted, admin-curated registry plus RBAC-controlled deployment of MCP servers across a team's own infrastructure (K8s, PaaS, VMs).",
  "ai_features": "none - this is a gateway/governance layer for MCP traffic, not an AI product.",
  "mcp_status": "official (this is infrastructure for running/gating other servers' MCP endpoints, not a single server itself)",
  "mcp_url": "https://github.com/dylibso/mcp.run-servlets ; https://turbomcp.ai",
  "mcp_auth": "Integrates with a team's own OIDC-compatible identity provider; handles OAuth and Dynamic Client Registration for the servers it fronts.",
  "api_gate": "enterprise-only (mcp.run 301s to turbomcp.ai, which publishes no pricing at all and positions as a self-hosted enterprise MCP gateway with only run-Turbo-MCP contact and book-a-demo as entry points)",
  "revops_role": "Relevant to a RevOps/IT team that wants centralized control over which MCP servers its agents can reach, rather than an individual operator's connector of choice.",
  "tier": "RESEARCHED",
  "last_checked": "2026-09-07",
  "sources": "https://www.mcp.run (redirects to turbomcp.ai, confirmed 301), https://turbomcp.ai, https://github.com/dylibso/mcp.run-servlets",
  "notes": "mcp.run - originally a lightweight community MCP server registry - now redirects permanently to TurboMCP, an enterprise self-hosted gateway product. The fetched TurboMCP page does not mention its mcp.run history, so the nature/terms of that transition are unconfirmed; flagged as a gap rather than guessed. [api_gate 2026-08-25] Reclassified unknown -> enterprise-only from the vendor's own page (https://turbomcp.ai): mcp.run 301s to turbomcp.ai, which publishes no pricing at all and positions as a self-hosted enterprise MCP gateway with only run-Turbo-MCP contact and book-a-demo as entry points. 2026-09-02: re-verified. https://www.mcp.run/ still 301s to https://turbomcp.ai/, which loaded today as \"the leading standards-compliant, self-hosted MCP gateway and management platform\" (OIDC identity-provider integration, OAuth with dynamic client registration, RBAC approvals, centralized audit logs, kill switch) with no pricing, no docs link, and still no mention of its mcp.run history. The what_it_does and ai_features copy above already describes the TurboMCP product rather than the old hosted registry, so no rewrite was needed; mcp_status unchanged. 2026-09-07: THIS ROW CONFLATES TWO VENDORS AND NEEDS SPLITTING. mcp.run is dylibso, and the verified artifact is https://github.com/dylibso/mcp.run-servlets, whose README reads \"These are the official servlets for the @dylibso account on mcp.run\" and which is now ARCHIVED (archived=true, last push 2025-11-20). TurboMCP is a different project from a different owner: Epistates/turbomcp (https://github.com/Epistates/turbomcp), a Rust MCP SDK at turbomcp.org, which is what this row's vendor_domain turbomcp.ai points at. Two vendors in one row: split before publishing. Not split by this pass.",
  "mcp_status_bucket": "official",
  "api_gate_bucket": "enterprise-only",
  "mcp_urls": [
    "https://github.com/dylibso/mcp.run-servlets",
    "https://turbomcp.ai"
  ],
  "source_urls": [
    "https://www.mcp.run",
    "https://turbomcp.ai",
    "https://github.com/dylibso/mcp.run-servlets"
  ],
  "source_annotations": [
    "(redirects to turbomcp.ai, confirmed 301)"
  ],
  "vendor_domain": "turbomcp.ai",
  "display_name": "mcp.run / TurboMCP",
  "docs_url": null,
  "jobs": [
    "discover-mcp-servers",
    "proxy-tool-calls-to-saas"
  ],
  "jobs_tagged_by": "machine-pass",
  "jobs_tagged_on": "2026-08-25",
  "github_url": null,
  "github_stars": null,
  "github_last_commit": null,
  "github_archived": null,
  "github_fetched_on": null,
  "github_candidates": [
    "https://github.com/dylibso/mcp.run-servlets",
    "https://github.com/dylibso/mcp.run-servlets"
  ],
  "docs_digest": null,
  "docs_last_crawled": null,
  "submission": null,
  "mcp_tools": [
    {
      "name": "auth_get_url",
      "description": "Get a Trello authorization URL that will display an API token. This token is required for other Trello tools.",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "bcrypt",
      "description": "Hash a string using bcrypt (recommended for passwords)",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "board_add_member",
      "description": "Add a member to a board by email",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "board_create",
      "description": "Create a new Trello board. Note: when creating a board, some lists are automatically created. Check the existing lists before creating new ones.",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "board_get",
      "description": "Get details about a Trello board",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "board_get_cards",
      "description": "Get all cards on a board",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "board_get_labels",
      "description": "Get all labels on a board",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "board_get_lists",
      "description": "Get all lists on a board",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "board_get_members",
      "description": "Get all members of a board",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "board_list",
      "description": "List all boards for the authenticated user",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "board_remove_member",
      "description": "Remove a member from a board",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "card_add_comment",
      "description": "Add a comment to a card",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "card_add_member",
      "description": "Assign a member to a card",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "card_create",
      "description": "Create a new card in a list",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "card_get_comments",
      "description": "Get all comments on a card",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "card_get_members",
      "description": "Get all members assigned to a card",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "card_move",
      "description": "Move a card to a different list and/or position",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "card_remove_member",
      "description": "Remove a member from a card",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "checklist_add_item",
      "description": "Add an item to a checklist",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "checklist_create",
      "description": "Create a new checklist on a card",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "comment_delete",
      "description": "Delete a comment from a card",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "gif-search",
      "description": "Search for GIFs on Tenor",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "google-maps-static-api-center",
      "description": "Returns an image, centered on the given",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "google-maps-static-api-markers",
      "description": "Returns an image, centered around the given",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "historical-flight-api",
      "description": "Get the flight arrivals and departures for a given airport by ICAO identifier within a given time range; or get the details and picture of a flight by callsign and ICAO24 hex code.",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "label_create",
      "description": "Create a new label on a board",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "label_delete",
      "description": "Delete a label",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "list_archive_cards",
      "description": "Archive all cards in a list",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "list_create",
      "description": "Create a new list on a board",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "list_get_cards",
      "description": "Get all cards in a list with pagination",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "list_move",
      "description": "Move a list to a different board",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "maps_directions",
      "description": "Get directions between two points",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "maps_distance_matrix",
      "description": "Calculate travel distance and time for multiple origins and destinations",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "maps_elevation",
      "description": "Get elevation data for locations on the earth",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "maps_geocode",
      "description": "Convert an address into geographic coordinates",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "maps_place_details",
      "description": "Get detailed information about a specific place",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "maps_reverse_geocode",
      "description": "Convert coordinates into an address",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "maps_search_places",
      "description": "Search for places using Google Places API",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "md5",
      "description": "Hash a string using MD5 (Note: MD5 is not cryptographically secure, use for checksums only)",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "sha1",
      "description": "Hash a string using SHA-1 (Note: SHA-1 is not recommended for new applications)",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "sha256",
      "description": "Hash a string using SHA-256 (also called SHA2, cryptographically secure)",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "transcribe",
      "description": "Transcribes an audio file using AssemblyAI and returns the transcription as text. Supports common audio formats (mp3, wav, FLAC, AAC, M4A, etc). Audio can be provided either as a file path or base64-encoded string. on windows, if the user g",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "wp_category_create",
      "description": "Create a new WordPress category",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "wp_category_list",
      "description": "List all WordPress categories",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "wp_comment_approve",
      "description": "Approve a WordPress comment",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "wp_comment_delete",
      "description": "Remove a WordPress comment",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "wp_comment_list",
      "description": "List WordPress comments, optionally filtered by post",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "wp_post_create",
      "description": "Create a new WordPress post",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "wp_post_delete",
      "description": "Delete a WordPress post",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "wp_post_edit",
      "description": "Edit an existing WordPress post",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "wp_post_get",
      "description": "Get a single WordPress post by ID",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "wp_post_list",
      "description": "List WordPress posts with pagination and filtering",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    },
    {
      "name": "wp_post_schedule",
      "description": "Schedule a post for future publication",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "wp_tag_create",
      "description": "Create a new WordPress tag",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "write"
    },
    {
      "name": "wp_tag_list",
      "description": "List all WordPress tags",
      "required_params": [],
      "evidence": "source",
      "repo_party": "third-party",
      "source_party": null,
      "risk": "read"
    }
  ],
  "mcp_tool_count": 55,
  "mcp_tools_evidence": "source",
  "mcp_tools_repo": "dylibso/mcp.run-servlets",
  "mcp_tools_repo_party": "third-party",
  "mcp_catalog_shape": "fixed",
  "mcp_catalog_note": null,
  "mcp_tools_fetched_on": "2026-09-27",
  "cli_status": "none-found",
  "cli_party": null,
  "cli_binary": null,
  "cli_install": [],
  "cli_login": null,
  "cli_commands_seen": [],
  "cli_docs_url": null,
  "cli_repo": null,
  "cli_packages": [],
  "cli_evidence": null,
  "cli_checked_on": "2026-09-27",
  "github_org": null,
  "github_org_status": "unresolved",
  "github_org_url": null,
  "github_org_evidence": {
    "rule": null,
    "reason": "github candidates were seen but none passed the evidence rules",
    "candidates_rejected": [
      {
        "login": "dylibso",
        "from": "rule 2",
        "type": "Organization",
        "website": "https://dylibso.ai",
        "rejected": "website dylibso.ai does not match turbomcp.ai"
      },
      {
        "login": "mcp-run",
        "from": "rule 3 (mcp.run)",
        "type": "Organization",
        "website": "https://mcp.run",
        "rejected": "website mcp.run does not match turbomcp.ai"
      }
    ]
  },
  "github_org_repos": 0,
  "github_org_repos_mcp": 0,
  "github_org_repos_cli": 0,
  "github_org_latest_activity": null,
  "github_org_recent_repos": [],
  "github_org_checked_on": "2026-09-08",
  "mcp_endpoint": null,
  "mcp_docs_url": "https://turbomcp.ai",
  "endpoint_status": "docs-only",
  "endpoint_http_status": 200,
  "endpoint_last_probed": "2026-09-04",
  "endpoint_wall_note": null,
  "canonical": true,
  "canonical_id": "07-mcp-run-turbomcp",
  "also_listed_in": [],
  "source_file": "07-mcp-infrastructure.md",
  "source_line": 80,
  "file_index": 3,
  "category_num": "07",
  "category_slug": "mcp-infrastructure",
  "category_label": "MCP Layer",
  "heading": "mcp.run (now TurboMCP)",
  "missing_schema_fields": [],
  "extra_fields": {},
  "display_rank": 178
}
