Catalog npm
Back to packageRELEASE DETAILS

3.1.4

npm

3gpp-kb-mcp

Self-contained MCP server for 3GPP telecom specifications — semantic search, local stdio or remote HTTP deployment

3gpp5gaihttpknowledge-baseltemcpmodel-context-protocolnrofflineragremotespecificationsstandalonetelecom
Published22 Apr 2026
Direct dependencies4
Transitive dependenciesNot calculated

README

Current package documentation

3gpp-kb-mcp

Self-contained MCP server for 3GPP telecom specifications.

Gives any MCP-compatible AI assistant (Cursor, Claude Desktop, VS Code Copilot) semantic search over 3GPP Technical Specifications (TS) and Technical Reports (TR) — no Python, no server, no internet required at query time.

Quick Start

Step 1 — Build the local SQLite database (one-time)

# Clone the pipeline and build your knowledge base
git clone https://github.com/your-repo/3gpp-kb
cd 3gpp-kb

# Install and run the full pipeline (downloads + extracts + embeds ~997 specs)
pip install -r requirements.txt
python pipeline.py run-all          # builds 3gpp_kb/chunks/ and ChromaDB index

# Export to SQLite for standalone use
python export_to_sqlite.py          # creates 3gpp_kb/3gpp.db (~400 MB)

One-time only. After this, no Python needed — ever.

Step 2 — Add to Cursor / Claude Desktop

{
  "mcpServers": {
    "3gpp-kb": {
      "command": "npx",
      "args": ["3gpp-kb-mcp@latest", "--db", "/absolute/path/to/3gpp_kb/3gpp.db"]
    }
  }
}

First run downloads the embedding model (~25 MB) and caches it. After that, fully offline.

Step 3 — Ask questions

"What are the beam management procedures in 5G NR?"
"Show me TS 38.331 RRC reconfiguration procedure"
"Explain AMF registration in TS 23.501"
"List all security specs in series 33"

CLI Usage

# Standalone (no server needed)
npx 3gpp-kb-mcp --db /path/to/3gpp_kb/3gpp.db

# Proxy mode (requires Python FastAPI backend)
npx 3gpp-kb-mcp --api-url http://localhost:8000

# Help
npx 3gpp-kb-mcp --help

Available Tools

ToolDescription
search_3gppSemantic search across all specs. Filter by series, release, doc_type
get_spec_infoFull text of a specific spec (e.g. 38.331, 23.501)
list_specsBrowse indexed specs, filterable by series or release
list_series3GPP series catalog — which series are indexed
kb_statsChunk count, specs, model, mode (standalone vs proxy)

Architecture

MCP Client (Cursor / Claude)
    │ stdio
    ▼
3gpp-kb-mcp  (this package)
    │
    ├── STANDALONE MODE (default)
    │     Transformers.js — all-MiniLM-L6-v2 (runs in Node.js, 25MB model)
    │     better-sqlite3  — local 3gpp.db (~400MB, pre-computed embeddings)
    │     Pure JS cosine similarity — no external services
    │
    └── PROXY MODE (--api-url)
          HTTP → FastAPI backend (pipeline.py serve)
          ChromaDB + sentence-transformers (Python)

Version History

VersionWhat changed
v2.0.0Standalone mode — runs entirely in Node.js, no Python/server required
v1.0.xProxy mode only — required Python FastAPI backend

License

MIT

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 4

Native requirements
4 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
sql.js
Environment
{
  "local_name": "sql.js",
  "alias": false,
  "peer_metadata": null
}
^1.14.1runtime
@aws-sdk/client-s3
Environment
{
  "local_name": "@aws-sdk/client-s3",
  "alias": false,
  "peer_metadata": null
}
^3.914.0runtime
@huggingface/transformers
Environment
{
  "local_name": "@huggingface/transformers",
  "alias": false,
  "peer_metadata": null
}
^3.4.0runtime
@modelcontextprotocol/sdk
Environment
{
  "local_name": "@modelcontextprotocol/sdk",
  "alias": false,
  "peer_metadata": null
}
^1.10.2runtime

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "shasum": "e1b864f86b8160e758af453f597fd9a2a0dd0601",
  "tarball": "https://registry.npmjs.org/3gpp-kb-mcp/-/3gpp-kb-mcp-3.1.4.tgz",
  "fileCount": 6,
  "integrity": "sha512-by9V726SYfuajGIjocna40d8RWEiN058W+55XG0tzJxzhnIMM338fier9uL8P+rmPb3aRLTqgFOrE4r4PZCmlg==",
  "signatures": [
    {
      "sig": "MEYCIQD5Pj/cZagSR4OFspHERHdQCXf9MhX9yZh+1XDmPfUSlAIhAP2c95AQsPGA2fqK/8HOW6KUuChLu0Fh+7ahsij7OgGV",
      "keyid": "SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"
    }
  ],
  "unpackedSize": 34417
}

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 19:42 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:c6b51c56322b1edad24fdcedabc36bbfcee6cf5f69f85a2d4dadd8b5281185e4

Other collected versions

3.2.023 Apr3.1.723 Apr3.1.623 Apr3.1.522 Apr3.1.322 Apr3.1.222 AprView all collected versions →