# How to integrate Cashfree Payments MCP with Hermes

```json
{
  "title": "How to integrate Cashfree Payments MCP with Hermes",
  "toolkit": "Cashfree Payments MCP",
  "toolkit_slug": "cashfree_payments_mcp",
  "framework": "Hermes",
  "framework_slug": "hermes-agent",
  "url": "https://composio.dev/toolkits/cashfree_payments_mcp/framework/hermes-agent",
  "markdown_url": "https://composio.dev/toolkits/cashfree_payments_mcp/framework/hermes-agent.md",
  "updated_at": "2026-08-27T05:38:12.762Z"
}
```

## Introduction

Hermes is a 24/7 autonomous agent that lives on your computer or server — it remembers what it learns and evolves as your usage grows.
This guide explains the easiest and most robust way to connect your Cashfree Payments account to Hermes. You can do this through either Composio Connect CLI or Composio Connect MCP. For personal use we recommend the CLI, but you won't go wrong with MCP either.

## Also integrate Cashfree Payments MCP with

- [ChatGPT Work](https://composio.dev/toolkits/cashfree_payments_mcp/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/cashfree_payments_mcp/framework/claude-cowork)

## TL;DR

### What is Composio Connect?
Composio Connect is a consumer offering that lets anyone plug 1,000+ applications directly into their agent harness — including Hermes. It can:
- Search and load tools from relevant toolkits on-demand, reducing context usage.
- Chain multiple tools to accomplish complex workflows via a remote workbench, without excessive back-and-forth with the LLM.
- Manage app authentication end-to-end with zero manual overhead.

## Connect Cashfree Payments MCP to Hermes

### Integrating Cashfree Payments with Hermes
### Using Composio Connect CLI
1. Install the Composio CLI
Run the install script directly, or paste https://composio.dev/hermes into your Hermes chat box to have it installed for you.

```bash
curl -fsSL https://composio.dev/install | bash
```

## What is the Cashfree Payments MCP server, and what's possible with it?

The Cashfree Payments MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Cashfree Payments account. It provides structured and secure access so your agent can perform Cashfree Payments operations on your behalf.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `CASHFREE_PAYMENTS_MCP_ACTIVATE_WORKFLOW` | Activate workflow | USE WHEN: A workflow has been tested via test_and_register_workflow() and is ready to go live. Activate a workflow, enabling its trigger (event-based or scheduled). Archives any previously active trigger and promotes the current DRAFT to the active version. This is the final step in the build flow — the workflow will start running on real events after activation. Always call test_and_register_workflow() first. Activation will fail with 400 if no tested/registered version exists or if the DRAFT fails validation. |
| `CASHFREE_PAYMENTS_MCP_BUILD_AND_SAVE_WORKFLOW` | Build and save workflow | USE WHEN: You have gathered all workflow configuration from tool calls and the user, and need to construct and save the DSL. This is EASIER than manually building the nested WorkflowUiDsl JSON for update_workflow(). Constructs a complete workflow DSL from simplified flat inputs and saves it as the current draft. Internally builds the trigger node, action node, end node, edges, _meta blocks, and executionInfo mirroring — all the structural details that are hard to get right manually. NEXT: Call test_and_register_workflow(workflow_id, input_data=) to test, then activate_workflow(workflow_id). |
| `CASHFREE_PAYMENTS_MCP_CANCEL_PAYMENT_LINK` | Cancel payment link | USE WHEN: The user wants to cancel/deactivate an existing payment link so no further payments can be made. Cancel a payment link. Only links in ACTIVE status can be cancelled. |
| `CASHFREE_PAYMENTS_MCP_CREATE_ORDER` | Create order | USE WHEN: The user wants to create a payment order to accept a payment. Requires amount, currency, and customer details. Create a new payment order. Returns order_id and payment_session_id needed to collect payment. NEXT: Call get_order(order_id) to verify the order was created and retrieve the payment session. |
| `CASHFREE_PAYMENTS_MCP_CREATE_PAYMENT_LINK` | Create payment link | USE WHEN: The user wants to create a shareable payment link to collect money from customers. Create a new payment link with an amount, purpose, and customer details. Returns the link URL. NEXT: Call fetch_payment_link_details(link_id) to verify the link was created and check its status. |
| `CASHFREE_PAYMENTS_MCP_CREATE_REFUND` | Create refund | USE WHEN: The user wants to initiate a refund for a payment. Create a refund against an order. Requires order_id and refund details in the body. NEXT: Call get_refund(order_id, refund_id) to track the refund status. |
| `CASHFREE_PAYMENTS_MCP_CREATE_WORKFLOW` | Create workflow | USE WHEN: The user wants to create a new workflow/automation. This is always the first step. Create a new workflow and return its ID. This call only sets the name and description. Use update_workflow() or build_and_save_workflow() to save the full DSL. NEXT: Call search_workflow_templates(query) and list_trigger_events() in parallel to start building. |
| `CASHFREE_PAYMENTS_MCP_DOWNLOAD_REPORT` | Download report | USE WHEN: A report has reached DONE status and the user wants the download URL. Download a completed report. |
| `CASHFREE_PAYMENTS_MCP_FETCH_PAYMENT_LINK_DETAILS` | Fetch payment link details | USE WHEN: The user wants to check the status or details of an existing payment link. Fetch all details and status of a payment link by its link_id. |
| `CASHFREE_PAYMENTS_MCP_FETCH_SIMULATION` | Fetch simulation | USE WHEN: The user wants to check the result of a simulated payment. Fetch simulated payment details by simulation_id. |
| `CASHFREE_PAYMENTS_MCP_GENERATE_RECON_REPORT` | Generate recon report | USE WHEN: The user wants to generate a settlement reconciliation report. Generate a settlement reconciliation report asynchronously. NEXT: Call get_report_status(reportId) to poll until the report is DONE, then download_report(reportId). DATE RANGE LIMIT: startDate and endDate must be supplied together and be either a custom range of 31 days or less, or exactly one full financial year — April 1 to March 31 of any financial year that has already begun (the current one may also be requested as April 1 to today). There is no limit on how far back the range starts, but a custom range must not extend into the future. Anything else is rejected with HTTP 400 — split wider custom periods into 31-day chunks. |
| `CASHFREE_PAYMENTS_MCP_GENERATE_SUMMARY_REPORT` | Generate summary report | USE WHEN: The user wants to generate a transaction summary, settlement, refund, or ledger report. Generate a summary/download report asynchronously. NEXT: Call get_report_status(reportId) to poll until the report is DONE, then download_report(reportId). DATE RANGE LIMIT: every date pair (startDate/endDate, bbpsStartDate/bbpsEndDate, subscriptionStartDate/subscriptionEndDate) must be either a custom range of 31 days or less, or exactly one full financial year — April 1 to March 31 of any financial year that has already begun (the current one may also be requested as April 1 to today). There is no limit on how far back a range starts, but a custom range must not extend into the future. Anything else is rejected with HTTP 400 — split wider custom periods into 31-day chunks. |
| `CASHFREE_PAYMENTS_MCP_GET_CONNECTION_SETUP_LINK` | Get connection setup link | USE WHEN: The merchant needs to add a new connection/credential for an app (Gmail, Slack, etc.) and none exists. Return the Relay dashboard link where the user can add a new connection. Credentials cannot be created through the AI assistant. Direct the user to the Relay dashboard where they can securely set up connections for Gmail, Slack, Google Sheets, WhatsApp, and other supported integrations. Call this whenever the user needs to add a new connection before building a workflow. Returns: A message with the direct link to the Connections page. |
| `CASHFREE_PAYMENTS_MCP_GET_CREDENTIAL` | Get credential | USE WHEN: You need to verify a specific credential's metadata or status. Fetch metadata for a specific credential by ID. Credential values are not returned for security. Use this to verify a connection exists and check its status before referencing it in a workflow. |
| `CASHFREE_PAYMENTS_MCP_GET_DATA_FETCHER_TEMPLATE` | Get data fetcher template | USE WHEN: The user picked a data fetcher template and you need its configuration detail. Get the full configuration detail for a specific data fetcher template. NEXT: Call test_data_fetcher(input_template, time_range) to validate the fetch returns expected data. Returns lookback configuration: time window units, default values, and whether the template supports a custom time range. Call test_data_fetcher() afterwards to validate the fetch returns expected data before saving the workflow. |
| `CASHFREE_PAYMENTS_MCP_GET_EXECUTION_DETAILS` | Get execution details | USE WHEN: The user wants to debug a specific workflow execution — see per-node inputs, outputs, and errors. Get per-node input, output, and status for a specific execution run. Use this to debug a failed execution — it shows exactly what each node received and returned. |
| `CASHFREE_PAYMENTS_MCP_GET_INSTANT_SETTLEMENT_RATES` | Get instant settlement rates | USE WHEN: The user asks about the charge rate for instant/on-demand settlements. Get instant/on-demand settlement charge rates. |
| `CASHFREE_PAYMENTS_MCP_GET_MERCHANT_FREE_TRIAL_CREDITS` | Get merchant free trial credits | USE WHEN: The user asks about free trial credits for on-demand settlements. Get merchant free trial credits for on-demand settlements. |
| `CASHFREE_PAYMENTS_MCP_GET_NEXT_SETTLEMENT_DATE` | Get next settlement date | USE WHEN: The user asks when the next settlement will happen or about settlement schedule. Get the merchant's next settlement date and holiday information. |
| `CASHFREE_PAYMENTS_MCP_GET_NODE_ACTION_SCHEMA` | Get node action schema | USE WHEN: The user has chosen an action and you need the full input field schema to configure it. Get the required fields and input structure for a specific node action. NEXT: For fields with dynamic/dropdown options, call get_node_field_options(). Then use values in build_and_save_workflow() or update_workflow(). Call this after list_node_actions() once the user has chosen an action. The schema is required before configuring the node in the workflow DSL or calling test_action_node(). |
| `CASHFREE_PAYMENTS_MCP_GET_NODE_FIELD_OPTIONS` | Get node field options | USE WHEN: You need to populate dropdown or dynamic field values for a node action (e.g., Slack channels, Gmail labels, spreadsheet names). Get the selectable options for a node field — either fetched live from an external API (dynamic) or from a fixed list (dropdown). NEXT: Use the resolved options to populate the corresponding field in the workflow DSL. Use this when configuring a workflow node and you need to populate a field's available choices (for example, listing Slack channels, Gmail labels, or Google Sheet names). Determine option_type from the field's type in get_node_action_schema() output: DYNAMIC field → "dynamic", DROPDOWN field → "dropdown". Mixing them causes a 400. For chained fields (e.g. sheetId depends on spreadsheetId), populate input_data.input with the already-selected upstream values before calling this tool. |
| `CASHFREE_PAYMENTS_MCP_GET_ON_DEMAND_CHARGES` | Get on demand charges | USE WHEN: The user wants to preview charges/fees for an on-demand settlement withdrawal. Calculate exact charges for a specific on-demand withdrawal amount. |
| `CASHFREE_PAYMENTS_MCP_GET_ON_DEMAND_DAILY_LIMIT` | Get on demand daily limit | USE WHEN: The user asks about on-demand settlement withdrawal limits. Get on-demand settlement maximum daily limit. NEXT: Call get_on_demand_eligible_funds() to see the actual withdrawable amount. |
| `CASHFREE_PAYMENTS_MCP_GET_ON_DEMAND_ELIGIBLE_FUNDS` | Get on demand eligible funds | USE WHEN: The user wants to know how much money can be withdrawn via on-demand settlement. Get eligible funds for on-demand settlement withdrawal. NEXT: Call get_on_demand_charges(requestedAmount, freeTrialRequest=false) to preview fees before withdrawal. |
| `CASHFREE_PAYMENTS_MCP_GET_ON_DEMAND_SETTLEMENT_ACTIVATION_STATUS` | Get on demand settlement activation status | USE WHEN: The user asks if on-demand/instant settlements are available or activated. Get on-demand settlement activation status. NEXT: If activated, call get_on_demand_eligible_funds() to check available balance. |
| `CASHFREE_PAYMENTS_MCP_GET_ORDER` | Get order | USE WHEN: The user wants to check the status of an order or retrieve its payment session details. Fetch order details using the order_id. NEXT: Call get_payments_for_an_order(order_id) to see all payment attempts against this order. |
| `CASHFREE_PAYMENTS_MCP_GET_ORDER_EXTENDED` | Get order extended | USE WHEN: The user needs extended order information including address, cart items, offers, and customer details. Fetch extended order data using the Cashfree order_id. |
| `CASHFREE_PAYMENTS_MCP_GET_ORDERS_FOR_A_PAYMENT_LINK` | Get orders for a payment link | USE WHEN: The user wants to see all orders created against a specific payment link. View all order details for a payment link. NEXT: Call get_order(order_id) or get_payments_for_an_order(order_id) for specific order details. |
| `CASHFREE_PAYMENTS_MCP_GET_PAYMENT_BY_ID` | Get payment by | USE WHEN: The user wants to view details of a specific payment attempt on an order. Get payment details by order_id and cf_payment_id. NEXT: To refund this payment, call create_refund(order_id, body={refund_amount, refund_id}). |
| `CASHFREE_PAYMENTS_MCP_GET_PAYMENT_MODES` | Get payment modes | USE WHEN: The user wants to filter transactions by payment method but you need the numeric code. Also useful to show what payment methods are available. Retrieve the merchant's available payment method codes. NEXT: Use the returned code in search_transactions(paymentCode=) to filter by payment method. Returns: Mapping of payment method display names to numeric codes |
| `CASHFREE_PAYMENTS_MCP_GET_PAYMENTS_FOR_AN_ORDER` | Get payments for an order | USE WHEN: The user wants to see all payment attempts made against a specific order. View all payment details for an order. NEXT: Call get_payment_by_id(order_id, cf_payment_id) to view details of a specific payment. |
| `CASHFREE_PAYMENTS_MCP_GET_REFUND` | Get refund | USE WHEN: The user wants to check the status of a specific refund. Fetch a specific refund by order_id and refund_id. |
| `CASHFREE_PAYMENTS_MCP_GET_REPORT_STATUS` | Get report status | USE WHEN: You need to check if a report is ready for download. Poll this after generate_recon_report or generate_summary_report. Get report status and details (polling endpoint). NEXT: If status is DONE, call download_report(reportId). If REQUESTED or IN_PROGRESS, poll again. |
| `CASHFREE_PAYMENTS_MCP_GET_SETTLEMENT_RECON_ROUTES` | Get settlement recon routes | USE WHEN: The user wants to generate a Flowwise Recon report and you need the gateway route names. Get settlement recon gateway routes. NEXT: Use route names in generate_recon_report(reportType='flow_wise_recon_report', pg=). Returns: Array of gateway route objects |
| `CASHFREE_PAYMENTS_MCP_GET_STANDARD_SETTLEMENT_DETAILS` | Get standard settlement details | USE WHEN: The user wants to track where settlement money is in the banking pipeline. Get real-time transfer timeline for specific settlements. |
| `CASHFREE_PAYMENTS_MCP_GET_TOOL_GUIDE` | Get tool guide | USE WHEN: You are about to perform a multi-step task and need to know which tools to call and in what order. CALL THIS FIRST before starting any complex task. Returns the recommended tool chain for a user's intent. Describe the user's goal in natural language. Examples: - "search for failed transactions in the last 7 days" - "generate a settlement reconciliation report" - "create a payment order for 500 INR" - "check the status of a refund" - "verify a PAN number" NEXT: Follow the returned step-by-step tool chain to complete the task. |
| `CASHFREE_PAYMENTS_MCP_GET_TRANSACTION_DETAILS` | Get transaction details | USE WHEN: The user wants to see the full details of a specific transaction including timeline, settlement, and gateway response. View the complete lifecycle of a single transaction. Returns timeline events, order details, customer details, settlement info, gateway response, and optionally EMI and OCC charge breakdowns. |
| `CASHFREE_PAYMENTS_MCP_GET_TRIGGER_EVENT` | Get trigger event | USE WHEN: The user has picked a trigger event and you need its configurable fields and conditions. Get full detail for a specific trigger event. NEXT: Call get_trigger_sample_payload(event_id) to get the sample payload for testing and field injection. Returns configurable fields, condition attributes, and the data shape the trigger produces. Call this after the user picks an event from list_trigger_events() to understand what conditions can be set. |
| `CASHFREE_PAYMENTS_MCP_GET_TRIGGER_SAMPLE_PAYLOAD` | Get trigger sample payload | USE WHEN: You need the sample payload for a trigger event — used for test execution and to show injectable fields. Get a sample payload for a trigger event. NEXT: Save this payload — use as input_data for test_and_register_workflow() and to show available ${node_id.output.} variables. Save the result for two purposes: (a) as input_data for test_and_register_workflow() to simulate a real trigger. (b) to show the user which fields can be injected into action node inputs via ${node_id.output.} syntax. |
| `CASHFREE_PAYMENTS_MCP_GET_UNSETTLED_AMOUNT` | Get unsettled amount | USE WHEN: The user asks about unsettled balance, money held by Cashfree, or pending settlements. Get the total unsettled amount held by Cashfree. NEXT: Call get_on_demand_eligible_funds() to check how much can be withdrawn immediately, or search_standard_settlements() for history. |
| `CASHFREE_PAYMENTS_MCP_GET_VENDOR_SETTLEMENT_DETAILS` | Get vendor settlement details | USE WHEN: The user wants to track where vendor settlement money is in the banking pipeline. Get real-time transfer timeline for specific vendor (Easy Split) settlements. |
| `CASHFREE_PAYMENTS_MCP_GET_WORKFLOW` | Get workflow | USE WHEN: You need to view or edit a specific workflow's details and DSL. Fetch a single workflow by ID. NEXT: To edit, call update_workflow(). To pause/resume, call toggle_workflow_status(). |
| `CASHFREE_PAYMENTS_MCP_GET_WORKFLOW_TEMPLATE` | Get workflow template | USE WHEN: The user picked a template from search_workflow_templates results and you need the full DSL. Retrieve the full workflow definition for a template by its ID. NEXT: Call create_workflow(display_name) to create a new workflow. Use the template DSL as structural reference — substitute real values from list_credentials(), list_trigger_events(), etc. |
| `CASHFREE_PAYMENTS_MCP_LIST_CATALOG_NODES` | List catalog nodes | USE WHEN: The user hasn't specified which app/integration to use and you need to show available options. List all available integrations in the node catalog. NEXT: Call list_node_actions(node_name) for the chosen node, and list_credentials(node_name=) to check connections. Returns the full catalog of nodes — name, version, auth type, description, and supported actions summary. Use this to discover what integrations are available before building a workflow. Once you know the node name, call list_node_actions() for action details and use the auth type to know what get_connection_setup_link() needs. Returns: Full node catalog with metadata for all available nodes. |
| `CASHFREE_PAYMENTS_MCP_LIST_CREDENTIALS` | List credentials | USE WHEN: You need to check if a connection/credential exists for an app before building a workflow. List all credentials (connections) for the merchant. NEXT: If no suitable credential exists, call get_connection_setup_link() to direct the user to add one. Credentials represent connections to external apps (Gmail, Slack, Google Sheets, etc.). Call this before building a workflow to check whether a required connection already exists. If none exists, call get_connection_setup_link() to direct the user to add one. |
| `CASHFREE_PAYMENTS_MCP_LIST_DATA_FETCHER_TEMPLATES` | List data fetcher templates | USE WHEN: Building a schedule-based workflow and you need to show available data source options. List all available data fetcher templates for schedule-based workflows. NEXT: Call get_data_fetcher_template(template_id) to get the full detail for the user's chosen template. The DataFetcher node is automatically inserted after a schedule-based trigger. It pulls data (e.g. failed transactions, settlement reports) at the scheduled interval and passes it downstream to action nodes. Call this first to show options, ask the user which template to use, then call get_data_fetcher_template(template_id) to get the full detail and lookback config. Returns: List of all available templates (e.g. "Failed Transactions", "Settlement Report"). |
| `CASHFREE_PAYMENTS_MCP_LIST_NODE_ACTIONS` | List node actions | USE WHEN: You know which integration node to use and need to discover its available actions. List all actions available for a catalog node. NEXT: Call get_node_action_schema(node_name, action_name) to get the full input schema for the chosen action. Call this first to discover what a node supports (e.g. "send_message", "create_row"). Then call get_node_action_schema() with the chosen action to get its full input schema. |
| `CASHFREE_PAYMENTS_MCP_LIST_RECENT_EXECUTIONS` | List recent executions | USE WHEN: The user wants to see recent workflow runs across all workflows. List recent executions across all workflows. NEXT: Call get_execution_details(execution_id) to debug a specific run. |
| `CASHFREE_PAYMENTS_MCP_LIST_REPORTS` | List reports | USE WHEN: The user wants to see previously generated reports or check if a report exists. List all previously generated reports for this merchant. NEXT: Call download_report(reportId) to get the download URL for a completed report. DATE RANGE LIMIT: startDate and endDate must be supplied together, span 31 days or less, fall within the last 2 years, and not extend into the future. Wider requests are rejected with HTTP 400 — split them into 31-day chunks. Unlike the generate_* tools, there is no financial-year option here. |
| `CASHFREE_PAYMENTS_MCP_LIST_TRIGGER_EVENTS` | List trigger events | USE WHEN: You need to show the user what trigger events are available at the start of workflow creation. List all trigger categories and their events. NEXT: Present events by display_name. After user picks one, call get_trigger_event(event_id) and get_trigger_sample_payload(event_id). Returns all available trigger events grouped by category (Payment, Refund, Dispute, Schedule). Call this first to discover available triggers, then present events by display_name and ask the user to pick one. Use the event_id of their choice for get_trigger_event() and get_trigger_sample_payload(). Never ask the user to supply an event_id directly. Returns: Trigger categories with their events. |
| `CASHFREE_PAYMENTS_MCP_LIST_WORKFLOW_EXECUTIONS` | List workflow executions | USE WHEN: The user wants to see execution history for a specific workflow. List execution history for a specific workflow. NEXT: Call get_execution_details(execution_id) to see per-node details for a specific run. |
| `CASHFREE_PAYMENTS_MCP_LIST_WORKFLOWS` | List workflows | USE WHEN: The user wants to see all their workflows or find a specific workflow by status. List all workflows for the merchant with optional status filter and pagination. NEXT: Call get_workflow(workflow_id) to view a specific workflow's full details. |
| `CASHFREE_PAYMENTS_MCP_LIST_WORKFLOW_VERSIONS` | List workflow versions | USE WHEN: The user wants to see the version history of a workflow. List all versions of a workflow with pagination. NEXT: Call get_workflow(workflow_id, version=) to view a specific version. |
| `CASHFREE_PAYMENTS_MCP_SEARCH_ON_DEMAND_SETTLEMENTS` | Search on demand settlements | USE WHEN: The user wants to search past on-demand/instant withdrawal settlements. Search on-demand (instant withdrawal) settlements. DATE RANGE LIMIT: startDate and endDate must be supplied together, span 31 days or less, fall within the last 2 years, and not extend into the future. Wider requests are rejected with HTTP 400 — split them into 31-day chunks. |
| `CASHFREE_PAYMENTS_MCP_SEARCH_ORDERS` | Search orders | Search for orders with filters OR fetch a specific order by ID |
| `CASHFREE_PAYMENTS_MCP_SEARCH_PRODUCT_DOCS` | Search product docs | USE WHEN: The user asks about Cashfree Payments Developer Documentation product features, API usage, integration guides, or how something works. Searches Cashfree Payments Developer Documentation product documentation and returns matching help articles with titles, content, and links. NEXT: Use the returned content to answer the user's question directly. |
| `CASHFREE_PAYMENTS_MCP_SEARCH_STANDARD_SETTLEMENTS` | Search standard settlements | USE WHEN: The user wants to search settlement history, check settlement status, or find a specific settlement by UTR. Search standard (scheduled) settlements with filtering and pagination. NEXT: Call get_standard_settlement_details(settlementIds=) to track a specific settlement through the banking pipeline. DATE RANGE LIMIT: startDate and endDate must be supplied together, span 31 days or less, fall within the last 2 years, and not extend into the future. Wider requests are rejected with HTTP 400 — split them into 31-day chunks. |
| `CASHFREE_PAYMENTS_MCP_SEARCH_TRANSACTIONS` | Search transactions | USE WHEN: The user wants to find, search, filter, or list payment transactions. Search for payment transactions matching the given filters. This is the primary discovery endpoint. NEXT: Call get_transaction_details(txId=, txTime=) to view a specific transaction's full lifecycle. DATE RANGE LIMIT: startDate and endDate must be supplied together, span 31 days or less, fall within the last 2 years, and not extend into the future. Wider requests are rejected with HTTP 400 — split them into 31-day chunks. |
| `CASHFREE_PAYMENTS_MCP_SEARCH_VENDOR_SETTLEMENTS` | Search vendor settlements | USE WHEN: The user wants to search vendor split (Easy Split) settlement payouts. Search vendor split settlement payouts (Easy Split only). NEXT: Call get_vendor_settlement_details(settlementIds=) to track vendor payouts. DATE RANGE LIMIT: startDate and endDate must be supplied together, span 31 days or less, fall within the last 2 years, and not extend into the future. Wider requests are rejected with HTTP 400 — split them into 31-day chunks. |
| `CASHFREE_PAYMENTS_MCP_SEARCH_WORKFLOW_TEMPLATES` | Search workflow templates | USE WHEN: The user wants to find a pre-built workflow template. Also call at the start of any workflow creation task. Search pre-built workflow templates using a natural language description. Describe what the workflow should do — mention the trigger event and the action node. NEXT: Call get_workflow_template(template_id) to retrieve the full DSL for the template the user picks. Examples: - "payment success gmail email" - "send slack when payment fails" - "daily schedule google sheets log" |
| `CASHFREE_PAYMENTS_MCP_SIMULATE_PAYMENT` | Simulate payment | USE WHEN: The user wants to test/simulate a payment in sandbox mode. Simulate a payment for testing. Create an order first using create_order. NEXT: Call fetch_simulation(simulation_id) to check the simulation result. |
| `CASHFREE_PAYMENTS_MCP_TEST_ACTION_NODE` | Test action node | USE WHEN: You want to validate an action node's connection and field values before saving the workflow. Test a specific action node in isolation with provided auth and input. Call this immediately after configuring each new node in a workflow to validate the connection and field values before saving. Use list_catalog_nodes() to understand what auth type the node requires, and get_node_action_schema(node_name, action_name) to get the full input schema before populating input_data. |
| `CASHFREE_PAYMENTS_MCP_TEST_AND_REGISTER_WORKFLOW` | Test and register workflow | USE WHEN: A workflow DSL has been saved via update_workflow() or build_and_save_workflow() and needs testing before activation. Run a test execution of the current draft and record the outcome before activation. NEXT: Call activate_workflow(workflow_id) to promote the tested draft to live. Always call this after update_workflow() and before activate_workflow(). Use the sample payload from get_trigger_sample_payload(event_id=...) as input_data to simulate a real trigger event. |
| `CASHFREE_PAYMENTS_MCP_TEST_DATA_FETCHER` | Test data fetcher | USE WHEN: You want to validate what data a data fetcher template would return before saving the workflow. Run a test fetch to validate what data a template would return at runtime. NEXT: Proceed to update_workflow() or build_and_save_workflow() to save the workflow. Call this after configuring a DataFetcher node (selecting a template and time range) to validate that the data source returns expected results before saving the workflow. The response becomes sample data available to downstream action nodes via the DataSelector (e.g. {{dataFetcher.transactions}}). |
| `CASHFREE_PAYMENTS_MCP_TOGGLE_WORKFLOW_STATUS` | Toggle workflow status | USE WHEN: The user wants to pause a running workflow or resume a paused one. Toggle a workflow between PAUSED and ACTIVE states. Calling this on an ACTIVE workflow pauses it. Calling it on a PAUSED workflow resumes it. The workflow must have been activated at least once (via activate_workflow()) before this toggle is available. |
| `CASHFREE_PAYMENTS_MCP_UPDATE_WORKFLOW` | Update workflow | USE WHEN: You have a complete workflow DSL and need to save it to the draft. Prefer build_and_save_workflow() for simpler construction. Save the workflow node/edge graph to the current draft version. NEXT: Call test_and_register_workflow(workflow_id) to test the saved draft before activation. The full typed schema is exposed by FastMCP. Key rules: - TriggerNode.data.id = event_id from list_trigger_events() (e.g. "event_payment_success_001") - ActionNode.data.id = "{nodeName}-{actionName}" (e.g. "gmail-send_email") - ActionNode.data.parameters must include all action fields + connection (int credential ID from list_credentials()) + _meta block. - ActionNode.executionInfo.config must mirror data.parameters WITHOUT the _meta block. - ActionNode.executionInfo.auth.connectionId = same int credential ID (null for auth-free). - EndNode is always the last node; both node.id and data.id are "end". - Variable injection in any string field: ${nodeId.output.} Path mirrors keys inside input_data from get_trigger_sample_payload(). - Always call search_workflow_templates() first — use any matching template as a structural reference and substitute real values from list_credentials(). |

## Supported Triggers

None listed.

## Creating MCP Server - Stand-alone vs Composio SDK

The Cashfree Payments MCP server provides comprehensive access to Cashfree Payments operations through Composio. Once connected, Hermes can perform all major Cashfree Payments actions on your behalf using natural language commands.

## Complete Code

None listed.

## Conclusion

### Way Forward
With Cashfree Payments connected, Hermes can now act on your behalf whenever it detects a relevant task or you ask it to.
From here, you can extend Hermes further:
- Connect more apps: Calendar, Slack, Notion, Linear, and hundreds of others are available through the same Composio Connect setup. Each new integration compounds what Hermes can do for you.
- Build workflows across tools: Once multiple apps are connected, Hermes can chain actions together — turn an email into a calendar invite, a Slack message into a Linear ticket, or a meeting note into a follow-up draft.
- Let it learn your patterns: The more you use Hermes, the better it gets at anticipating how you'd handle recurring tasks. Give it feedback on drafts and decisions, and it will adapt.
If you run into trouble or want to share what you've built, join the [community](https://discord.com/invite/composio) or check out the [Docs](https://docs.composio.dev?utm_source=toolkits&utm_medium=framework_template&utm_campaign=hermes&utm_content=docs) for deeper configuration options.

## How to build Cashfree Payments MCP Agent with another framework

- [ChatGPT Work](https://composio.dev/toolkits/cashfree_payments_mcp/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/cashfree_payments_mcp/framework/claude-cowork)

## Related Toolkits

- [Stripe](https://composio.dev/toolkits/stripe) - Stripe is a global online payments platform offering APIs for managing payments, customers, and subscriptions. Trusted by businesses for secure, efficient, and scalable payment processing worldwide.
- [44API](https://composio.dev/toolkits/44api) - 44API is an API service for validating VAT and tax identifiers and returning company details. Use it to verify business tax data and manage account IP whitelists quickly.
- [Aiwyn Tax MCP](https://composio.dev/toolkits/aiwyn_tax_mcp) - Aiwyn Tax MCP is a tax estimation service powered by Aiwyn's federal and state tax engine. It helps teams estimate tax outcomes without building tax calculation logic from scratch.
- [Alpaca](https://composio.dev/toolkits/alpaca) - Alpaca is a stock and crypto trading platform for commission-free trading, real-time market data, and algorithmic strategies. Use it to build brokerage apps, trading bots, and portfolio workflows with market connectivity.
- [Alpha vantage](https://composio.dev/toolkits/alpha_vantage) - Alpha Vantage is a financial data platform offering real-time and historical stock market APIs. Get instant, reliable access to equities, forex, and technical analysis data for smarter trading decisions.
- [Altoviz](https://composio.dev/toolkits/altoviz) - Altoviz is a cloud-based billing and invoicing platform for businesses. It streamlines online payments, expense tracking, and customizable invoice management.
- [Benzinga](https://composio.dev/toolkits/benzinga) - Benzinga provides real-time financial news and data APIs for market coverage. It helps you track breaking news and actionable market insights instantly.
- [Billsby](https://composio.dev/toolkits/billsby) - Billsby is a subscription billing platform for managing customers, subscriptions, invoices, products, plans, usage counters, add-ons, and allowances. It helps SaaS and subscription teams automate billing operations without building complex billing logic from scratch.
- [Brex](https://composio.dev/toolkits/brex) - Brex provides corporate credit cards and spend management tailored for startups and tech businesses. It helps optimize company cash flow, streamline accounting, and accelerate business growth.
- [Chaser](https://composio.dev/toolkits/chaser) - Chaser is accounts receivable automation software that sends invoice reminders and helps businesses get paid faster. It streamlines the collections process to save time and improve cash flow.
- [Clarity AI MCP](https://composio.dev/toolkits/clarity_ai_mcp) - Clarity AI MCP is an MCP toolkit for simulating SFDR 2.0 fund classifications from a fund name, ISIN, or CUSIP. Use it to tap Clarity AI disclosure data and modeling without building custom sustainability-data workflows.
- [Clientary](https://composio.dev/toolkits/clientary) - Clientary is a platform for managing clients, invoices, projects, proposals, and more. It streamlines client work and saves you serious admin time.
- [Coinbase](https://composio.dev/toolkits/coinbase) - Coinbase is a platform for buying, selling, and storing cryptocurrency. It makes exchanging and managing crypto simple and secure for everyone.
- [Coinranking](https://composio.dev/toolkits/coinranking) - Coinranking is a comprehensive cryptocurrency market data platform offering access to real-time coin prices, market caps, and historical data. Get accurate, up-to-date stats for thousands of digital assets in one place.
- [Coupa](https://composio.dev/toolkits/coupa) - Coupa is a business spend management platform for procurement, invoicing, and expenses. It helps organizations streamline purchasing, control costs, and gain complete visibility over financial operations.
- [CurrencyScoop](https://composio.dev/toolkits/currencyscoop) - CurrencyScoop is a developer-friendly API for real-time and historical currency exchange rates. Easily access fiat and crypto data for smart, up-to-date financial applications.
- [Daffy](https://composio.dev/toolkits/daffy) - Daffy is a modern charitable giving platform with a donor-advised fund. Easily set aside funds, grow them tax-free, and donate to over 1.7 million U.S. charities.
- [Debitura](https://composio.dev/toolkits/debitura) - Debitura is a debt collection platform for managing creditor cases, payments, tasks, coverage, divisions, and webhooks. It helps teams organize collection operations and track debtor activity through a Customer API.
- [Didit](https://composio.dev/toolkits/didit) - Didit is an identity verification and compliance API platform for KYC, KYB, AML, and fraud prevention. It helps teams onboard users faster while reducing risk and meeting compliance needs.
- [Donately](https://composio.dev/toolkits/donately) - Donately is a fundraising platform for campaigns, donations, recurring giving, donors, forms, fundraisers, and webhooks. It helps nonprofits and fundraising teams manage online giving workflows in one place.

## Frequently Asked Questions

### What are the differences in Tool Router MCP and Cashfree Payments MCP?

With a standalone Cashfree Payments MCP server, the agents and LLMs can only access a fixed set of Cashfree Payments tools tied to that server. However, with the Composio Tool Router, agents can dynamically load tools from Cashfree Payments and many other apps based on the task at hand, all through a single MCP endpoint.

### Can I use Tool Router MCP with Hermes?

Yes, you can. Hermes fully supports MCP integration. You get structured tool calling, message history handling, and model orchestration while Tool Router takes care of discovering and serving the right Cashfree Payments tools.

### Can I manage the permissions and scopes for Cashfree Payments while using Tool Router?

Yes, absolutely. You can configure which Cashfree Payments scopes and actions are allowed when connecting your account to Composio. You can also bring your own OAuth credentials or API configuration so you keep full control over what the agent can do.

### How safe is my data with Composio Tool Router?

All sensitive data such as tokens, keys, and configuration is fully encrypted at rest and in transit. Composio is SOC 2 Type 2 compliant and follows strict security practices so your Cashfree Payments data and credentials are handled as safely as possible.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
