Maharashtra Transport MCP Server

MCP Server

This project is an MCP (Multi-Agent Conversation Protocol) Server for the given OpenAPI URL - https://api.apis.guru/v2/specs/apisetu.gov.in/transportmh/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).

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

An MCP Server that enables interaction with Maharashtra's Motor Vehicle Department API, allowing users to access transportation-related services through natural language requests.

  1. Prerequisites
    1. Installation
      1. Development
        1. Linting and Formatting
        2. Static Analysis
        3. Running Tests
        4. Pre-commit Hooks
      2. Running the Server
        1. Building and Publishing

          Related MCP Servers

          • A
            security
            F
            license
            A
            quality
            An MCP server implementation that enables interaction with the Unstructured API, providing tools to list, create, update, and manage sources, destinations, and workflows.
            Last updated -
            39
            26
            • Apple
          • -
            security
            A
            license
            -
            quality
            An MCP server implementation that integrates the RSS3 API, allowing users to query data from decentralized chains, social media platforms, and the RSS3 network through natural language.
            Last updated -
            1
            JavaScript
            MIT License
          • -
            security
            F
            license
            -
            quality
            An MCP server that connects to Backlog API, providing functionality to search, retrieve, and update issues through natural language commands.
            Last updated -
            53
            1
            JavaScript
            • Apple

          View all related MCP servers

          ID: 5mckopavy6