Token导航 LogoToken导航

MCP Server · 搜索检索

MCP Server 3gpp

基于AI引导的3GPP/IETF协议文档导航服务器,提供结构化检索、跨文档引用追踪和测试用例提取功能,适用于通信协议开发与标准研究场景。

stdio官方级别未说明来源级核验工具 12
JavaScript搜索文档处理

快速开始

作者 / 组织
Lee-SiHyeon
提供方
Lee-SiHyeon
运行时
Python

工具数量

12

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

3

仓库热度

收录来源

2 个

MCP World

选型结论

MCP Server 3gpp 属于搜索检索类 MCP Server,公开资料标注 12 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前要先准备 API Key。

分类

搜索检索

传输方式

stdio

认证方式

API Key

部署方式

公开资料未说明

安装与配置

安装命令

python3 scripts/crawl_etsi_catalog.py --publication-types etsi_ts etsi_tr --depth documents --plan-only

客户端配置示例

{
  "mcpServers": {
    "mcp-server-3gpp": {
      "command": "python3",
      "args": [
        "scripts/crawl_etsi_catalog.py",
        "--publication-types",
        "etsi_ts",
        "etsi_tr",
        "--depth",
        "documents",
        "--plan-only"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 12 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

mcp-server-3gpp

用于3GPP和IETF RFC规范的MCP服务器,由预构建的SQLite语料库支持。

当前的v2服务器是围绕AI引导的章节导航构建的,而不是硬编码的协议查找逻辑。预期的工作流程是:

  1. 通过以下方式了解相关规格 get_spec_catalog, search_etsi_catalog,或 search_3gpp_docs.
  2. 浏览章节结构 get_spec_toc.
  3. 使用检索精确文本 get_section.
  4. 在本地扩展 search_related_sections.
  5. 使用以下命令跳过文档 get_spec_references.
  6. 提取测试用例结构 get_test_case_structure 和 list_test_cases.

搜索是一个起点,而不是整个产品。该模型预计会有意识地浏览和选择章节。

今天有什么船

  • 数据库支持的v2服务器,配备12个MCP工具
  • 预构建语料库 data/corpus/3gpp.db
  • 总共207个规格:113个TS,1个TR,93个RFC
  • 66109个完整部分和63376个TOC行
  • 45162交叉规格参考边
  • 标准MCP入口点 src/index.js
  • 可选的流式HTTP传输 src/http.js
  • 四向RRF混合搜索(互序融合)
  • 可选的Windows AnyTXT搜索器集成
  • 可选HyDE(假设文档嵌入)通过NVIDIA NIM API进行查询扩展

搜索行为

搜索使用一个多阶段检索管道,最多有四个并行检索器,由RRF(互易秩融合,k=60)融合:

Query -> [FTS5/BM25]    (keyword, always active)
      -> [sqlite-vec]    (semantic, when embeddings ready)
      -> [AnyTXT API]    (full-document, when AnyTXT running on Windows)
      -> [HyDE + LLM]    (query expansion, when NVIDIA API key configured)
      -> RRF fusion -> Structure-aware ranking -> Results

关键属性:

  • 基线 npm install 为您提供关键字就绪的服务器路径:BM25/FTS搜索、TOC导航、精确部分检索和跨规范引用。
  • search_3gpp_docs 支持引用短语, spec: 过滤器, section: 该基线路径中的提示和否定。
  • RRF融合用基于排名的评分取代了原始评分组合,消除了在具有不兼容分布的检索器之间进行评分归一化的需要。使用 fusion: 'rrf' (默认)或 fusion: 'linear' 切换。
  • 数据库和运行时可以托管 sqlite-vec 嵌入通过 vec_sections,但这仅使语料库向量具有能力。
  • 语义检索或混合检索应被视为一种可选的就绪状态。仅当运行时具有语义先决条件并且烟雾路径实际返回时,它才处于活动状态 mode_actual=hybrid 或 mode_actual=semantic 结果中有语义证据。
  • HyDE通过NVIDIA LLM生成一个假设的3GPP风格的答案,然后嵌入该答案进行矢量搜索,从而扩展了简短/模糊的查询。这弥合了查询和文档之间的词汇差距。

需求

  • Node.js 20.x、22.x和24.x是受支持的、经过CI测试的运行时。
  • 该项目使用 better-sqlite3 12.x,因此安装可以在支持的Node版本中使用预构建的本机二进制文件,包括Windows上的Node 24。
  • 如果稍后扩展节点版本范围,请同时更新本机依赖关系和CI矩阵。

快速启动

git lfs install
git clone https://github.com/Lee-SiHyeon/mcp-server-3gpp.git
cd mcp-server-3gpp
npm install
npm run validate
npm start

捆绑的数据库使用Git LFS进行跟踪。一个健康的创业公司看起来像:

[3GPP MCP] Database ready: .../data/corpus/3gpp.db
[3GPP MCP] Features - FTS: true, Vector: true
[3GPP MCP] Registered 12 tools (v2 DB mode)

npm run validate 现在报告了两个独立的状态:

  • Baseline keyword readiness:数据库支持的12工具服务器运行良好,搜索/导航工作在关键字模式下。
  • Optional semantic readiness:是否安装了语义先决条件,以及实时工具冒烟测试是否实际激活了语义/混合检索。

MCP客户端配置

克劳德桌面版

{
  "mcpServers": {
    "3gpp": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-server-3gpp/src/index.js"]
    }
  }
}

VS代码/GitHub副本

{
  "servers": {
    "3gpp": {
      "type": "stdio",
      "command": "node",
      "args": ["/absolute/path/to/mcp-server-3gpp/src/index.js"]
    }
  }
}

可选自定义数据库路径

{
  "env": {
    "THREEGPP_DB_PATH": "/custom/path/to/3gpp.db"
  }
}

服务器按顺序检查这些数据库位置:

  1. THREEGPP_DB_PATH
  2. data/corpus/3gpp.db
  3. data/3gpp.db

工具表面

工具目的
get_spec_catalog列出带有标题、版本、系列、描述、节数和页数的索引规范。
get_spec_toc返回规范的章节层次结构,可选择受深度或章节前缀的限制。
get_section通过以下方式获取确切的节文本 sectionId 或 specId + sectionNumber.
search_3gpp_docs对查询的候选部分进行排名,并返回部分ID以供后续检索。
search_related_sections从锚点部分扩展到父节点、子节点、兄弟节点和搜索派生邻居。
get_spec_references遍历传入和传出的跨规范引用。
search_etsi_catalog搜索编目的ETSI交付元数据,包括尚未下载或嵌入的文档。
get_etsi_document检查一个包含版本和可选文件URL的ETSI目录文档
get_ingest_guide返回ETSI下载、RFC摄取或提取管道的操作说明。
list_specs具有较小输出形状的兼容性别名;更喜欢 get_spec_catalog.
get_test_case_structure从一致性规范中提取结构化测试用例数据(测试目的、一致性要求、测试程序)。
list_test_cases列出规范中的所有测试用例部分

推荐的提示模式

使用鼓励结构优先导航的提示:

Find the chapter in TS 24.301 that defines attach reject causes.
Start by locating the spec, then inspect the TOC, then fetch the most relevant section.
I need the exact wording for the NAS registration timer behavior in 5G.
Search for likely sections, then read the chapter text and nearby sections.
Show which RFCs and 3GPP specs TS 29.500 cites most often.

语料库统计

度量值
总规格207
TS规格113
TR规格1
RFC规范93
目录行63376
节行66109
交叉规范参考45162
记录摄入次数535

建筑概览

LLM client
  -> MCP transport (stdio or HTTP)
  -> tool registry + validation
  -> tool handlers
  -> SQLite corpus (specs, toc, sections, sections_fts, spec_references, ingestion_runs)
  -> ETSI catalog (etsi_publication_types, etsi_ranges, etsi_documents, etsi_versions, etsi_files)
  -> optional vec_sections table and guide resources
  -> search pipeline:
       keywordSearch.js  (FTS5 + BM25)
       semanticSearch.js  (sqlite-vec cosine)
       anytxtSearch.js    (AnyTXT JSON-RPC API, Windows only)
       hydeExpander.js    (NVIDIA NIM LLM for query expansion)
       hybridRanker.js    (RRF fusion + structure-aware ranking)

更多细节生活在 docs/architecture.md 和 docs/data-model.md.

验证和测试

npm run validate
npm test

npm run validate 检查包元数据,解析DB路径,验证核心模式和计数,确认v2 12工具表面,运行导航烟雾路径,并将语义准备情况与基线关键字准备情况分开报告。

可选语义准备

语义检索不是基线安装合同的一部分。将其视为关键字服务器之上的操作员选择加入层。

当前先决条件:

  1. sqlite-vec 必须在运行时成功加载。
  2. vec_sections 必须为活动语料库填充嵌入。
  3. 本地嵌入必须存在兼容的变压器运行时。存储库现在随附 @huggingface/transformers,运行时仍然接受 @xenova/transformers 为了兼容性。
  4. 现场直播 search_3gpp_docs 烟雾路径必须实际返回 mode_actual=hybrid 或 mode_actual=semantic.

scripts/generate_embeddings.js 现在是真正的本地语料库填充工作流程 vec_sections它可以构建或重建嵌入索引,但语义主动就绪仍然需要 新鲜完整语料库索引.部分运行(--spec 或 --limit)可用于烟雾测试和受控回填,但它们是有意为之 不 将语义检索标记为全局就绪。

手动烟雾工作流程

ETSI目录烟雾:

npm run catalog:smoke

这只会将一小部分ETSI TS范围爬行到目录表中。它没有 下载PDF、提取文本或生成嵌入。为了更广泛的编目, 使用 npm run catalog:crawl -- --all-publication-types --depth versions 并添加 限制,例如 --max-ranges, --max-docs, --max-versions,或 --max-requests 用于受控回填。

目录爬虫安全控制:

python3 scripts/crawl_etsi_catalog.py --publication-types etsi_ts etsi_tr --depth documents --plan-only
python3 scripts/crawl_etsi_catalog.py --publication-types etsi_ts etsi_tr --depth documents --max-ranges 10
python3 scripts/crawl_etsi_catalog.py --publication-types etsi_ts etsi_tr --depth documents --resume
python3 scripts/select_etsi_ingest.py --policy priority --format download-list

爬虫记录中的进度 catalog_crawl_runs 和 catalog_crawl_progress长目录写入仅限于CLI;MCP目录工具 是只读的。下载、提取和嵌入状态与 文档标识 etsi_document_status. select_etsi_ingest.py 标记 优先级3GPP映射的ETSI文档,用于以后的下载/提取/嵌入工作,以及 可以生成一个以标签分隔的下载计划,而无需下载任何PDF。

降级路径烟雾:

npm install
npm run validate

预期结果:

  • Baseline keyword readiness: true
  • Optional semantic prerequisites met: false 或 Semantic-active tool smoke: false
  • Search mode actual: keyword

语义活性烟雾:

  1. 跑 npm install.
  2. 确保 sqlite-vec 负载和 vec_sections 充满了新鲜的 完整语料库 嵌入与活动384 dim模型/前缀契约匹配的索引。例子:
node scripts/generate_embeddings.js --rebuild
  1. 跑 npm run validate.

预期结果:

  • Optional semantic prerequisites met: true
  • Semantic-active tool smoke: true
  • Semantic smoke mode actual: hybrid 或 semantic

可选AnyTXT集成(Windows)

AnyTXT Searcher为PDF以外的格式提供了额外的搜索信号和文档解析。运行时,其位于的JSON-RPC API localhost:9920 自动检测。

先决条件:

  1. 安装 AnyTXT搜索器 在Windows上。
  2. 启用HTTP API:菜单帮助->API。
  3. 同步 raw/ 目录到AnyTXT的索引中(工具->索引管理器)。

如果可用,AnyTXT会将第三个检索器添加到RRF融合中,搜索原始文件内容,包括DOCX、XLSX和扫描的PDF(OCR)。当不可用时,管道降级为双向RRF(关键字+语义)。

CLI提取工具:

node scripts/extract_anytxt.js --check                # verify API availability
node scripts/extract_anytxt.js --sync raw/            # sync raw dir to AnyTXT index
node scripts/extract_anytxt.js raw/ts_38_523_1.pdf    # extract text from a file
node scripts/extract_anytxt.js --batch raw/           # batch extract all supported files

可选的HyDE查询扩展

HyDE(假设文档嵌入)通过LLM生成假设的3GPP风格答案,然后使用该答案的嵌入进行向量搜索,从而提高了对简短或模糊查询的召回率。这弥合了查询和技术文档之间的词汇差距。

通过环境变量或编程API进行配置:

NVIDIA_API_KEY=nvapi-... npm start
import { configureHyde } from './src/search/hybridRanker.js';
configureHyde({ apiKey: 'nvapi-...' });

默认为 nvidia/llama-3.1-nemotron-nano-8b-v1 在NVIDIA NIM端点上。任何与OpenAI兼容的聊天完成URL都可以通过 apiUrl 选项。

项目结构

mcp-server-3gpp/
├── src/
│   ├── index.js
│   ├── http.js
│   ├── db/
│   ├── search/
│   │   ├── hybridRanker.js      (RRF fusion + structure-aware ranking)
│   │   ├── keywordSearch.js     (FTS5 + BM25)
│   │   ├── semanticSearch.js    (sqlite-vec)
│   │   ├── anytxtSearch.js      (AnyTXT JSON-RPC retriever)
│   │   ├── hydeExpander.js      (HyDE query expansion via NVIDIA LLM)
│   │   └── queryParser.js
│   ├── anytxt/
│   │   ├── client.js            (JSON-RPC 2.0 client)
│   │   └── parser.js            (document text extraction)
│   ├── tools/
│   └── ingest/
├── docs/
├── data/
│   └── corpus/
│       └── 3gpp.db
├── test/
├── validate.js
└── package.json

备注

  • 记录在案的操作模型是数据库支持的v2服务器。
  • 中仍有一条传统的回退路径 src/index.js 如果找不到SQLite数据库,但这是一个引导逃逸窗口,而不是此存储库记录的主要接口。
  • get_section 和 get_spec_toc 是核心的确定性检索工具。搜索应该养活他们,而不是取代他们。

工具与能力

工具数量

12

资源数量

0

提示词数量

0

能力标签

协议分析JavaScript本地部署语义检索文档导航测试用例提取RRF融合搜索

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 工具数量 12 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 需要自备API Key,没有凭据没法直接试。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到API Key的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Server 3gpp

MCP World · 本页

12stdio有2 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Server 3gpp 怎么安装?

公开资料给出的安装命令是 python3 scripts/crawl_etsi_catalog.py --publication-types etsi_ts etsi_tr --depth document…,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

MCP Server 3gpp 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

MCP Server 3gpp 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Server 3gpp 需要 API Key 吗?

公开资料标注的认证方式是API Key,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

MCP Server 3gpp 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP