MCP server for searching and retrieving 3GPP specification documents
mcp-server-3gpp
š MCP Server for 3GPP Specification Document Search
A Model Context Protocol (MCP) server that enables AI assistants to search and retrieve information from 3GPP specification documents.
Features
- š Search 3GPP Documents: Full-text search across 3GPP specifications
- š EMM/5GMM Cause Lookup: Quick reference for LTE and 5G NAS cause values
- šÆ Pre-built Data Included: Ready to use immediately after installation
- š MCP SDK v1.0.0 Compatible: Full support for structured responses
- ā Comprehensive Testing: 13 test scenarios with validation tools
ā Included Specifications (Pre-processed)
- TS 24.008 - 2G/3G NAS (MM/GMM/SM/CC)
- TS 24.301 - LTE NAS (EMM/ESM)
- TS 24.501 - 5G NAS (5GMM/5GSM)
- TS 36.300 - E-UTRA Overall Description
š„ Additional Specifications (User can add)
The MCP server architecture supports expanding to more specifications. Users can add:
PCT (Protocol Conformance Test)
- TS 51.010-1 (2G), TS 34.123-1 (3G), TS 36.523-1 (4G), TS 38.523-1 (5G)
Protocol
- TS 31.121 (USIM), TS 31.124 (USAT)
IMS
- TS 34.229-1 (4G IMS), TS 34.229-5 (5G IMS)
Architecture
- TS 38.300 (NR Overall), TR 37.901 (Data Throughput)
RF (if needed)
- TS 36.521, TS 38.521 series, etc.
To add specifications: Download PDFs ā Run npm run setup
Available Tools
| Tool | Description |
|---|---|
search_3gpp_docs |
Search 3GPP documents by keywords |
get_emm_cause |
Get EMM cause (LTE) or 5GMM cause (5G) details |
list_specs |
List available specifications |
Testing & Validation
This package includes comprehensive testing tools:
# Run all SpecKit user story tests (13 scenarios)
npm test
# Validate data structure and MCP server
npm run validate
Test Coverage:
- ā 13 acceptance scenarios from SpecKit specs
- ā All 3 MCP tools (search, get_emm_cause, list_specs)
- ā Data structure validation (22,408 chunks)
- ā EMM/5GMM cause lookup verification
Installation
Prerequisites
- Node.js >= 18.0.0
- Git LFS (for downloading pre-built data)
Quick Start (Recommended)
# Install Git LFS (if not already installed)
git lfs install
# Clone and install
git clone https://github.com/Lee-SiHyeon/mcp-server-3gpp.git
cd mcp-server-3gpp
npm install
# If chunks.json is a pointer file, pull LFS data
git lfs pull
# ā
Ready to use! Pre-built data with 17 specs included.
npm start
Note: The pre-built
chunks.json(107MB) is stored with Git LFS. If you don't have Git LFS installed, you can still use the MCP server for EMM/5GMM cause lookup, or generate data yourself using the scripts.
Included Specs
The package includes pre-processed chunks for 17 specifications:
NAS Layer (4 specs)
- TS 24.008 (2G/3G NAS)
- TS 24.301 (LTE NAS)
- TS 24.501 (5G NAS)
- TS 36.300 (E-UTRA Architecture)
RRC - Radio Resource Control (3 specs) š
- TS 25.331 (3G UMTS RRC - SIB details)
- TS 36.331 (4G LTE RRC - SIB details)
- TS 38.331 (5G NR RRC - SIB details)
PCT - Protocol Conformance Test (4 specs)
- TS 51.010-1 (2G Protocol)
- TS 34.123-1 (3G Protocol)
- TS 36.523-1 (4G Protocol)
- TS 38.523-1 (5G Protocol)
USIM/USAT (2 specs)
- TS 31.121 (USIM)
- TS 31.124 (USAT)
IMS (2 specs)
- TS 34.229-1 (4G IMS)
- TS 34.229-5 (5G IMS)
Architecture (2 specs)
- TS 38.300 (5G NR)
- TR 37.901 (Data Throughput)
Total: 22,408 pre-built chunks, ~107MB
Optional: Update Data
If you want to regenerate data with the latest 3GPP specifications:
# Option 1: Automatic (downloads and processes PDFs)
npm run setup
# Option 2: Manual
# Step 1: Download PDFs
npm run download-pdfs
# Step 2: Extract and chunk
npm run prepare-data
Data Preparation
ā Pre-built Data Included (Git LFS)
This package includes pre-processed 3GPP specification data (chunks.json) with 17 specifications and 22,408 chunks (~107MB).
Important: The data file is stored using Git LFS (Large File Storage).
If you have Git LFS installed:
git lfs pull # Download the actual data file
If you don't have Git LFS:
# Option 1: Install Git LFS (recommended)
# Windows: Download from https://git-lfs.github.com/
# Mac: brew install git-lfs
# Linux: sudo apt-get install git-lfs
git lfs install
git lfs pull
# Option 2: Manual download
# Download chunks.json from GitHub releases or generate it yourself (see below)
Without Git LFS: The MCP server will still work for EMM/5GMM cause lookup. Full document search requires the data file.
š„ Add More Specifications (Optional)
Want to add more specifications? Follow these steps:
Prerequisites
# Install Python dependencies (required for PDF processing)
pip install pymupdf
Option 1: Automatic Download
Download additional specifications automatically:
# Download PCT specs (Protocol, USIM, USAT, IMS,
Tools (3)
search_3gpp_docsSearch 3GPP documents by keywordsget_emm_causeGet EMM cause (LTE) or 5GMM cause (5G) detailslist_specsList available specificationsConfiguration
{"mcpServers": {"3gpp": {"command": "node", "args": ["/path/to/mcp-server-3gpp/index.js"]}}}