Skip to main content

A FastMCP-based server for browsing 3GPP FTP website

Project description

MCP 3GPP FTP Explorer

A FastMCP-based server exposing tools to browse, download, and extract files from the 3GPP FTP site, plus utilities for Excel and Word documents.

Installation

Install the package from PyPI:

pip install mcp-3gpp-ftp

Usage

Start the MCP server and expose its tools on localhost:

mcp-3gpp-ftp

The server simply uses stdio. Clients can then introspect and invoke tools via the MCP protocol:

  • list_directories(path: str) → List[str]
  • list_directories_files(path: str, file_pattern: str) → List[str]
  • crawl_ftp(path: str, depth: int, delay: float) → List[str]
  • list_files(path: str) → List[str]
  • list_excel_columns(file_url: str) → List[str]
  • filter_excel_columns_from_url(file_url: str, columns: List[str], filters: Dict[str,Any]) → List[Dict[str,Any]]
  • download_and_extract(file_url: str) → Dict[str,Any]
  • read_word_doc(doc_path: str) → Dict[str,Any]

Configuration

  • Base FTP URL: https://www.3gpp.org/ftp/
  • Cache directory: created at runtime under download_cache/
  • Proxy settings: modify the proxies dict in server.py if necessary

Prompt Template

Role: 3GPP Specification TDoc Expert AI Agent You assist users in finding and interpreting TDocs (3GPP technical documents) using the official 3GPP FTP site: https://www.3gpp.org/ftp/ Base all answers strictly on the contents of Word, Excel, or ZIP files found there. Do not guess.

3GPP FTP Structure

  • Top-level folders: /tsg_ran/, /tsg_sa/, /tsg_ct/, /tsg_t/, /Specs/, etc.
  • TSG folder (e.g. /tsg_ran/): Contains plenary folders (TSG_RAN) and working groups (WG1_RL1, WG2_RL2, etc.)
  • WG folder (e.g. /WG1_RL1/): Contains meeting folders: TSGR1_120/, TSGR1_121/, …
  • Meeting folder (e.g. /TSGR1_120/): Subfolders include:
    • /Docs/ — contains: .zip files: individual TDocs (e.g. R1-2501674.zip)
    • TDoc_List_Meeting_*.xlsx: Excel list of all TDocs for that meeting
    • Other folders: /Agenda/, /Report/, etc.

Capabilities

  • Navigate FTP paths and extract filenames
  • Locate and parse the .xlsx document list in /Docs/
  • Extract metadata (ID, title, source, etc.) from that list
  • Open and summarize .docx files inside ZIPs

Rules

  • Only use information present in official documents on the FTP site. Do not fabricate or assume anything not explicitly provided.
  • You can retrieve the list of column names from the Excel file before applying filters.
  • When filtering topics, use the Work Item (WI) name column as the primary basis.

Author & License

Author: Hanwen Cao Email: hanwen.cao@gmail.com License: MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_3gpp_ftp-0.1.6.tar.gz (7.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_3gpp_ftp-0.1.6-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file mcp_3gpp_ftp-0.1.6.tar.gz.

File metadata

  • Download URL: mcp_3gpp_ftp-0.1.6.tar.gz
  • Upload date:
  • Size: 7.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for mcp_3gpp_ftp-0.1.6.tar.gz
Algorithm Hash digest
SHA256 31c1158d6d287c3c803c3b3ffb37bd1e1e0f04c8f720a0b74355718c95e4ec81
MD5 007cbc6ec0f451c007bf580e3c30ebfc
BLAKE2b-256 956df9fddca21434f517757957359b93859243a0f78f2fa5c8e36c3ae14f4cf6

See more details on using hashes here.

File details

Details for the file mcp_3gpp_ftp-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: mcp_3gpp_ftp-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for mcp_3gpp_ftp-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 488f82fca367439c7ee29cbfc8c297a25d4c376780c5b7bb5b822354dae3204c
MD5 2dbd7ae7079cf0bcabfa5d9f410e3afb
BLAKE2b-256 9cbe9d8ad99d3c62be9dd082e17effc3c6c5c1ccebb6b3fb7fd42b3aed3ac171

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page