普通话水平测试报名查询工具
Project description
PSC MCP 服务器
基于 FastMCP 框架开发的普通话水平测试(PSC)考试报名查询系统,提供全国各省份测试站点的报名信息查询服务。
目录
功能特性
- 🌍 省份列表获取 - 获取支持的所有省份列表
- 📅 报名信息查询 - 实时查询各省份开放报名的测试站点
- ⏱️ 即将开考查询 - 查看即将举行考试的测试站点信息
- 🚀 高性能架构 - 基于 FastMCP 框架,提供高效的 API 服务
- 🐳 容器化部署 - 支持 Docker 快速部署
安装
作为包安装
pip install psc_mpc
开发环境安装
推荐使用 uv 管理依赖:
uv sync
或者使用 pip 安装依赖:
pip install -r requirements.txt
作为包使用
安装后,您可以直接在 Python 代码中使用该包:
from psc_mpc import get_provinces, get_open_stations, get_next_stations
# 获取省份列表
provinces = get_provinces()
print(provinces)
# 获取宁夏开放报名的测试站点
ningxia_stations = get_open_stations("ningxia")
print(ningxia_stations)
# 获取宁夏即将开考的测试站点
next_stations = get_next_stations("ningxia")
print(next_stations)
作为Web服务运行
本地运行
启动开发服务器:
uv run python -m psc
uv tool install .
或者使用 Python 直接运行:
python -m psc
服务器将在 http://localhost:8000 启动。
Docker 部署
构建 Docker 镜像:
docker build -t psc_mpc .
运行容器:
docker run -p 8000:8000 psc_mpc
API 接口
| 方法 | 路径 | 描述 |
|---|---|---|
| GET | /provinces |
获取省份列表 |
| GET | /open-stations/{province_id} |
获取指定省份开放报名的测试站点 |
| GET | /next-stations/{province_id} |
获取指定省份即将开考的测试站点 |
示例请求
-
获取省份列表:
curl http://localhost:8000/provinces -
查询宁夏开放报名的测试站点:
curl http://localhost:8000/open-stations/ningxia -
查询宁夏即将开考的测试站点:
curl http://localhost:8000/next-stations/ningxia
项目结构
psc_mpc/
├── src/
│ ├── __init__.py
│ ├── __main__.py
│ └── psc.py # 主应用文件
├── Dockerfile # Docker 配置文件
├── pyproject.toml # 项目配置和依赖声明
├── README.md # 项目说明文档
└── LICENSE # 许可证文件
许可证
本项目采用 MIT 许可证。详情请见 LICENSE 文件。
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
psc_mpc-0.1.1.tar.gz
(9.6 kB
view details)
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 psc_mpc-0.1.1.tar.gz.
File metadata
- Download URL: psc_mpc-0.1.1.tar.gz
- Upload date:
- Size: 9.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
91dfd3f79b2904bf5ea4e8b50a30f04a69c8337ee90963c6c9ef5ff270ba96b0
|
|
| MD5 |
74d6439b086928ff7e430dfbcb24793f
|
|
| BLAKE2b-256 |
d14d6554b7c546ffe4df2bfc9f0c458f7e4c23be6e5a5511eee33d945f22e412
|
File details
Details for the file psc_mpc-0.1.1-py3-none-any.whl.
File metadata
- Download URL: psc_mpc-0.1.1-py3-none-any.whl
- Upload date:
- Size: 8.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
337ab2056a3aa540aad09ecf4c5799e2d6234b03d0a478a9c4a454dd3e02af0c
|
|
| MD5 |
3f162640d1c2e811b4a635edc05c4b83
|
|
| BLAKE2b-256 |
8e98977ea3d1fa8cb8ed5d2c1ed3c0cab8773e8dee6fd2062bf64dfc30c8209f
|