Skip to main content

普通话水平测试报名查询工具

Project description

PSC MCP 服务器

License Python Version PyPI

基于 FastMCP 框架开发的普通话水平测试(PSC)考试报名查询系统,提供全国各省份测试站点的报名信息查询服务。

目录

功能特性

  • 🌍 省份列表获取 - 获取支持的所有省份列表
  • 📅 报名信息查询 - 实时查询各省份开放报名的测试站点
  • ⏱️ 即将开考查询 - 查看即将举行考试的测试站点信息
  • 🚀 高性能架构 - 基于 FastMCP 框架,提供高效的 API 服务
  • 🐳 容器化部署 - 支持 Docker 快速部署

安装

作为包安装

pip install psc_mcp

开发环境安装

推荐使用 uv 管理依赖:

uv sync

或者使用 pip 安装依赖:

pip install -r requirements.txt

作为包使用

安装后,您可以直接在 Python 代码中使用该包:

from psc_mcp 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)

作为MCP服务运行

默认方式(stdio)

默认情况下,服务以 stdio 方式运行,适合与支持 MCP 协议的客户端集成:

psc_mcp

HTTP 服务模式

支持多种 HTTP 传输方式:

标准 HTTP 模式

psc_mcp --transport http --host 127.0.0.1 --port 8000 --path /mcp

SSE 模式(Server-Sent Events):

psc_mcp --transport sse --host 127.0.0.1 --port 8000 --path /mcp

Streamable HTTP 模式

psc_mcp --transport streamable-http --port 8000

服务器将在 http://localhost:8000/mcp 启动。

开发环境安装

推荐使用 uv 管理依赖:

uv sync

或者使用 pip 安装依赖:

pip install -r requirements.txt

Docker 部署

构建 Docker 镜像:

docker build -t psc_mcp .

运行容器:

docker run -p 8000:8000 psc_mcp

API 接口

方法 路径 描述
GET /provinces 获取省份列表
GET /open-stations/{province_id} 获取指定省份开放报名的测试站点
GET /next-stations/{province_id} 获取指定省份即将开考的测试站点

示例请求

  1. 获取省份列表:

    curl http://localhost:8000/provinces
    
  2. 查询宁夏开放报名的测试站点:

    curl http://localhost:8000/open-stations/ningxia
    
  3. 查询宁夏即将开考的测试站点:

    curl http://localhost:8000/next-stations/ningxia
    

项目结构

psc_mcp/
├── src/
│   ├── __init__.py
│   ├── __main__.py
│   └── psc.py              # 主应用文件
├── Dockerfile              # Docker 配置文件
├── pyproject.toml          # 项目配置和依赖声明
├── README.md               # 项目说明文档
└── LICENSE                 # 许可证文件

许可证

本项目采用 MIT 许可证。详情请见 LICENSE 文件。

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

psc_mpc-0.2.0.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

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

psc_mpc-0.2.0-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file psc_mpc-0.2.0.tar.gz.

File metadata

  • Download URL: psc_mpc-0.2.0.tar.gz
  • Upload date:
  • Size: 10.2 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

Hashes for psc_mpc-0.2.0.tar.gz
Algorithm Hash digest
SHA256 00cbdbbed965bd27de4b233879d90049a10f838591aa3fc25428dd6cd5026e8a
MD5 9d55a6fd5ee9cec2ca7dc8c8a5d45a2d
BLAKE2b-256 07a729ac4af774e4336b4a0701aa13bf5f6196af4ccac80cf4f05928a18f8116

See more details on using hashes here.

File details

Details for the file psc_mpc-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: psc_mpc-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 9.2 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

Hashes for psc_mpc-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f0dada9afe0b0f9ef0ff290cc6965020e0e133bc1d3c136b572e2fa42eae4923
MD5 1aa99653a7b4cd3f24a3a4b6b6536182
BLAKE2b-256 5a235902b2bcc9a8f9f12b4ce10bab9078eb01da57e34280c7019b1290560267

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