BMLT Meetings

Search Narcotics Anonymous meetings worldwide via the BMLT directory.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
92%
Integridad del esquema
92%
Calidad de los nombres
100%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Hallazgos (1)

  • LOWTool 'get_server_info' description lacks action verben get_server_info

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~1,318Tokens (definiciones de herramientas)
~2.0 KBTamaño de respuesta típico
Impacto moderado en la atención (1.03% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "bmlt-server-mcp": {
      "url": "https://mcp.bmlt.app/mcp"
    }
  }
}

Puntos de conexión remotos

https://mcp.bmlt.app/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (6)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢search_meetings(address, latitude, longitude, radius_miles, radius_km, ...)

Search Narcotics Anonymous meetings on a BMLT root server. Filter by location (address or lat/lng + radius), weekday, time of day, format, venue type (in-person / virtual / hybrid), and service body. Returns a trimmed summary by default; pass data_format='full' for the raw BMLT response.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "address": {
      "description": "Free-form address to search near (geocoded server-side). Ignored if latitude+longitude are provided.",
      "type": "string"
    },
    "latitude": {
      "description": "Latitude in decimal degrees. Pair with longitude for an exact-coordinate search.",
      "type": "number"
    },
    "longitude": {
      "description": "Longitude in decimal degrees. Pair with latitude for an exact-coordinate search.",
      "type": "number"
    },
    "radius_miles": {
      "description": "Search radius in miles. Defaults to 10. Ignored if radius_km is provided or no coordinates are given.",
      "default": 10,
      "type": "number"
    },
    "radius_km": {
      "description": "Search radius in kilometers. Takes precedence over radius_miles when both are provided. Ignored when no coordinates are provided.",
      "type": "number"
    },
    "weekdays": {
      "description": "Weekday filter. 1=Sunday, 2=Monday, ..., 7=Saturday. Example: [2,4,6] for Mon/Wed/Fri.",
      "items": {
        "type": "integer"
      },
      "type": "array"
    },
    "starts_after": {
      "description": "Earliest start time as 24h \"HH:MM\" (e.g. \"18:00\").",
      "type": "string"
    },
    "starts_before": {
      "description": "Latest start time as 24h \"HH:MM\" (e.g. \"21:30\").",
      "type": "string"
    },
    "format_ids": {
      "description": "BMLT format IDs to require. Use list_formats to discover IDs (e.g. Open, Closed, Speaker, Beginners).",
      "items": {
        "type": "integer"
      },
      "type": "array"
    },
    "venue_types": {
      "description": "Venue type filter. 1=In-person, 2=Virtual, 3=Hybrid.",
      "items": {
        "type": "integer"
      },
      "type": "array"
    },
    "service_body_ids": {
      "description": "Restrict to specific service bodies (regions/areas). Use list_service_bodies to discover IDs.",
      "items": {
        "type": "integer"
      },
      "type": "array"
    },
    "recursive_services": {
      "description": "When service_body_ids is set, also include their children. Default true.",
      "default": true,
      "type": "boolean"
    },
    "search_text": {
      "description": "Free-text search across meeting name, location, and notes.",
      "type": "string"
    },
    "language": {
      "description": "Language code for format names (e.g. \"en\", \"es\", \"de\", \"fr\").",
      "type": "string"
    },
    "page_size": {
      "description": "Results per page. Omit to return all matches.",
      "type": "integer"
    },
    "page": {
      "description": "Page number (1-indexed). Used with page_size.",
      "default": 1,
      "type": "integer"
    },
    "data_format": {
      "description": "\"summary\" returns a curated subset of fields (default). \"full\" returns the raw BMLT response.",
      "default": "summary",
      "enum": [
        "summary",
        "full"
      ],
      "type": "string"
    },
    "root_server_url": {
      "description": "Override the configured BMLT root server URL. Must be allowlisted unless BMLT_ALLOW_ANY_ROOT=true.",
      "type": "string"
    }
  }
}
🟢get_meeting(id, root_server_url)

Fetch the full record for a single meeting by its BMLT id_bigint.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "id": {
      "description": "BMLT meeting id_bigint.",
      "type": "integer"
    },
    "root_server_url": {
      "description": "Override the configured BMLT root server URL.",
      "type": "string"
    }
  },
  "required": [
    "id"
  ]
}
🟢list_formats(language, include_unused, format_ids, key_strings, root_server_url)

List available meeting formats (Open, Closed, Speaker, Beginners, language tags, etc.) so the caller can map human-friendly format names to BMLT format IDs.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "language": {
      "description": "Language code for format names (e.g. \"en\", \"es\", \"fr\"). Defaults to server default.",
      "type": "string"
    },
    "include_unused": {
      "description": "Include formats not currently assigned to any meeting. Default false.",
      "default": false,
      "type": "boolean"
    },
    "format_ids": {
      "description": "Restrict to specific format IDs.",
      "items": {
        "type": "integer"
      },
      "type": "array"
    },
    "key_strings": {
      "description": "Restrict to formats matching these short codes (e.g. [\"O\", \"C\", \"SP\"]).",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "root_server_url": {
      "description": "Override the configured BMLT root server URL.",
      "type": "string"
    }
  }
}
🟢list_service_bodies(service_body_ids, include_children, include_parents, root_server_url)

List BMLT service bodies (zones, regions, areas, groups). Useful for translating "Northern California Region" to a service body ID for use with search_meetings.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "service_body_ids": {
      "description": "Restrict to specific service body IDs.",
      "items": {
        "type": "integer"
      },
      "type": "array"
    },
    "include_children": {
      "description": "Also include child service bodies of the requested IDs.",
      "default": false,
      "type": "boolean"
    },
    "include_parents": {
      "description": "Also include parent service bodies of the requested IDs.",
      "default": false,
      "type": "boolean"
    },
    "root_server_url": {
      "description": "Override the configured BMLT root server URL.",
      "type": "string"
    }
  }
}
🟢get_server_info(root_server_url)

Return capabilities, version, languages, and default coordinates for a BMLT root server.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "root_server_url": {
      "description": "Override the configured BMLT root server URL.",
      "type": "string"
    }
  }
}
🟢list_root_servers(name_contains)

List public BMLT root servers known to the BMLT aggregator. Use the returned root_server_url values with other tools to query a specific server.

Esquema de entrada

{
  "type": "object",
  "properties": {
    "name_contains": {
      "description": "Case-insensitive substring filter applied to the server name.",
      "type": "string"
    }
  }
}

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada6 herramientas
verificadoversión no registrada6 herramientas
verificadoversión no registrada6 herramientas