Skip to main content
Glama

Server Details

Search Narcotics Anonymous meetings worldwide via the BMLT directory.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
bmlt-enabled/bmlt-server-mcp
GitHub Stars
0

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.1/5 across 6 of 6 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: fetching a single meeting, server info, formats, root servers, service bodies, and searching meetings. No overlap or ambiguity.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern (e.g., get_meeting, list_root_servers, search_meetings), making it easy for agents to predict and select tools.

Tool Count5/5

With 6 tools, the set is well-scoped for a meeting directory server, covering essential operations without being overly sparse or bloated.

Completeness5/5

The tools cover the full lifecycle for a read-only meeting directory: listing metadata (servers, service bodies, formats), searching meetings with filters, and fetching details. No obvious gaps.

Available Tools

6 tools
get_meetingGet a single meeting by IDA
Read-onlyIdempotent
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesBMLT meeting id_bigint.
root_server_urlNoOverride the configured BMLT root server URL.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and idempotent behavior. The description adds that it returns the 'full record', which is helpful but not extensive. No mention of error handling or additional effects, but acceptable given the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that directly states the tool's purpose without any superfluous words. It is well-structured and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple nature of the tool, the description sufficiently informs the agent. It states it returns the 'full record', which gives an idea of the output, though no explicit output schema is provided. Some details about invalid IDs or the effect of the optional root_server_url would make it more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema already provides full descriptions for both parameters (100% coverage). The tool description adds no additional parameter details beyond the schema, so baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Fetch', the resource 'full record for a single meeting', and the identifier 'BMLT id_bigint'. It distinguishes this tool from siblings like 'search_meetings' which search for multiple meetings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly suggests using this tool when you have a specific meeting ID, but it does not explicitly mention when not to use it or provide alternatives. Given the sibling 'search_meetings', some guidance on when to use each would improve clarity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_server_infoGet BMLT root server infoA
Read-onlyIdempotent
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
root_server_urlNoOverride the configured BMLT root server URL.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already provide readOnlyHint and idempotentHint, so the description does not need to reiterate. It adds no behavioral context beyond the annotations, which is acceptable but not enhanced.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with zero waste, efficiently conveying the tool's purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only tool with one optional parameter, the description adequately lists the returned fields (capabilities, version, languages, default coordinates), though no output schema exists. Slightly more detail on return structure could be added, but it's sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single optional parameter, so the description does not need to add extra meaning. It merely restates the parameter's purpose, meeting the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool returns specific server info (capabilities, version, languages, default coordinates) for a BMLT root server, distinguishing it from sibling tools like get_meeting or list_formats.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (getting server metadata) but provides no explicit guidance on alternatives or when not to use it. The purpose is clear but lacks exclusions or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_formatsList meeting formatsA
Read-onlyIdempotent
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoLanguage code for format names (e.g. "en", "es", "fr"). Defaults to server default.
format_idsNoRestrict to specific format IDs.
key_stringsNoRestrict to formats matching these short codes (e.g. ["O", "C", "SP"]).
include_unusedNoInclude formats not currently assigned to any meeting. Default false.
root_server_urlNoOverride the configured BMLT root server URL.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and idempotentHint=true, which the description does not contradict. The description adds value by explaining the return mapping purpose, but does not disclose potential pagination or performance traits. Still, with annotations covering safety, this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, information-dense sentence with no wasted words. It includes examples and purpose, making it efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description lacks details about the response structure (e.g., whether it returns an array of objects with id/name/code) and does not explain how optional filters like language or key_strings affect results. With no output schema, this leaves ambiguity for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all parameters are documented in the schema. The description adds no individual parameter details beyond the schema, providing only overall context. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists meeting formats, gives concrete examples (Open, Closed, Speaker, Beginners), and explains the purpose: mapping human-friendly names to BMLT format IDs. This distinguishes it clearly from siblings that deal with meetings, server info, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when the caller needs to convert format names to IDs for other operations, providing clear context. However, it does not explicitly state when not to use this tool or compare to alternatives, though sibling differentiation is clear from name and context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_root_serversList known BMLT root serversA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
name_containsNoCase-insensitive substring filter applied to the server name.
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only and idempotent behavior, so the description does not need to repeat that. The description adds that the list comes from the aggregator but does not disclose limits, pagination, or other behavioral traits. It is adequate but not enriched.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences. Every word serves a purpose: stating the action and guiding usage. No superfluous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema is provided, but the description implies that the output includes root_server_url and presumably other fields like name. For a simple list tool, this is sufficient for an agent to understand how to use the results. A more detailed description of output fields would earn a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the schema already describes the 'name_contains' parameter. The description does not add any further semantics or usage details beyond the schema, so baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool lists public BMLT root servers known to the aggregator. The verb 'List' and resource 'root servers' are specific, and the context distinguishes it from siblings that query meetings or server info.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description advises using returned root_server_url values with other tools, providing clear next-step guidance. While it does not explicitly state when not to use it or name alternatives, the use case is obvious from the context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_service_bodiesList service bodies (regions / areas)A
Read-onlyIdempotent
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
include_parentsNoAlso include parent service bodies of the requested IDs.
root_server_urlNoOverride the configured BMLT root server URL.
include_childrenNoAlso include child service bodies of the requested IDs.
service_body_idsNoRestrict to specific service body IDs.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as readOnly and idempotent. The description adds that it lists hierarchical service body types (zones, regions, areas, groups), providing context beyond what annotations offer. No additional behavioral traits are needed given the low risk.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: the first states the purpose, the second gives a practical example. Every sentence adds value, and the description is front-loaded with the core action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 4 parameters, no output schema, and annotations cover safety. The description explains the hierarchy types and a primary use case. It doesn't detail output format or pagination, but for a straightforward list tool, this is adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with each parameter described clearly (include_parents, root_server_url, include_children, service_body_ids). The description does not add extra meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that the tool lists BMLT service bodies (zones, regions, areas, groups) and provides a specific use case: translating a region name to an ID for use with search_meetings. This distinguishes it from sibling tools like get_meeting and search_meetings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a concrete usage scenario (translating region name to ID for search_meetings), which implies when to use it. However, it does not explicitly state when not to use it, though the sibling tools cover other functions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_meetingsSearch Narcotics Anonymous meetingsA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (1-indexed). Used with page_size.
addressNoFree-form address to search near (geocoded server-side). Ignored if latitude+longitude are provided.
languageNoLanguage code for format names (e.g. "en", "es", "de", "fr").
latitudeNoLatitude in decimal degrees. Pair with longitude for an exact-coordinate search.
weekdaysNoWeekday filter. 1=Sunday, 2=Monday, ..., 7=Saturday. Example: [2,4,6] for Mon/Wed/Fri.
longitudeNoLongitude in decimal degrees. Pair with latitude for an exact-coordinate search.
page_sizeNoResults per page. Omit to return all matches.
radius_kmNoSearch radius in kilometers. Takes precedence over radius_miles when both are provided. Ignored when no coordinates are provided.
format_idsNoBMLT format IDs to require. Use list_formats to discover IDs (e.g. Open, Closed, Speaker, Beginners).
data_formatNo"summary" returns a curated subset of fields (default). "full" returns the raw BMLT response.summary
search_textNoFree-text search across meeting name, location, and notes.
venue_typesNoVenue type filter. 1=In-person, 2=Virtual, 3=Hybrid.
radius_milesNoSearch radius in miles. Defaults to 10. Ignored if radius_km is provided or no coordinates are given.
starts_afterNoEarliest start time as 24h "HH:MM" (e.g. "18:00").
starts_beforeNoLatest start time as 24h "HH:MM" (e.g. "21:30").
root_server_urlNoOverride the configured BMLT root server URL. Must be allowlisted unless BMLT_ALLOW_ANY_ROOT=true.
service_body_idsNoRestrict to specific service bodies (regions/areas). Use list_service_bodies to discover IDs.
recursive_servicesNoWhen service_body_ids is set, also include their children. Default true.
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations include readOnlyHint and idempotentHint, already indicating safety. The description adds behavioral details like default output format, parameter interactions (address vs lat/lng, radius ignored without coordinates), and data level choice, providing useful context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, immediately stating purpose and then summarizing key filtering capabilities and output options. No redundant or irrelevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the 17 parameters with full schema descriptions, the description covers the main use cases and output differences. No output schema, but explanation of summary vs full is sufficient. Minor omission: no explicit pagination guidance beyond parameter descriptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds value by referencing related discovery tools for service_body_ids and format_ids, and by explaining the venue_types numeric mapping, exceeding the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it searches Narcotics Anonymous meetings on a BMLT root server and lists numerous filter criteria. It distinguishes from siblings like get_meeting (single meeting retrieval) by specifying it returns a list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains the default output (summary) and how to get full raw data via data_format parameter. It hints at using list_service_bodies and list_formats for parameter values, though it does not explicitly state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.