Skip to main content
Glama

get_specification_details

Retrieve detailed information about 3GPP specifications including metadata, content, dependencies, and related data for telecommunications standards development.

Instructions

Get comprehensive details about a specific 3GPP specification including metadata, content, dependencies, and related information.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNoResponse format - agent_ready provides structured JSON for AI agentsagent_ready
include_contentNoInclude detailed content from TSpec-LLM dataset (default: true)
include_dependenciesNoInclude information about specification dependencies (default: true)
specification_idYesThe specification ID (e.g., "TS 32.290", "TS 38.331", "TS 33.501")

Implementation Reference

  • Core handler function that executes the tool: fetches specification details via API manager, formats output based on 'format' parameter (agent_ready, summary, detailed), and handles errors.
    async execute(args: GetSpecificationDetailsArgs) { try { const details = await this.apiManager.getSpecificationDetails(args.specification_id); const format = args.format || 'agent_ready'; switch (format) { case 'agent_ready': return { content: [ { type: 'text', text: JSON.stringify(this.formatForAgent(details, args), null, 2) } ] }; case 'summary': return { content: [ { type: 'text', text: this.formatSummary(details, args) } ] }; case 'detailed': default: return { content: [ { type: 'text', text: this.formatDetailed(details, args) } ] }; } } catch (error) { return { content: [ { type: 'text', text: `Error retrieving specification details: ${error instanceof Error ? error.message : 'Unknown error'}` } ], isError: true }; } }
  • TypeScript interface defining the input schema/arguments for the get_specification_details tool.
    export interface GetSpecificationDetailsArgs { specification_id: string; include_content?: boolean; include_dependencies?: boolean; format?: 'detailed' | 'summary' | 'agent_ready'; }
  • Tool definition method providing name, description, and JSON schema for input validation in MCP protocol.
    getDefinition() { return { name: 'get_specification_details', description: 'Get comprehensive details about a specific 3GPP specification including metadata, content, dependencies, and related information.', inputSchema: { type: 'object', properties: { specification_id: { type: 'string', description: 'The specification ID (e.g., "TS 32.290", "TS 38.331", "TS 33.501")' }, include_content: { type: 'boolean', description: 'Include detailed content from TSpec-LLM dataset (default: true)', default: true }, include_dependencies: { type: 'boolean', description: 'Include information about specification dependencies (default: true)', default: true }, format: { type: 'string', enum: ['detailed', 'summary', 'agent_ready'], description: 'Response format - agent_ready provides structured JSON for AI agents', default: 'agent_ready' } }, required: ['specification_id'] } }; }
  • src/index.ts:85-93 (registration)
    Registers the tool by including its getDefinition() in the MCP ListTools response.
    this.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: [ this.searchTool.getDefinition(), this.detailsTool.getDefinition(), this.compareTool.getDefinition(), this.requirementsTool.getDefinition() ] };
  • src/index.ts:104-105 (registration)
    Dispatches execution of the tool in the MCP CallToolRequestSchema handler.
    case 'get_specification_details': return await this.detailsTool.execute(args as unknown as GetSpecificationDetailsArgs);
  • Key helper method called by the tool handler to retrieve comprehensive specification data from TSpec-LLM client and 3GPP API client.
    async getSpecificationDetails(specId: string): Promise<{ metadata: SpecificationMetadata; tspec_content?: TSpecSearchResponse; working_group: WorkingGroupInfo; release: ReleaseInfo; }> { try { // Get official metadata const metadata = await this.tgppClient.getSpecificationMetadata(specId); // Get related TSpec content const tspecContent = await this.tspecClient.searchSpecifications({ query: specId, max_results: 3 }); // Get working group info const workingGroup = await this.tgppClient.getWorkingGroupInfo(metadata.working_group); // Get release info const release = await this.tgppClient.getReleaseInfo(metadata.release); return { metadata, tspec_content: tspecContent, working_group: workingGroup, release }; } catch (error) { throw new Error(`Failed to get specification details: ${error instanceof Error ? error.message : 'Unknown error'}`); } }

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