Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,544Letters: 14Defects: 1,324counted just now
teppi

Server definition

Hash
sha256:42a415dc4d9fb43c561a1fee58a03eb0308019acdf0386147ce166b4a7f32ff0
What it is
What a remote MCP server returned when asked what it offers: 6 tools

The blob, as servednamed by its sha256

{ "instructions": "This server exposes read-only access to the Basic Meeting List Toolbox (BMLT) — the\ndirectory of Narcotics Anonymous meetings. Tools query a configured BMLT root\nserver (or any root that the deployment allowlists via root_server_url).\n\nSuggested flow for \"find me a meeting\" queries:\n\n1. If the user names a region, call list_service_bodies first to map names → IDs.\n2. If the user wants a format filter (e.g. \"open speaker meetings\"), call\n list_formats to map names → IDs.\n3. Call search_meetings with either an address (geocoded server-side) or\n latitude/longitude + radius_miles, plus any filters from steps 1-2.\n4. For deeper detail on a single meeting, call get_meeting with its id_bigint.\n\nUse list_root_servers if the user asks about a server you do not have\nconfigured (the BMLT aggregator publishes a directory of public roots).", "tools": [ { "description": "Fetch the full record for a single meeting by its BMLT id_bigint.", "inputSchema": { "properties": { "id": { "description": "BMLT meeting id_bigint.", "type": "integer" }, "root_server_url": { "description": "Override the configured BMLT root server URL.", "type": "string" } }, "required": [ "id" ], "type": "object" }, "name": "get_meeting", "outputSchema": null }, { "description": "Return capabilities, version, languages, and default coordinates for a BMLT root server.", "inputSchema": { "properties": { "root_server_url": { "description": "Override the configured BMLT root server URL.", "type": "string" } }, "type": "object" }, "name": "get_server_info", "outputSchema": null }, { "description": "List available meeting formats (Open, Closed, Speaker, Beginners, language tags, etc.) so the caller can map human-friendly format names to BMLT format IDs.", "inputSchema": { "properties": { "format_ids": { "description": "Restrict to specific format IDs.", "items": { "type": "integer" }, "type": "array" }, "include_unused": { "default": false, "description": "Include formats not currently assigned to any meeting. Default false.", "type": "boolean" }, "key_strings": { "description": "Restrict to formats matching these short codes (e.g. [\"O\", \"C\", \"SP\"]).", "items": { "type": "string" }, "type": "array" }, "language": { "description": "Language code for format names (e.g. \"en\", \"es\", \"fr\"). Defaults to server default.", "type": "string" }, "root_server_url": { "description": "Override the configured BMLT root server URL.", "type": "string" } }, "type": "object" }, "name": "list_formats", "outputSchema": null }, { "description": "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.", "inputSchema": { "properties": { "name_contains": { "description": "Case-insensitive substring filter applied to the server name.", "type": "string" } }, "type": "object" }, "name": "list_root_servers", "outputSchema": null }, { "description": "List BMLT service bodies (zones, regions, areas, groups). Useful for translating \"Northern California Region\" to a service body ID for use with search_meetings.", "inputSchema": { "properties": { "include_children": { "default": false, "description": "Also include child service bodies of the requested IDs.", "type": "boolean" }, "include_parents": { "default": false, "description": "Also include parent service bodies of the requested IDs.", "type": "boolean" }, "root_server_url": { "description": "Override the configured BMLT root server URL.", "type": "string" }, "service_body_ids": { "description": "Restrict to specific service body IDs.", "items": { "type": "integer" }, "type": "array" } }, "type": "object" }, "name": "list_service_bodies", "outputSchema": null }, { "description": "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.", "inputSchema": { "properties": { "address": { "description": "Free-form address to search near (geocoded server-side). Ignored if latitude+longitude are provided.", "type": "string" }, "data_format": { "default": "summary", "description": "\"summary\" returns a curated subset of fields (default). \"full\" returns the raw BMLT response.", "enum": [ "summary", "full" ], "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" }, "language": { "description": "Language code for format names (e.g. \"en\", \"es\", \"de\", \"fr\").", "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" }, "page": { "default": 1, "description": "Page number (1-indexed). Used with page_size.", "type": "integer" }, "page_size": { "description": "Results per page. Omit to return all matches.", "type": "integer" }, "radius_km": { "description": "Search radius in kilometers. Takes precedence over radius_miles when both are provided. Ignored when no coordinates are provided.", "type": "number" }, "radius_miles": { "default": 10, "description": "Search radius in miles. Defaults to 10. Ignored if radius_km is provided or no coordinates are given.", "type": "number" }, "recursive_services": { "default": true, "description": "When service_body_ids is set, also include their children. Default true.", "type": "boolean" }, "root_server_url": { "description": "Override the configured BMLT root server URL. Must be allowlisted unless BMLT_ALLOW_ANY_ROOT=true.", "type": "string" }, "search_text": { "description": "Free-text search across meeting name, location, and notes.", "type": "string" }, "service_body_ids": { "description": "Restrict to specific service bodies (regions/areas). Use list_service_bodies to discover IDs.", "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" }, "venue_types": { "description": "Venue type filter. 1=In-person, 2=Virtual, 3=Hybrid.", "items": { "type": "integer" }, "type": "array" }, "weekdays": { "description": "Weekday filter. 1=Sunday, 2=Monday, ..., 7=Saturday. Example: [2,4,6] for Mon/Wed/Fri.", "items": { "type": "integer" }, "type": "array" } }, "type": "object" }, "name": "search_meetings", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:42a415dc4d9fb43c561a1fee58a03eb0308019acdf0386147ce166b4a7f32ff0 | sha256sum