MCP server for managing and monitoring OpenAirInterface 5G gNB (gNodeB) network configurations, providing tools for bandwidth adjustment, configuration retrieval, logging, and 3GPP documentation access.
This server has 13 tools with moderate definition quality. Naming is mostly clear and verb-based (update_, get_, restart_, list_), which is good. However, there are significant gaps in schema completeness, parameter descriptions, and output documentation. Most tools lack detailed input validation constraints and error handling guidance. The partial source code visible shows tool registrations but incomplete schema visibility. Several tools (3GPP document tools) have parameter descriptions but no visible schema validation or type constraints in the code snippet. Action logging is present but tool annotations (readOnlyHint, destructiveHint) are not used, despite being available in fastmcp. Output schemas are not documented, we don't know what structure get_ue_logs or get_gnb_logs actually return. The prompts are well-written and guide workflow, but they don't compensate for weak tool definitions.
Retrieves an overview of a specific 3GPP technical specification document.
Retrieves a specific section from a 3GPP technical specification document.
Retrieves the table of contents from a 3GPP technical specification document, optionally filtered by keyword.
Retrieves the current gNB configuration in the 5G SA network. The purpose of this tool is to check if configuration modification in gnb is implemented in the .conf file. This cannot be used to confirm if the modification is implemented in the 5G network. Use the UE logging and gnb logging tool to get the performance metrics of the network to check if the modification is implemented. This tool executes the shell script that parses the local gNB configuration file and returns detailed configuration information in JSON format including: - gNB identity (ID, name, tracking area) - PLMN configuration (MCC, MNC) - RF configuration (band, frequencies, bandwidth) - Power settings (SSB, PDSCH, max UE power) - SSB and PRACH configuration - Antenna configuration Validation: Double-check calculations against known 5G standards Cross-reference with 3GPP specifications or OAI documentation when interpreting parameters Ask for clarification when uncertain rather than making assumption
Retrieves gNB logs from the 5G SA network for performance analysis and debugging.
Output schemas undocumented for retrieval tools (get_ue_logs, get_gnb_logs, get_gnb_config). LLM cannot infer structure of returned logs or know which fields are available for post-processing.
Descriptions for get_ue_logs and get_gnb_logs are minimal (40 chars). They lack WHEN to use, WHAT structure is returned, and what metrics/fields to expect. Descriptions should explain: returns JSON with fields X, Y, Z for performance analysis of metric Q.
No input validation constraints visible in schema for MCS and attenuation tools. update_dl_mcs accepts min_mcs and max_mcs as integers but no min/max bounds documented (e.g., 0-28 for 5G). update_power_attenuation accepts tx_attenuation and rx_attenuation as numbers with no range (e.g., dB limits). LLM can pass absurd values.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 39 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Retrieves UE (User Equipment) logs from the 5G SA network for performance analysis and debugging.
Lists all available 3GPP technical specification documents in the knowledge base.
Restarts the gNB server to apply configuration changes to the 5G SA network.
Restarts the User Equipment to reconnect it to the gNB.
Updates downlink Modulation and Coding Scheme (MCS) parameters in the gNB configuration.
Updates bandwidth-related parameters in the gNB .conf configuration file for Band 78. This tool configures the gNB bandwidth to either 10MHz or 20MHz and automatically sets the appropriate carrier bandwidth and BWP parameters according to 3GPP standards. You should restart the gNB to apply changes.
Updates transmission and reception power attenuation parameters for gNB and UE.
Updates uplink Modulation and Coding Scheme (MCS) parameters in the gNB configuration.
Destructive tools (restart_gnb, restart_ue) lack confirmation or dry-run support. Descriptions say 'Restarts the gNB server' but do not warn: 'This will disconnect all UEs. Requires confirmation before executing.' No confirmation_request pattern implemented.
Tool annotations (readOnlyHint, destructiveHint, idempotentHint) are not used. fastmcp supports these; they should be applied: get_* tools marked readOnly=true, restart_* marked destructive=true, update_* marked destructive=true. This improves LLM planning and safety.
No error handling guidance in tool descriptions. E.g., update_gnb_bandwidth description does not say what happens if bandwidth config file is not found, or if parameters are invalid. Agents need: 'If config file not found, check OAI_CONF_DIR env var' or 'Invalid bandwidth; must be 10MHz or 20MHz.'
3GPP document tools (get_3gpp_document_overview, get_3gpp_document_section, get_3gpp_document_toc) have 50-char descriptions that are generic ('Retrieves an overview...'). Descriptions should explain the knowledge base structure: 'Returns structured overview with sections and key parameters from 3GPP TS 38.104 (5G NR Band 78).' Helps LLM know what to expect.
Parameter descriptions for 3GPP document tools are minimal. 'document': '3GPP document number (e.g., "38.104", "38.211")', does NOT say: Is this required? Can I pass full titles? What happens if I pass an invalid doc number? Should describe: 'Required. Format: numeric (e.g., 38.104). Call list_3gpp_documents to discover valid numbers.'
No pagination or result limiting for 3GPP document retrieval. If a document has hundreds of sections, get_3gpp_document_toc could dump everything to the LLM context. Should implement limit and offset params, or document max result size.