Nityaflow
Server Details
Build WhatsApp, Sheets and Gmail automations for Indian businesses; check GST credit.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool targets a clearly distinct task: payment mandate checking, GST invoice matching, workflow guide retrieval, workflow draft creation, and receipt verification. The two workflow tools are separated by reference versus creation, and the receipt-related tools are separated by generation versus verification. There is no meaningful overlap that would cause misselection.
All names use snake_case, but the verb convention is mixed: create_workflow_draft, get_workflow_guide, and verify_receipt start with an action verb, while agent_payment_check and gst_credit_match start with a domain noun. The names remain readable, but the pattern is not predictable.
Five tools is within a reasonable range and each has a distinct purpose, so none feel redundant. However, the server spans payments, workflows, GST, and receipts, so the count is slightly thin for the apparent breadth of the platform.
Core checks and draft creation are present, but the workflow surface lacks lifecycle operations such as retrieving, updating, activating, or listing drafts. The payment and GST tools are intentionally check-only, but receipts can only be verified, not listed or managed, leaving notable gaps for an agent trying to complete end-to-end tasks.
Available Tools
5 toolsagent_payment_checkCheck an AI agent's payment against the mandate and the instructionARead-onlyIdempotentInspect
Before an AI agent pays, checks the proposed payment against the person's mandate (who allowed it, limits per payment and per period, allowed shops and UPI IDs, end date) and against what the person actually asked for (items, quantities, budget, shop). It works the total out again from the cart lines, and flags lookalike payees, extra items, too much quantity, going over a limit and repeat payments. Returns every check and a receipt signed by Nityaflow. It never pays, holds or moves money: a licensed bank or payment app does that, only after a person approves.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | The payment the agent proposes: {merchant, vpa, lines: [{name, qty, unit, price}], fees, total}. | |
| intent | Yes | What the person asked for: {text, items: [{name, qty, unit}], budget, merchant}. Units: kg, g, l, ml, pc, pack, dozen. | |
| history | No | Earlier payments under this mandate: [{at, total, vpa, status: paid}]. Used for the period limit and repeat check. | |
| mandate | Yes | The permission: {authorised_by, purpose, per_payment, per_period, period (day, week, month or 90 days), merchants: [{name, vpa, category}], approve_above, valid_from, valid_to}. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: discloses that it recomputes the total from cart lines, lists the specific fraud/overspend checks, states the return payload (all checks plus a signed receipt), and asserts it never pays, holds or moves money. The 'never pays' claim is consistent with readOnlyHint=true and idempotentHint=true, and the human-approval step adds important operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the trigger and the check list, followed by the return value and the safety boundary. No filler; the 'it never pays' sentence is essential rather than redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description compensates by naming what comes back (every check plus a signed receipt). Combined with the fully documented four-parameter schema and the read-only annotations, an agent has everything needed to call this correctly and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with nested objects fully documented, so the schema carries the parameter burden. The description reinforces what the mandate contains (limits, allowed shops/UPI IDs, end date) and what intent contains (items, quantities, budget, shop), but adds no format or validation detail the schema doesn't already have. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a precise verb and resource: checks a proposed agent payment against the mandate and the user's instruction, and explicitly separates itself from anything that moves money. The enumerated check categories (lookalike payees, extra items, quantity, limits, repeats) make the scope unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Opens with the trigger condition, 'Before an AI agent pays,' which tells the agent exactly when to call it, and clarifies that a licensed payment app performs the actual payment. It doesn't name an alternative tool or exclusion, but the sibling tools are unrelated domains so no routing ambiguity exists.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_workflow_draftTurn a design into a Nityaflow workflow linkAInspect
Checks a Nityaflow workflow design and keeps it for 14 days behind a link. Opening the link shows the workflow in the Nityaflow editor with every step filled in and a safe test run; nothing runs or sends until the person reviews it and switches it on. Returns the link and the list of accounts the person still has to connect. Designs that contain passwords, API keys or tokens are refused.
| Name | Required | Description | Default |
|---|---|---|---|
| workflow | Yes | A workflow design in the JSON shape from the design guide: {name, summary, nodes: [{ref, type, name, params}], edges: [{from, out, to}], limits, todo}. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the safety flags (readOnlyHint=false, destructiveHint=false, idempotentHint=false); the description adds substantive behavior the agent could not infer: a 14-day retention window, that nothing executes until the recipient switches it on, that the response includes the link plus unconnected accounts, and that secret-bearing designs are rejected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences with no filler, front-loaded with the action and retention, then the recipient experience, then the return value and the rejection rule.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a nested-object input, the description covers the lifecycle, the safety model, the return payload, and the failure condition — everything an agent needs to call it and set expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single nested 'workflow' parameter is 100% documented in the schema, including the full shape reference, so the baseline is 3. The description adds no syntax or format detail beyond it, only characterizing the input as a 'design' that gets checked.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Checks a Nityaflow workflow design and keeps it for 14 days behind a link') and clarifies the deliverable is a shareable link, not an executed workflow. It is clearly distinct from the unrelated siblings, though it never mentions get_workflow_guide, the one sibling an agent might confuse it with when hunting for design guidance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is clear: this is what you do with a completed workflow design to hand someone a reviewable link. It also supplies a hard exclusion ('designs that contain passwords, API keys or tokens are refused'), though it names no alternative tool or explicit when-not-to-use branch.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workflow_guideHow to design a Nityaflow workflowARead-onlyIdempotentInspect
Returns Nityaflow's workflow design guide: the JSON shape of a workflow, the design rules, and every step type with its settings (schedules, webhooks, WhatsApp, Google Sheets, Gmail, databases, HTTP requests, code, AI replies, checks, approvals, receipts, GST credit matching and client document chasing). For automations, workflows, bots and reminders for businesses, clinics and CA firms, especially in India.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and openWorldHint=false, so the safety profile is covered. The description usefully discloses that the payload is a static guide covering schema shape, rules and step-type settings, but adds nothing on size, structure or how to apply the returned guide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core statement, which is good, but the second sentence piles an eighteen-item parenthetical list of step types into one run-on clause. The enumeration carries some informational value yet is heavier than needed for tool selection.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must convey what comes back, and it does: the workflow JSON shape, design rules and the full step-type catalogue with settings. An agent knows what it will receive, though the guide's format/verbosity is unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so there is nothing for the description to disambiguate; the baseline for a no-arg tool applies. The text correctly implies a single static response rather than a parameterized query.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Returns Nityaflow's workflow design guide,' then enumerates the guide's contents (JSON shape, design rules, step types). An agent can tell this is a documentation-retrieval tool, distinct from action siblings like create_workflow_draft or verify_receipt, though it never names the boundary explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The trailing sentence ('For automations, workflows, bots and reminders for businesses, clinics and CA firms, especially in India') describes the audience/domain but not the call condition. It never says to read this before calling create_workflow_draft, nor any when-not-to-use case, leaving the sequencing with the sibling tools to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gst_credit_matchMatch GSTR-2B with the purchase registerARead-onlyIdempotentInspect
India GST input tax credit check. Matches the supplier invoices in GSTR-2B against the purchase register from the books (Tally, Zoho Books, Busy, QuickBooks or any list) and sorts every invoice into: matched, amount mismatch, entered twice (duplicate bills), possible match (invoice number or GSTIN written differently), in books but not in GSTR-2B (credit at risk), in GSTR-2B but not in books. A separate checker re-derives the totals, and the result comes with a receipt signed by Nityaflow. Invoices are processed in memory and not stored. It never files or accepts anything on the GST portal.
| Name | Required | Description | Default |
|---|---|---|---|
| books | Yes | Purchase register from the books: a list of invoices like {gstin, invoice, date, name, taxable, igst, cgst, sgst, cess, value}. Use the supplier's bill number, not the voucher number. | |
| client | No | Client or business name, for the receipt. | |
| gstr2b | Yes | GSTR-2B: either the JSON file downloaded from the GST portal exactly as it is, or an object whose invoices field is a list of invoices like {gstin, invoice, date, taxable, igst, cgst, sgst, cess}. | |
| period | No | Return period, for example 2026-09. | |
| tolerance | No | Allowed difference in rupees before amounts count as different. Default 1. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/closed-world; the description adds real context beyond them: the six result buckets, a separate checker that re-derives totals, a signed receipt from Nityaflow, and in-memory processing with no storage. It also rules out any write-back to the GST portal, which is the key behavioral fear for this domain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the one-line purpose followed immediately by the input sources and the result categories; almost every clause carries information. The middle sentence listing six buckets is dense but hard to trim without losing classification semantics.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description compensates by enumerating the exact outcome categories and noting the totals re-check and receipt. Combined with the privacy and no-filing statements, an agent has everything needed to call it correctly and set expectations for the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema lacks: 'books' can come from named accounting packages or any list, and the reconciliation semantics of gstr2b vs books are spelled out. It does not add anything about tolerance or period beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Matches the supplier invoices in GSTR-2B against the purchase register') and frames the domain ('India GST input tax credit check'). None of the siblings (agent_payment_check, create_workflow_draft, get_workflow_guide, verify_receipt) could be confused with it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear context for use: reconciliation of portal data against books from Tally, Zoho Books, Busy, QuickBooks or any list, plus a boundary ('never files or accepts anything on the GST portal'). It does not explicitly route the agent to or away from siblings such as verify_receipt, so no explicit alternatives are named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_receiptVerify a Nityaflow receiptARead-onlyInspect
Checks that a Nityaflow receipt was not changed and was signed by Nityaflow.
| Name | Required | Description | Default |
|---|---|---|---|
| receipt | Yes | The receipt object, exactly as it was given. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=false, so the safety profile is covered. The description adds meaningful check semantics (tamper detection and signature verification), but it does not disclose what happens on failure, whether verification is deterministic, or what the result looks like.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler. Every clause contributes the verified properties, and nothing is repeated from the title or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The input path is adequately covered: one required nested object with full schema description coverage. However, there is no output schema, and the description never explains the result of verification (boolean, error reasons, status object) or failure behavior, which is central for a verification tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single 'receipt' parameter is already documented as 'exactly as it was given.' The description adds no parameter detail beyond that, which is appropriate given the high schema coverage, but it could clarify what fields the nested receipt object is expected to contain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Checks') and resource ('Nityaflow receipt') and names the two properties verified: integrity ('was not changed') and authenticity ('signed by Nityaflow'). It is clear what the tool does, but it does not distinguish itself from the sibling agent_payment_check, which likely overlaps in the payment-verification domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the purpose: an agent can infer it should call this when it needs to validate a Nityaflow receipt. There is no explicit when-to-use statement, no exclusions, and no comparison to agent_payment_check or the other siblings.
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 tool update
- Changed
create_workflow_draft1 field changed- changed
Input schema / properties / workflow / descriptionPrevious value: -"The JSON object described by get_workflow_guide: {name, summary, nodes: [{ref, type, name, params}], edges: [{from, out, to}], limits, todo}."New value: +"A workflow design in the JSON shape from the design guide: {name, summary, nodes: [{ref, type, name, params}], edges: [{from, out, to}], limits, todo}."
5 tool updates
- First observed
agent_payment_check - First observed
create_workflow_draft - First observed
get_workflow_guide - First observed
gst_credit_match - First observed
verify_receipt
Related MCP Connectors
Build and run agents and automations across hundreds of apps using natural language.
PDF tools + invoice extraction, bank statement parsing, GST reconciliation & GSTIN validation.
Free Indian data and AI: pincode, IFSC, GSTIN, holidays, GST invoice, OCR, translation. No key.
Read, search and reply to your WhatsApp chats from your AI, using your own number.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables India GST operations: verify GSTINs, search by PAN, track return filings, and with an OTP-based taxpayer session, access GSTR-2B/3B and cash/ITC ledgers.1310 npm2MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to manage Indian enterprise systems by providing tools for accounting (TallyPrime), invoicing (Zoho Books), and GST compliance (validation, e-invoice generation, and GSTR-2B reconciliation), with dry-run-first writes and an audit trail.Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to generate India GST e-invoices (IRN) via Sandbox GSP, computing tax splits automatically.MIT
- AlicenseNot gradedqualityAmaintenanceAutomate and manage WhatsApp groups, communities, and channels with scheduling, moderation, analytics, and more.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.