Skip to main content
Glama
README.md
# Paytm MCP Server

A Python-based MCP (Merchant Control Panel) server for managing Paytm payment links and transactions.

## Features

- Create Paytm payment links for customers
- Fetch all created payment links
- Retrieve transactions for a specific payment link

## Prerequisites

- Python 3.12 or higher
- Paytm Merchant credentials:
  - `PAYTM_MID`
  - `PAYTM_KEY_SECRET`
- The following Python dependencies:
  - httpx>=0.28.1
  - mcp[cli]>=1.7.0
  - paytmchecksum
  - pycryptodome
  - requests
- [uv](https://github.com/astral-sh/uv) (a fast Python package installer and runner)
- [Claude Desktop](https://www.anthropic.com/claude) (for running and managing the server)

## Installation

### Option 1: Automated Setup (Recommended)

Use the provided `setup.sh` script for automated installation and configuration:

```bash
# Make the script executable
chmod +x setup.sh

# Run the setup script
./setup.sh
```

The script will:

1. Check for required dependencies (Python 3.12+, uv, Claude Desktop)
2. Clone or update the repository
3. Create and activate a virtual environment
4. Install all required dependencies
5. Create a `.env` file template for Paytm credentials

### Option 2: Manual Installation

1. **Clone the repository:**

   ```bash
   git clone git@bitbucket.org:paytmteam/payment-mcp.git
   cd payment-mcp
   ```

2. **Create and activate a virtual environment:**

   ```bash
   uv venv
   source .venv/bin/activate
   ```

3. **Install dependencies:**
   ```bash
   uv pip install .
   ```

## Configuration

1. **Create a `.env` file in the project root:**

   ```bash
   # Paytm credentials
   PAYTM_MID=your_paytm_mid
   PAYTM_KEY_SECRET=your_paytm_key_secret
   ```

2. **Update the `.env` file with your actual Paytm credentials**

## Running the MCP Server with Claude Desktop

The server is designed to be managed and run via Claude Desktop. You do not need to run the server manually from the command line.

### Sample `claude_desktop_config.json`

Place this file in your project root or as required by Claude Desktop:

```json
{
  "mcpServers": {
    "paytm-mcp-server": {
      "command": "uv path",
      "args": ["--directory", "path to project", "run", "paytm_mcp.py"],
      "env": {
        "PAYTM_MID": "****************",
        "PAYTM_KEY_SECRET": "************"
      }
    }
  }
}
```

- Update the `command` and `args` paths as needed for your environment.
- The `env` section should contain your actual Paytm credentials.

## Next Steps

1. Update the `claude_desktop_config.json` with your Paytm credentials
2. Restart the server using Claude Desktop

## Project Structure

- `paytm_mcp.py`: Main server entry point and tool definitions
- `services/`: Business logic for payments
- `config/`: Configuration and settings
- `utils/`: Data models and utilities

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

The MIT License is a permissive license that allows you to:

- Use the code commercially
- Modify the code
- Distribute the code
- Use the code privately
- Sublicense the code

The only requirement is that the license and copyright notice must be included in all copies or substantial portions of the software.