MidPay MCP Server

MidPay MCP Server

Enables AI models to manage escrow payments, account monitoring, and blockchain-verified transactions through the Model Context Protocol.

Category
Visit Server

README

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

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured