Skip to main content
Glama
Anubhob435

MidPay MCP Server

by Anubhob435

MidPay MCP Server

MidPay MCP Server is a Model Context Protocol implementation that provides AI models with access to an escrow payment system. It enables AI-powered transaction management, account monitoring, and blockchain operations.

Features

  • MCP Protocol: Model Context Protocol server for AI integration

  • Blockchain Integration: Immutable transaction records using proof-of-work

  • Digital Signatures: RSA-based cryptographic verification of transactions

  • Escrow Payments: Secure fund transfers with an escrow holding system

  • Transaction Management: Create, complete, confirm, and cancel transactions

  • Account Tracking: Monitor balances for both parties and the escrow account

  • Transaction History: Blockchain-verified transaction history

Related MCP server: Cheqd MCP Toolkit

Architecture

AI Model/Client
       ↓
MCP Protocol (stdio)
       ↓
MidPay MCP Server
       ↓
MidPay Core System
       ↓
[Bank JSON Files, MongoDB, Blockchain]

Getting Started

Prerequisites

  • Python 3.6 or higher

  • Required packages: cryptography, pymongo, python-dotenv

Installation

  1. Clone the repository:

    git clone <repository-url>
    cd midpay-mcp
  2. Install dependencies:

    pip install -r requirements.txt
  3. Run the MCP Server:

    Simple MCP Server:

    python simple_mcp_server.py

    Or use the startup scripts:

    • Windows: start_mcp_server.bat

    • Linux/Mac: ./start_mcp_server.sh

  4. Test the MCP Server:

    python test_mcp_server.py

MCP Resources

The MCP server provides real-time access to:

  • midpay://accounts - Current account balances and escrow status

  • midpay://blockchain - Blockchain verification and statistics

  • midpay://transactions/history - Complete transaction history

MCP Tools

The MCP server provides the following tools for AI interaction:

  • create_transaction - Create new escrow transactions

  • get_transaction_status - Check transaction details

  • mark_service_completed - Mark services as completed

  • confirm_completion - Confirm completion and release funds

  • cancel_transaction - Cancel transactions

  • get_balance - Get user account balances

  • verify_blockchain - Verify blockchain integrity

  • get_transaction_history - Get filtered transaction history

Configuration

Environment Variables

Create a .env file in the project root with optional MongoDB configuration:

MONGODB_URI=mongodb://localhost:27017
# or for MongoDB Atlas:
# MONGODB_URI=mongodb+srv://username:password

MCP Client Configuration

For integration with MCP-compatible clients, add to your configuration:

{
  "mcpServers": {
    "midpay": {
      "command": "python",
      "args": ["simple_mcp_server.py"],
      "cwd": "/path/to/midpay-mcp"
    }
  }
}

File Structure

  • simple_mcp_server.py: Main MCP server implementation

  • midpay.py: Core MidPay escrow system logic

  • blockchain.py: Blockchain implementation with digital signatures

  • test_mcp_server.py: Test suite for the MCP server

  • start_mcp_server.bat: Windows startup script

  • start_mcp_server.sh: Linux/Mac startup script

  • requirements.txt: Python dependencies

  • A_bank.json: Party A's account balance and transaction history

  • B_bank.json: Party B's account balance and transaction history

  • mcp_config.json: MCP client configuration example

  • INTEGRATION_GUIDE.md: Detailed integration instructions

  • MCP_README.md: MCP server overview

Usage Examples

Basic Transaction Flow

  1. Create a transaction:

    {
      "method": "tools/call",
      "params": {
        "name": "create_transaction",
        "arguments": {
          "amount": 500,
          "description": "Website development"
        }
      }
    }
  2. Mark service completed:

    {
      "method": "tools/call",
      "params": {
        "name": "mark_service_completed",
        "arguments": {"transaction_id": "1720000000"}
      }
    }
  3. Confirm completion:

    {
      "method": "tools/call",
      "params": {
        "name": "confirm_completion",
        "arguments": {"transaction_id": "1720000000"}
      }
    }

Account Monitoring

Check account balances:

{
  "method": "resources/read",
  "params": {"uri": "midpay://accounts"}
}

Verify blockchain integrity:

{
  "method": "tools/call",
  "params": {
    "name": "verify_blockchain",
    "arguments": {}
  }
}

Documentation

For detailed information, see:

  • MCP_README.md - MCP server overview and features

  • INTEGRATION_GUIDE.md - Complete integration instructions

  • test_mcp_server.py - Example usage and testing

Security Notes

This is a simulation designed for AI integration and not intended for real-world financial transactions. While it demonstrates blockchain concepts, a production system would require additional security measures including:

  • User authentication and authorization

  • Secure key storage

  • Network communication encryption

  • Additional validation and security checks

License

MIT License

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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/Anubhob435/midpay-mcp'

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