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
访问服务器

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

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选