Skip to main content
Glama

Punjab Technical Education MCP Server

MCP Server

This project is an MCP (Model Context Protocol) Server for the given OpenAPI URL - https://api.apis.guru/v2/specs/apisetu.gov.in/punjabteched/3.0.0/openapi.json, auto-generated using AG2's MCP builder.

Prerequisites

  • Python 3.9+
  • pip and uv

Installation

  1. Clone the repository:
    git clone <repository-url> cd mcp-server
  2. Install dependencies: The .devcontainer/setup.sh script handles installing dependencies using pip install -e ".[dev]". If you are not using the dev container, you can run this command manually.
    pip install -e ".[dev]"
    Alternatively, you can use uv:
    uv pip install --editable ".[dev]"

Development

This project uses ruff for linting and formatting, mypy for static type checking, and pytest for testing.

Linting and Formatting

To check for linting issues:

ruff check

To format the code:

ruff format

These commands are also available via the scripts/lint.sh script.

Static Analysis

To run static analysis (mypy, bandit, semgrep):

./scripts/static-analysis.sh

This script is also configured as a pre-commit hook in .pre-commit-config.yaml.

Running Tests

To run tests with coverage:

./scripts/test.sh

This will run pytest and generate a coverage report. For a combined report and cleanup, you can use:

./scripts/test-cov.sh

Pre-commit Hooks

This project uses pre-commit hooks defined in .pre-commit-config.yaml. To install the hooks:

pre-commit install

The hooks will run automatically before each commit.

Running the Server

The MCP server can be started using the mcp_server/main.py script. It supports different transport modes (e.g., stdio, sse, streamable-http).

To start the server (e.g., in stdio mode):

python mcp_server/main.py stdio

The server can be configured using environment variables:

  • CONFIG_PATH: Path to a JSON configuration file (e.g., mcp_server/mcp_config.json).
  • CONFIG: A JSON string containing the configuration.
  • SECURITY: Environment variables for security parameters (e.g., API keys).

Refer to the if __name__ == "__main__": block in mcp_server/main.py for details on how these are loaded.

The tests/test_mcp_server.py file demonstrates how to start and interact with the server programmatically for testing.

Building and Publishing

This project uses Hatch for building and publishing. To build the project:

hatch build

To publish the project:

hatch publish

These commands are also available via the scripts/publish.sh script.

-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

该 MCP 服务器可以与旁遮普邦技术教育与工业培训委员会 API 进行交互,从而允许通过自然语言访问技术教育服务和信息。

  1. 先决条件
    1. 安装
      1. 发展
        1. 代码检查和格式化
        2. 静态分析
        3. 运行测试
        4. 预提交钩子
      2. 运行服务器
        1. 构建和发布

          Related MCP Servers

          • -
            security
            F
            license
            -
            quality
            An MCP Server that enables interaction with Maharashtra's Motor Vehicle Department API, allowing users to access transportation-related services through natural language requests.
            Last updated -
          • A
            security
            A
            license
            A
            quality
            An MCP server that generates comprehensive Learning Hour content for Technical Coaches, enabling teams to practice technical excellence through structured deliberate practice sessions.
            Last updated -
            5
            3
            6
            MIT License

          View all related MCP servers

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/ag2-mcp-servers/the-punjab-state-board-of-technical-education--industrial-training'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server