Skip to main content
Glama

search_specifications

Search 3GPP telecommunications specifications using natural language queries to retrieve technical content, implementation requirements, and structured metadata for development and analysis.

Instructions

Search 3GPP specifications using TSpec-LLM dataset and official metadata. Returns actual specification content and structured metadata for agent consumption.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNoResponse format - agent_ready provides structured JSON optimized for AI agentsagent_ready
include_contentNoInclude detailed specification content from TSpec-LLM (default: true)
max_resultsNoMaximum number of results to return (default: 5)
queryYesSearch query (e.g., "5G charging CHF implementation", "handover procedures", "authentication security")
release_filterNoFilter by 3GPP release (e.g., ["Rel-16", "Rel-17"])
series_filterNoFilter by specification series (e.g., ["32", "33", "38"])

Implementation Reference

  • Main execution handler for the 'search_specifications' tool. Constructs search request, calls APIManager.enhancedSearch, handles different output formats, and manages errors.
    async execute(args: SearchSpecificationsArgs) { try { const request: EnhancedSearchRequest = { query: args.query, include_tspec_content: args.include_content !== false, include_official_metadata: true, max_results: args.max_results || 5, series_filter: args.series_filter, release_filter: args.release_filter }; const searchResults = await this.apiManager.enhancedSearch(request); const format = args.format || 'agent_ready'; switch (format) { case 'agent_ready': return { content: [ { type: 'text', text: JSON.stringify(this.formatForAgent(searchResults), null, 2) } ] }; case 'summary': return { content: [ { type: 'text', text: this.formatSummary(searchResults) } ] }; case 'detailed': default: return { content: [ { type: 'text', text: this.formatDetailed(searchResults) } ] }; } } catch (error) { return { content: [ { type: 'text', text: `Error searching specifications: ${error instanceof Error ? error.message : 'Unknown error'}` } ], isError: true }; } }
  • Tool definition including name, description, and detailed inputSchema for MCP tool registration and validation.
    getDefinition() { return { name: 'search_specifications', description: 'Search 3GPP specifications using TSpec-LLM dataset and official metadata. Returns actual specification content and structured metadata for agent consumption.', inputSchema: { type: 'object', properties: { query: { type: 'string', description: 'Search query (e.g., "5G charging CHF implementation", "handover procedures", "authentication security")' }, max_results: { type: 'number', description: 'Maximum number of results to return (default: 5)', default: 5 }, series_filter: { type: 'array', items: { type: 'string' }, description: 'Filter by specification series (e.g., ["32", "33", "38"])' }, release_filter: { type: 'array', items: { type: 'string' }, description: 'Filter by 3GPP release (e.g., ["Rel-16", "Rel-17"])' }, include_content: { type: 'boolean', description: 'Include detailed specification content from TSpec-LLM (default: true)', default: true }, format: { type: 'string', enum: ['detailed', 'summary', 'agent_ready'], description: 'Response format - agent_ready provides structured JSON optimized for AI agents', default: 'agent_ready' } }, required: ['query'] } }; }
  • TypeScript interface defining input arguments for the tool, matching the inputSchema.
    export interface SearchSpecificationsArgs { query: string; max_results?: number; series_filter?: string[]; release_filter?: string[]; include_content?: boolean; format?: 'detailed' | 'summary' | 'agent_ready'; }
  • src/index.ts:76-82 (registration)
    Instantiates SearchSpecificationsTool instance as this.searchTool with APIManager dependency.
    private initializeComponents() { // Initialize V3 data access tools this.searchTool = new SearchSpecificationsTool(this.apiManager); this.detailsTool = new GetSpecificationDetailsTool(this.apiManager); this.compareTool = new CompareSpecificationsTool(this.apiManager); this.requirementsTool = new FindImplementationRequirementsTool(this.apiManager); }
  • src/index.ts:101-103 (registration)
    Registers tool dispatch in MCP CallToolRequestSchema handler: routes 'search_specifications' calls to the tool's execute method.
    case 'search_specifications': return await this.searchTool.execute(args as unknown as SearchSpecificationsArgs);

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/edhijlu/3gpp-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server