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.7.tar.gz (8.0 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.7-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mcp_3gpp_ftp-0.1.7.tar.gz
  • Upload date:
  • Size: 8.0 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.7.tar.gz
Algorithm Hash digest
SHA256 0281551e98bfa4953932f8908177aed3d28e3578c25792498e9c08b4c5b94ec9
MD5 1f96cf3006aa43a0a2c0da384d72fa66
BLAKE2b-256 978676b7afd96a1e6345f0fbdf9f8d77b65acb3305e47ae061e2973245f5138f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mcp_3gpp_ftp-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 8.4 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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 f76560d82c2511aa5e3c95f3c78ef18ff0bf891877ff942ab062fc18efb85cb8
MD5 924f87fa8ca1074e33a9df3bf17fcae7
BLAKE2b-256 8d12d3d161937885ff12a7157c619360a84491eb4c100eba8a951d21acc598eb

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