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.5.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.5-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mcp_3gpp_ftp-0.1.5.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.5.tar.gz
Algorithm Hash digest
SHA256 a6fd234b0925762fb9cb96b961932530f44d99fcd85d2316e6da7442d46deba3
MD5 f50577a01082ac55426610da3baf6122
BLAKE2b-256 6bbdfed50e7f433ff26477417171b6de2fcb1998b8521af7cadc5c59a98e0fe9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mcp_3gpp_ftp-0.1.5-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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 4233910a205bf84ec750f9b59285a997c1b0971f6d93b10f1c8c0acb396b5d50
MD5 7e3ebf8fba461989b71699eff5a42e35
BLAKE2b-256 42e582cb77449e4e5f3a7fe9641066ef19b0b770f53157909e6a28f59dda62d5

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