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
proxiesdict inserver.pyif 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0281551e98bfa4953932f8908177aed3d28e3578c25792498e9c08b4c5b94ec9
|
|
| MD5 |
1f96cf3006aa43a0a2c0da384d72fa66
|
|
| BLAKE2b-256 |
978676b7afd96a1e6345f0fbdf9f8d77b65acb3305e47ae061e2973245f5138f
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f76560d82c2511aa5e3c95f3c78ef18ff0bf891877ff942ab062fc18efb85cb8
|
|
| MD5 |
924f87fa8ca1074e33a9df3bf17fcae7
|
|
| BLAKE2b-256 |
8d12d3d161937885ff12a7157c619360a84491eb4c100eba8a951d21acc598eb
|