Skip to main content
Glama
hrishi0102

Payman AI MCP Server

by hrishi0102

Payman API MCP Server

An MCP (Model Context Protocol) server that provides seamless integration with Payman AI's payment APIs, allowing AI assistants to create payees, search for existing payees, send payments, and check balances through natural language.

Overview

This MCP server exposes Payman AI's payment functionality as tools that can be used by LLM applications such as Claude. It enables AI assistants to perform the following operations:

  • Set API keys for authentication

  • Create different types of payees (TEST_RAILS, US_ACH, CRYPTO_ADDRESS)

  • Send payments to registered payees

  • Search for payees based on various criteria

  • Check account balances

This implementation follows the Model Context Protocol (MCP) standard, ensuring compatibility with any MCP-compatible client.

Related MCP server: Monei MCP Server

Features

  • Secure API Authentication: Manage API keys securely within the session

  • Multiple Payee Types:

    • TEST_RAILS payees for testing

    • US_ACH payees for US bank transfers

    • CRYPTO_ADDRESS payees for cryptocurrency transactions

  • Payment Operations:

    • Send payments with custom amounts and memos

    • Retrieve current balances

  • Search Capabilities:

    • Search payees by name, contact information, account details, etc.

  • Error Handling: Comprehensive error handling for all API operations

  • Secure Transports: Supports both stdio and SSE (Server-Sent Events) transports

Prerequisites

Installation

Installing via Smithery

To install payman_mcp for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install @hrishi0102/payman_mcp --client claude
  1. Clone the repository:

    git clone https://github.com/yourusername/payman-mcp-server.git
    cd payman-mcp-server
  2. Install dependencies:

    npm install
    # OR
    yarn install
  3. Build the TypeScript code:

    npm run build
    # OR
    yarn build

Configuration

The server does not require any configuration files. API keys are set at runtime using the set-api-key tool.

Running the Server

Standard I/O Mode (for Claude Desktop, etc.)

Run the server in stdio mode, which is compatible with Claude Desktop and similar MCP clients:

Check if the server is properly setup:

node /ABSOLUTE/PATH/TO/PARENT/FOLDER/payman-mcp/build/payman-server.js

If everything is good, you can now add the Payman MCP server to any client.

  • For Claude Desktop: Here

  • For Cursor: Here

Server-Sent Events (SSE) Mode (for web integration)

To run the server with SSE transport (requires additional dependencies: express and cors):

node build/payman-server-sse.js

This will start a web server on port 3001 with the following endpoints:

  • /sse - The SSE endpoint for server-to-client communication

  • /messages - The endpoint for client-to-server messages

Integrating with MCP Clients

Claude Desktop

  1. Open your Claude Desktop configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. Add the server configuration:

    {
      "mcpServers": {
        "payman": {
          "command": "node",
          "args": ["/ABSOLUTE/PATH/TO/payman-mcp-server/build/payman-server.js"]
        }
      }
    }
  3. Restart Claude Desktop

Other MCP Clients

For other MCP clients like Cursor, refer to their specific documentation for adding MCP servers.

Usage Guide

Once the server is connected to an MCP client, you can use the following tools:

Setting the API Key

First, you need to set your Payman API key:

Please use the set-api-key tool with my Payman API key: YOUR_API_KEY_HERE

Creating Payees

Test Rails Payee

Create a test payee named "Test User" with the tag "test"

US ACH Payee

Create a US ACH payee with these details:
- Name: John Doe
- Account Type: checking
- Account Number: 12345678
- Routing Number: 123456789
- Account Holder Name: John Doe
- Account Holder Type: individual

Crypto Payee

Create a crypto payee with:
- Name: Crypto Wallet
- Address: 0x1234567890abcdef
- Chain: ethereum
- Currency: ETH

Sending Payments

Send a payment of 100 to payee ID "pay_123abc" with the memo "Monthly service"

Searching for Payees

Search for all payees with the name "John"

Checking Balance

What's my current balance?

Tool Reference

set-api-key

Sets the Payman API key for authentication.

  • Parameters:

    • apiKey (string): The Payman API key

create-test-rails-payee

Creates a TEST_RAILS payee for testing.

  • Parameters:

    • name (string): Name of the payee

    • type (string): "TEST_RAILS" (default)

    • tags (string[]): Optional tags for the payee

create-us-ach-payee

Creates a US_ACH payee for bank transfers.

  • Parameters:

    • type (string): "US_ACH" (default)

    • accountType (enum): "checking" or "savings"

    • accountNumber (string): The bank account number

    • routingNumber (string): The routing number

    • accountHolderName (string): The name of the account holder

    • accountHolderType (enum): "individual" or "business"

    • name (string): Name for this payee

    • Plus additional optional parameters (tags, contactDetails)

create-crypto-payee

Creates a CRYPTO_ADDRESS payee for cryptocurrency payments.

  • Parameters:

    • type (string): "CRYPTO_ADDRESS" (default)

    • address (string): The cryptocurrency address

    • chain (string): The blockchain to use

    • currency (string): The cryptocurrency/token

    • name (string): Name for this payee

    • Plus additional optional parameters (tags, contactDetails)

send-payment

Sends a payment to a payee.

  • Parameters:

    • payeeId (string): ID of the payee to pay

    • amountDecimal (number): Amount to send

    • walletId (string, optional): Specific wallet to use

    • memo (string, optional): Payment memo

    • metadata (object, optional): Additional metadata

search-payees

Search for payees based on various criteria.

  • Parameters: Multiple optional search parameters

    • name, contactEmail, accountNumber, etc.

get-balance

Retrieves the current account balance.

  • Parameters: None

Error Handling

All tools include proper error handling and will return descriptive error messages if:

  • The API key has not been set

  • API requests fail

  • Invalid parameters are provided

  • Network issues occur

Security Considerations

  • API keys are stored in memory for the duration of the session

  • The server does not persist any credentials to disk

  • All requests to the Payman API use proper authorization headers

  • Model Context Protocol for the MCP specification

  • Payman AI for the payment API

  • Zod for input validation

Available Tools

7 tools
create-crypto-payeeD
ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesThe cryptocurrency address to send funds to
chainYesThe blockchain to use for the transaction
contactDetailsNoContact details for this payee
currencyYesThe currency/token to use for the transaction
nameYesThe name you wish to associate with this payee for future lookups
tagsNoOptional labels you wish to assign to this payee
typeNoType of payment rails to useCRYPTO_ADDRESS

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create-test-rails-payeeD
ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName of the payee
tagsNoOptional tags for the payee
typeNoType of payment rails to useTEST_RAILS

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create-us-ach-payeeD
ParametersJSON Schema
NameRequiredDescriptionDefault
accountHolderNameYesThe name of the account holder
accountHolderTypeYesThe type of the account holder
accountNumberYesThe bank account number for the account
accountTypeYesThe type of account (checking or savings)
contactDetailsNoContact details for this payee
nameYesThe name you wish to associate with this payee for future lookups
routingNumberYesThe routing number of the bank
tagsNoOptional labels you wish to assign to this payee
typeNoType of payment rails to useUS_ACH

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get-balanceD
ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search-payeesD
ParametersJSON Schema
NameRequiredDescriptionDefault
accountNumberNoThe US Bank account number to search for
agentReferenceNoThe Payman agent reference (id or handle) to search for
contactEmailNoThe contact email to search for
contactPhoneNumberNoThe contact phone number to search for
contactTaxIdNoThe contact tax id to search for
cryptoAddressNoThe crypto address to search for
cryptoChainNoThe crypto chain to search for
cryptoCurrencyNoThe crypto currency to search for
nameNoThe name of the payee to search for (partial, case-insensitive match)
routingNumberNoThe US Bank routing number to search for

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

send-paymentD
ParametersJSON Schema
NameRequiredDescriptionDefault
amountDecimalYesAmount to send (in decimal)
payeeIdYesID of the payee to send payment to
walletIdNoThe ID of the specific wallet from which to send the funds

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set-api-keyD
ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesThe Payman API key to use for authentication

TDQS

D1/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Tool has no description.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness1/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Tool has no description.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Tool has no description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has no description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose1/5

Does the description clearly state what the tool does and how it differs from similar tools?

Tool has no description.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines1/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Tool has no description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updatesv1.0.0
    • First observedcreate-crypto-payee
    • First observedcreate-test-rails-payee
    • First observedcreate-us-ach-payee
    • First observedget-balance
    • First observedsearch-payees
    • First observedsend-payment
    • First observedset-api-key

TDQS

C2.1/5.0

Scored across 7 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: three tools create different types of payees (crypto, test rails, US ACH), while others handle balance retrieval, payee search, payment sending, and API key management. The naming makes the distinctions obvious even without descriptions.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with hyphens (e.g., create-crypto-payee, get-balance, send-payment). The naming is uniform throughout, making it easy to predict and understand each tool's function.

Tool Count5/5

With 7 tools, this server is well-scoped for payment and payee management. The count is appropriate, covering core operations like payee creation, balance checking, searching, payments, and configuration without being overwhelming or insufficient.

Completeness4/5

The toolset covers key payment workflows: creating payees, retrieving balance, searching payees, sending payments, and setting API keys. A minor gap is the lack of update or delete operations for payees, but agents can likely work around this given the core functionality is present.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

  • GibsonAI MCP server: manage your databases with natural language

  • The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.

  • The Ramp MCP server enables users to securely connect Ramp with AI assistants like ChatGPT and Claude to query financial data and take actions using natural language. It transforms Ramp's developer API into a SQL interface that LLMs can query, allowing admins to analyze spend trends, identify cost savings, and run complex SQL analyses on comprehensive datasets (transactions, purchase orders, vendors, users), while all users can manage cards, view transactions, request reimbursements, and get expense policy answers.

  • Non-custodial crypto payments for AI assistants: balances, payments, and create payment links.

Related MCP Servers

  • F
    license
    Not graded
    quality
    F
    maintenance
    A server that adds Bitcoin payment capabilities to LLMs, enabling sending/receiving payments, creating charges, managing wallets, and performing other Bitcoin Lightning Network operations.
    3
    -
  • A
    license
    A
    quality
    D
    maintenance
    An MCP server for USDC payments on Base, enabling AI agents to check balances, send payments, generate payment requests, and view transaction history.
    4
    1
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server wrapping JazzCash payment provider APIs. Enables interaction with JazzCash services through natural language.
    MIT

Appeared in Searches