Indian bank branch IFSC code lookup via Razorpay's open IFSC API. Resolves 11-character IFSC codes to bank/branch details including address, city, district, state, MICR, SWIFT, contact, and payment rail support flags (NEFT/RTGS/UPI/IMPS). Keyless access.
Single tool with strong naming (verb_noun: ifsc_lookup), comprehensive description (380 chars, within 10-1024 baseline), and complete input schema with type and description. Output schema is well-documented in code comments and response structure. Error handling is actionable (format validation, 404 guidance, HTTP error escalation). Main gaps: no output schema formally declared in tool definition; no parameter constraints (min/max length); no tool annotations (readOnlyHint); response includes many nullable fields that could be stripped for clarity.
Indian bank branch lookup by IFSC code. Resolves an 11-character IFSC code (printed on Indian cheques and bank statements) to the bank name, branch, address, city, district, state, MICR code, SWIFT code, and contact number, plus whether the branch supports the NEFT, RTGS, UPI, and IMPS payment rails. India banking / fund-transfer routing data via the open Razorpay IFSC dataset (keyless). Also returns an offline format_valid check of the code structure. NOTE: this validates and resolves the IFSC code itself — it does NOT verify a bank account or account holder. Examples: ifsc_lookup({ ifsc: "HDFC0CAGSBK" }), ifsc_lookup({ ifsc: "sbin0000691" }) (case and spaces are forgiven).
Output schema not formally declared in tool definition. LLMs cannot plan downstream operations or validate response structure. Code comments document the response, but tool definition lacks outputSchema field.
Input parameter 'ifsc' lacks format constraint in schema. Description mentions '11 characters' and regex pattern, but JSON Schema lacks minLength, maxLength, or pattern field. LLMs cannot validate before calling.
Response includes many nullable fields (MICR, SWIFT, CONTACT, ISO3166, UPI, RTGS, NEFT, IMPS as null). Per mxe:strip-api-responses, omit fields that are null or irrelevant to chat context, or document why they are included.
No tool annotations (readOnlyHint, idempotentHint). This is a read-only, idempotent lookup, annotating it enables agents to optimize retry logic and understand safety guarantees.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 64 | 2026-07-28+ | v2 |
Transport mechanism unknown. Package.json lists no dependencies (only TypeScript dev dep). No evidence of HTTP server, SSE, or STDIO transport implementation. Cannot assess protocol readiness without knowing how the tool is exposed.